Add ${rfc2047d: expansion.
[exim.git] / test / scripts / 0000-Basic / 0002
index 251b8d0c507ecec872a4394cac0e8e8d17e11e83..f32b605b0b5b672dce828712984c54d5cbdf0df2 100644 (file)
@@ -67,6 +67,20 @@ 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
@@ -187,6 +201,11 @@ hash:   ${if eq {1}{2}{${hash_3:invalid}}{NO}}
 md5:    ${if eq {1}{2}{${md5:invalid}}{NO}}
 mask:   ${if eq {1}{2}{${mask:invalid}}{NO}}
 
+# Numeric overflow
+
+4096M      ${if >{1}{4096M}{y}{n}}
+4096000000 ${if >{1}{4096000000}{y}{n}}
+
 # Conditions
 
 2=2:    ${if ={2}{2}{y}{n}}
@@ -200,6 +219,7 @@ mask:   ${if eq {1}{2}{${mask:invalid}}{NO}}
 2>3:    ${if >{2}{3}{y}{n}}
 3>3:    ${if >{3}{3}{y}{n}}
 4>3:    ${if >{4}{3}{y}{n}}
+1>-1:   ${if >{1}{-1}{y}{n}}
 2>=3:   ${if >={2}{3}{y}{n}}
 3>=3:   ${if >={3}{3}{y}{n}}
 4>=3:   ${if >={4}{3}{y}{n}}
@@ -210,12 +230,19 @@ mask:   ${if eq {1}{2}{${mask:invalid}}{NO}}
 3<=3:   ${if <={3}{3}{y}{n}}
 4<=3:   ${if <={4}{3}{y}{n}}
 5<=3:   ${if <={ 5 } { 3 } {y}{n}}
+-3<=1:  ${if <={-3}{1}{y}{n}}
 
 5>3k:   ${if >{5 } {3k }{y}{n}}
 5>3m:   ${if >{5 } {3m }{y}{n}}
 5>3z:   ${if >{5 } {3z }{y}{n}}
 5>a:    ${if >{ 5 } {a}{y}{n}}
 
+>0:     ${if > {}{0}{y}{n}}
+=:      ${if = {}{}{y}{n}}
+-2<:    ${if < {-2}{}{y}{n}}
+08>07:  ${if > {08}{07}{y}{n}}
+011=11: ${if = {011}{11}{y}{n}}
+
 def:y   ${if def:tod_log{y}{n}}
 def:n   ${if def:host{y}{n}}
 def:f   ${if def:post{y}{n}}
@@ -475,6 +502,13 @@ abcd      ${rfc2047:abcd}
 Long:     ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit}
 Long:     ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit by a long way; in fact this one will go over the 150 character limit}
 
+# RFC 2047 decode
+
+${rfc2047d:abcd      abcd}
+${rfc2047d:<:abcd:>  =?iso-8859-8?Q?=3C=3Aabcd=3A=3E?=}
+${rfc2047d:<:ab cd:> =?iso-8859-8?Q?=3C=3Aab_cd=3A=3E?=}
+${rfc2047d:Long:     =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_i?= =?iso-8859-8?Q?t_will_go_over_the_75-char_limit?=}
+${rfc2047d:Long:     =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_i?= =?iso-8859-8?Q?t_will_go_over_the_75-char_limit_by_a_long_way=3B_in_fac?= =?iso-8859-8?Q?t_this_one_will_go_over_the_150_character_limit?=}
 
 # UTF-8
 
@@ -571,6 +605,8 @@ ${if and {xyz}{a}{b}}
 ${if and {{xya}}{a}{b}}
 ${if and {{${lookup{x}lsearch{/a/b}}}}{a}{b}}
 ${if eq {$h_xyz}{1}{y}{n}}
+${if eq {$h_xyz:}{1}{y}{n}
+${if def:h_xyz}{y}{n}}
 ${if or {eq {}{}{yes}{no}}
 ${if or {{eq {}{}{yes}{no}}
 ${if or {{eq {}{}}{yes}{no}}