X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=blobdiff_plain;f=test%2Fscripts%2F0000-Basic%2F0002;h=db8d709811c1b4ba7e16ca10f3448552e9d49e24;hp=5229f87e684272313e4b0fd548426a1cfefcaac7;hb=48b30ae1141cbce9fe6f1153f368dd63a4505775;hpb=e661a29c6c38215e205f595a8ed1aedaf3a963ed diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index 5229f87e6..db8d70981 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -45,6 +45,44 @@ x\ +$11111111111111111111111111111111111 +${11111111111111111111111111111111111} +eval: ${eval:0} +eval: ${eval:1} +eval: ${eval:-1} +eval: ${eval:+1} +eval: ${eval:1+1} +eval: ${eval:1+2*3} +eval: ${eval:(1+2)*3} +eval: ${eval:3/2*4} +eval: ${eval:3*4/2} +eval: ${eval:42} +eval: ${eval:} +eval: ${eval:-2} +eval: ${eval:-2 - -3} +eval: ${eval:-2 - (-3)} +eval: ${eval:-2 - (-3} +eval: ${eval:-2 - -3)} +eval: ${eval:-2 --3} +eval: ${eval:-2 -+3} +eval: ${eval:-2 -+-3} +eval: ${eval:(2*(1+1))/2 + 40K} +eval: ${eval:077} +eval: ${eval:08} +eval10: ${eval10:077} +eval10: ${eval10:08} +eval10: ${eval10:0x1234} +eval: ${eval:2+42%5} +eval: ${eval:0xc&5} +eval: ${eval:0xc & 5 } +eval: ${eval:0x0c|5} +eval: ${eval:0xc^5} +eval: ${eval:0xc>>1} +eval: ${eval:0xc >> 2} +eval: ${eval:0xc >> 4 } +eval: ${eval:0xc<<1} +eval: ${eval:~255&0x1234} +eval: ${eval:~ 255&0x1234} +eval: ${eval: -(~255&0x1234)} + # List operations filter: "${filter{a:b:c}{eq{1}{1}}}" @@ -88,6 +126,14 @@ listextract: ${listextract{-5}{a:b:c:d}} listextract: ${listextract{ 5}{a:b:c:d}{}{fail}} listextract: ${listextract{ 5}{a:b:c:d}{}fail} +listquote: ${listquote{:}{abcd}} +listquote: ${listquote{:}{ab:cd}} +listquote: ${listquote{:}{:a:b:c:d:}} +listquote: ${listquote{:}{ab::cd}} +listquote: ${listquote{;}{ab:cd}} +listquote: ${listquote{;}{ab;cd}} +listquote: ${listquote{ }{ ab cd}} + sort: ${sort{3:2:1:4}{<}{$item}} sort: ${sort {<, 3,2,1,4}{>}{$item}} sort: ${sort{c:B:a:aa}{lti}{$item}} @@ -123,8 +169,15 @@ acl: ${reduce {1:2:3:4} {} {$value ${acl {a_ret}{$item}}}} addrss: ${address:local-part@dom.ain} addrss: ${address:Exim Person (that's me)} +addrss: ${address:Exim Person (that's me)} +addrss: ${address:Exim Person (that's me)} +addrss: ${address:Exim Person (that's me)} +addrss: ${address:Exim Person (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 (that's me)} +domain: ${domain:Exim Person (that's me)} +domain: ${domain:a.b.c} addresses: ${addresses:>' 'abc@xyz, 'pqr@xyz} addresses: ${addresses:Exim Person (that's me)} @@ -138,40 +191,6 @@ addresses: ${addresses:>} escape: ${escape:B7·F2ò} excape8bit: ${escape8bit:undisturbed text\ttab\nnewline\ttab\\backslash \176tilde\177DEL\200\x81.} -eval: ${eval:1+1} -eval: ${eval:1+2*3} -eval: ${eval:(1+2)*3} -eval: ${eval:3/2*4} -eval: ${eval:3*4/2} -eval: ${eval:42} -eval: ${eval:} -eval: ${eval:-2} -eval: ${eval:-2 - -3} -eval: ${eval:-2 - (-3)} -eval: ${eval:-2 - (-3} -eval: ${eval:-2 - -3)} -eval: ${eval:-2 --3} -eval: ${eval:-2 -+3} -eval: ${eval:-2 -+-3} -eval: ${eval:(2*(1+1))/2 + 40K} -eval: ${eval:077} -eval: ${eval:08} -eval10: ${eval10:077} -eval10: ${eval10:08} -eval10: ${eval10:0x1234} -eval: ${eval:2+42%5} -eval: ${eval:0xc&5} -eval: ${eval:0xc & 5 } -eval: ${eval:0x0c|5} -eval: ${eval:0xc^5} -eval: ${eval:0xc>>1} -eval: ${eval:0xc >> 2} -eval: ${eval:0xc >> 4 } -eval: ${eval:0xc<<1} -eval: ${eval:~255&0x1234} -eval: ${eval:~ 255&0x1234} -eval: ${eval: -(~255&0x1234)} - expand: \$primary_hostname ${expand:\$primary_hostname} hash: ${hash_3:monty} ${hash_5:monty} ${hash_4_62:monty python} hash: ${hash_3:abc}X ${hash_3:ab}X ${hash_3:a}X ${hash_3:}X @@ -244,6 +263,8 @@ 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 (that's me)} +lclpt: ${local_part:Exim Person (that's me)} +lclpt: ${local_part:a.b.c} quote: ${quote:aZ09_.-Q} ${quote:ab*cd} ${quote:ab\cd"ef} quote: ${quote:nl(\n)} quote: ${quote:cr(\r)} @@ -912,14 +933,18 @@ 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 escape: ${escape:B7·F2ò} **** # Checkout expansion debugging -exim -d-all+expand -be +exim -d-all+expand -f sndr@dom -be primary_hostname: $primary_hostname +sender_address: $sender_address 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}}}}