TLS: Session resumption, under the EXPERIMENTAL_TLS_RESUME build option.
[exim.git] / test / scripts / 0000-Basic / 0002
index 27bf70806fbe37ee95bfcbdf8ee65824100f11d1..c738b09556c46a99b4582b666e38dd5e7a9921ca 100644 (file)
@@ -123,8 +123,14 @@ acl: ${reduce {1:2:3:4} {} {$value ${acl {a_ret}{$item}}}}
 
 addrss: ${address:local-part@dom.ain}
 addrss: ${address:Exim Person <local-part@dom.ain> (that's me)}
 
 addrss: ${address:local-part@dom.ain}
 addrss: ${address:Exim Person <local-part@dom.ain> (that's me)}
+addrss: ${address:Exim Person <local-part(comment)@dom.ain> (that's me)}
+addrss: ${address:Exim Person <local-part@dom.ain(comment)> (that's me)}
+addrss: ${address:Exim Person <local-part(comment)@dom.ain(comment2)> (that's me)}
+addrss: ${address:Exim Person <local-part.(comment)dot-atom@dom.ain(comment2)> (that's me)}
+addrss: ${address:Exim Person <(comment)local-part@dom.ain(comment2)> (that's me)}
 domain: ${domain:local-part@dom.ain}
 domain: ${domain:Exim Person <local-part@dom.ain> (that's me)}
 domain: ${domain:local-part@dom.ain}
 domain: ${domain:Exim Person <local-part@dom.ain> (that's me)}
+domain: ${domain:Exim Person <local-part(foo)@(bar)dom.ain> (that's me)}
 
 addresses: ${addresses:>' 'abc@xyz, 'pqr@xyz}
 addresses: ${addresses:Exim Person <local-part@dom.ain> (that's me)}
 
 addresses: ${addresses:>' 'abc@xyz, 'pqr@xyz}
 addresses: ${addresses:Exim Person <local-part@dom.ain> (that's me)}
@@ -244,6 +250,7 @@ lc/uc:  ${lc:The Quick} ${uc: Brown Fox}
 length: ${length_10:The quick brown fox} ${l_10:abc}
 lclpt:  ${local_part:local-part@dom.ain}
 lclpt:  ${local_part:Exim Person <local-part@dom.ain> (that's me)}
 length: ${length_10:The quick brown fox} ${l_10:abc}
 lclpt:  ${local_part:local-part@dom.ain}
 lclpt:  ${local_part:Exim Person <local-part@dom.ain> (that's me)}
+lclpt:  ${local_part:Exim Person <local(comment).part@dom.(comment2)ain> (that's me)}
 quote:  ${quote:aZ09_.-Q} ${quote:ab*cd} ${quote:ab\cd"ef}
 quote:  ${quote:nl(\n)}
 quote:  ${quote:cr(\r)}
 quote:  ${quote:aZ09_.-Q} ${quote:ab*cd} ${quote:ab\cd"ef}
 quote:  ${quote:nl(\n)}
 quote:  ${quote:cr(\r)}
@@ -874,6 +881,47 @@ ${if ={1}{1} {true}{${if ={1}{1} {true}{${if ={1}{1}{true}fail}}}}}
 ${env {USER}}
 ${env {NO_SUCH_VARIABLE} {oops, success} {correct}}
 
 ${env {USER}}
 ${env {NO_SUCH_VARIABLE} {oops, success} {correct}}
 
+# JSON
+
+${extract json {Url} \
+  {   \{ \"Url\":    \"http://www.example.com/image/481989943\",\
+        \"Height\": 125,\
+        \"Width\":  100\
+      \} \
+  } \
+ }
+${extract json {Width} \
+  {   \{ \"Url\":    \"http://www.example.com/image/481989943\",\
+        \"Height\": 125,\
+        \"Width\":  100\
+      \} \
+  } \
+ }
+${extract json {2} {[116, 943, 234, 38793]} }
+${extract json {2} {${extract json{IDs} {\{"other":"foo", "IDs": [116, 943, 234]\} }}} }
+
+${extract json {2} {["red", "green", "blue", "black"]} }
+${extract jsons{2} {["red", "green", "blue", "black"]} }
+<${extract jsons{5} {["red", "green", "blue", "black"]} }>
+expect: <>
+
+${extract json {seconds} { \{"hours":0, "mins":0, "seconds":59\} }}
+${extract json {seconds} {${extract json {2} { ["irrelevant", \{"hours":0, "mins":0, "seconds":59\}] }}}}
+
+${extract json{IDs}{ \{"IDs": \{"1":116, "2":943, "3":234\}\} }}
+expect: {"1":116, "2":943, "3":234}
+
+${extract json{IDs}{ \{"id": \{"a":101, "b":102\}, "IDs": \{"1":116, "2":943, "3":234\}\} }}
+expect: {"1":116, "2":943, "3":234}
+
+<${extract json{nonexistent}{ \{"id": \{"a":101, "b":102\}, "IDs": \{"1":116, "2":943, "3":234\}\} }}>
+expect: <>
+<${extract jsons{nonexistent}{ \{"id": \{"a":101, "b":102\}, "IDs": \{"1":116, "2":943, "3":234\}\} }}>
+expect: <>
+
+${if forany_json {[1, 2, 3]}{={$item}{1}}{yes}{no}}
+${if forany_jsons{["A", "B", "C"]}{eq{$item}{B}}{yes}{no}}
+
 ****
 # Test "escape" with print_topbitchars
 exim -be -DPTBC=print_topbitchars
 ****
 # Test "escape" with print_topbitchars
 exim -be -DPTBC=print_topbitchars
@@ -887,6 +935,13 @@ match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
 match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
 ****
 ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
 match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
 ****
+exim -d-all+expand+noutf8 -be
+primary_hostname: $primary_hostname
+match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+****
 # Sender host name and address etc, all unset
 exim -be
 -be Sender host name and address etc, all unset
 # Sender host name and address etc, all unset
 exim -be
 -be Sender host name and address etc, all unset