diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/confs/0002 | 15 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0002 | 21 | ||||
-rw-r--r-- | test/stdout/0002 | 21 |
3 files changed, 57 insertions, 0 deletions
diff --git a/test/confs/0002 b/test/confs/0002 index 6983fd87f..eb473e6b9 100644 --- a/test/confs/0002 +++ b/test/confs/0002 @@ -44,4 +44,19 @@ check_data: warn logwrite = Subject is: "$h_subject:" deny message = reply_address=<$reply_address> +a_ret: + accept message = ($acl_narg) [$acl_arg1] [$acl_arg2] + +a_none: + accept + +a_deny: + deny message = ($acl_narg) [$acl_arg1] [$acl_arg2] + +a_defer: + defer + +a_sub: + require acl = a_deny "new arg1" $acl_arg1 + # End diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002 index 652891615..3e2421b1e 100644 --- a/test/scripts/0000-Basic/0002 +++ b/test/scripts/0000-Basic/0002 @@ -86,6 +86,21 @@ reduce: ${reduce {<\x7f 1\x7f2\177 3}{0}{${eval:$value+$item}}} # Operators +acl: ${acl +acl: ${acl} +acl: ${acl {a_nosuch}} +acl: ${acl {a_ret}} +acl: ${acl {a_ret}{person@dom.ain}} +acl: ${acl {a_ret}{firstarg}{secondarg}} +acl: ${acl {a_ret}{arg with spaces}} +acl: ${acl {a_none}} +acl: ${acl {a_none}{person@dom.ain}} +acl: ${acl {a_deny}} +acl: ${acl {a_deny}{person@dom.ain}} +acl: ${acl {a_defer}} +acl: ${acl {a_sub}{top_arg_1}{top_arg_2}{top_arg_3}} +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)} domain: ${domain:local-part@dom.ain} @@ -408,6 +423,12 @@ first_delivery: ${if first_delivery{y}{n}} queue_running after or: ${if or{{eq {0}{0}}{queue_running}}{y}{n}} first_delivery after or: ${if or{{eq {0}{0}}{first_delivery}}{y}{n}} +# acl expansion condition +acl if: ${if acl {{a_ret}} {Y:$value}{N:$value}} +acl if: ${if acl {{a_ret}{argY}} {Y:$value}{N:$value}} +acl if: ${if acl {{a_deny}{argN}{arg2}} {Y:$value}{N:$value}} +acl if: ${if acl {{a_defer}{argN}{arg2}} {Y:$value}{N:$value}} + # Default values for both if strings \${if eq{1}{1}} >${if eq{1}{1}}< diff --git a/test/stdout/0002 b/test/stdout/0002 index de67f99fc..b4b96dfb5 100644 --- a/test/stdout/0002 +++ b/test/stdout/0002 @@ -78,6 +78,21 @@ > > # Operators > +> Failed: missing or misplaced { or } +> Failed: missing or misplaced { or } +> Failed: error from acl "a_nosuch" +> acl: (0) [] [] +> acl: (1) [person@dom.ain] [] +> acl: (2) [firstarg] [secondarg] +> acl: (1) [arg with spaces] [] +> acl: +> acl: +> acl: (0) [] [] +> acl: (1) [person@dom.ain] [] +> Failed: error from acl "a_defer" +> acl: (2) [new arg1] [top_arg_1] +> acl: (1) [1] [] (1) [2] [] (1) [3] [] (1) [4] [] +> > addrss: local-part@dom.ain > addrss: local-part@dom.ain > domain: dom.ain @@ -377,6 +392,12 @@ > queue_running after or: y > first_delivery after or: y > +> # acl expansion condition +> acl if: Y:(0) [] [] +> acl if: Y:(1) [argY] [] +> acl if: N:(2) [argN] [arg2] +> Failed: error from acl "a_defer" +> > # Default values for both if strings > > ${if eq{1}{1}} >true< |