> filter: a'c
> filter: ''a' ''c
> filter: ""
+> # check operation when the condition modifies the 'value' variable
+> E
>
> map: ""
> map: a:b:c
> hex2b64:MPPJPkZDbetYunCBao7BJA==
> hex2b64:ztcfpyNSMb7Tg/rP3EHE3cwi7PE=
>
+> headerwrap:
+> headerwrap:a
+> headerwrap:ab
+> headerwrap:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
+> headerwrap_79:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ z
+> headerwrap:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ b
+> headerwrap:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
+ Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab
+> headerwrap:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
+ Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab
+> headerwrap:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
+ Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbz
+> headerwrap:12345678901234567890123456789012345678901234567890123456789012345678901234567890
+ 1234567890123456789(100).67890123456789012345678901234567890123456789012
+ 34567890123456789012345678901234567890123456789(200).6789012345678901234
+ 567890123456789012345678901234567890123456789012345678901234567890123456
+ 789(300).678901234567890123456789012345678901234567890123456789012345678
+ 901234567890123456789(400).678901234567890123456789012345678901234567890
+ 1234567890123456789012345678901234567890123456789(500).67890123456789012
+ 3456789012345678901234567890123456789012345678901234567890123456789(600)
+ .67890123456789012345678901234567890123456789012345678901234567890123456
+ 78901234567890123456789(700).6789012345678901234567890123456789012345678
+ 901234567890123456789012345678901234567890123456789(800).678901234567890
+ 123456789012345678901234567890123456789012345678901234567890123456789012
+ 3456789(900).67890123456789012345678901234567890123456789012345678901234
+ 5678901234567890123456789012
+> headerwrap_81_100:123456789012345678901234567890123456789012345678901234567890123456789012345678901
+ 23456789012345678
+>
> base32: 0 <>
> base32: 1 <b>
> base32: 31 <7>
> mask: 0.0.0.0/0
> Failed: missing mask value in "192.168.10.206"
> Failed: "a.b.c.d" is not an IP address
+> mask: 2a00.0002.0003.0004.0004.0000.0000.0000/79
+> mask: 2a00.0002.0003.0004.0005.0006.0007.0008/128
+> Failed: mask value too big in "2a00:2:3:4:5:6:7:8/129"
+> mask_n: 2a00:2:3:4:4::/79
> ipv6denorm: 0000:0000:0000:0000:0000:0000:0000:0001
> ipv6denorm: fe00:0000:0000:0000:0000:0000:0000:0001
> ipv6denorm: 0000:0000:0000:0000:0000:ffff:c0a8:0001
> ipv6norm: 2a00:eadf::1:0
> ipv6norm: 2a00:eadf:0:1::
> ipv6norm: 2a00::
-> ipv6norm: 2a00:2:3:4:5:6:7:8
+> ipv6norm: 2a00:2:3:4:5:6:7:8trailing_text
> nhash: 19 0/61
> lc/uc: the quick BROWN FOX
> length: The quick abc
> gei: y
>
> isip: y 1.2.3.4
+> isip: n 1.2.3
> isip4: y 1.2.3.4
> isip6: n 1.2.3.4
> isip: n ::1.2.3.256
> isip: y fe80::a00:20ff:fe86:a061
> isip4: n fe80::a00:20ff:fe86:a061
> isip6: y fe80::a00:20ff:fe86:a061
+> isip6: n fe80:a00:20ff:fe86:a061
> isip: y fe80::1.2.3.4
> isip: n rhubarb
> isip4: n rhubarb
> isip6: n rhubarb
+> isip6: n ::/100
+> isip6: n ::/foo
+> isip6: n ::/f o
>
> match: cdab
> match: cdab
> match: cdab
> Failed: "if" failed and "fail" requested
> match: cd[xyz]ab
+> # check for empty capture group
+> match: <>
>
> match_domain: yes
> match_domain: no
> q6: "white space"
> q7: "b\\s"
>
-> q1: abc "abc"
-> q2: xyz: "xyz":
-> q3: pqr : "pqr" :
-> q4: a:b "a:b" abc continued data (make sure not key)
-> q5: "quoted" "\"quoted\""
-> q6: white space "white space"
-> q7: b\s "b\\s"
+> q1f: abc "abc"
+> q2f: xyz: "xyz":
+> q3f: pqr : "pqr" :
+> q4f: a:b "a:b" abc continued data (make sure not key)
+> q5f: "quoted" "\"quoted\""
+> q6f: white space "white space"
+> q7f: b\s "b\\s"
>
> abc: abc
> a.b.c: *.b.c
> abcdea a z zbcdez
> abcdea a abcdea
> abcdea abc z zzzdez
+> (null) ''
>
> # Boolean
> "TrUe" true EXPECT: true
> rc=0
> 1!=2
> rc=0
+> abcd
+1234
+
+> rc=0
+> 2
+> rc=1
>
> # PRVS
>
> <>
> expect: <>
>
+> # string value with embedded comma
+> <Doe, John>
+> expect <Doe, John>
+> # string value with embedded doublequote
+> <word1 \" word2>
+> expect <word1 \" word2>
+>
> yes
> yes
>
**** This is not for real!
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 myhost.test.ex Hello test [V4NET.0.0.0]\r
250 OK\r
250 Accepted\r
354 Enter message, ending with "." on a line by itself\r
**** This is not for real!
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 myhost.test.ex Hello test [V4NET.0.0.0]\r
250 OK\r
250 Accepted\r
354 Enter message, ending with "." on a line by itself\r
**** This is not for real!
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 myhost.test.ex Hello test [V4NET.0.0.0]\r
250 OK\r
250 Accepted\r
354 Enter message, ending with "." on a line by itself\r
221 myhost.test.ex closing connection\r
> match_ip: 15
> match_ip: 16
+> match_ip: 17
>
> in list
> in list
>
+> '${listextract {2} {<. my.target.host.name}}' => 'target'
+>