blob: f65e4e458f4c7cb0b1064e9838593b2e06d215ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
require "vnd.dovecot.testsuite";
require "variables";
require "encoded-character";
test "Encodings - RFC examples" {
set "s" "$";
set "foo" "bar";
# "${fo\o}" => ${foo} => the expansion of variable foo.
if not string :is "${fo\o}" "bar" {
test_fail "failed 'the expansion of variable foo (${s}{fo\\o})'";
}
# "${fo\\o}" => ${fo\o} => illegal identifier => left verbatim.
if not string :is "${fo\\o}" "${s}{fo\\o}" {
test_fail "failed 'illegal identifier => left verbatim'";
}
# "\${foo}" => ${foo} => the expansion of variable foo.
if not string "\${foo}" "bar" {
test_fail "failed 'the expansion of variable foo (\\${s}{foo})'";
}
# "\\${foo}" => \${foo} => a backslash character followed by the
# expansion of variable foo.
if not string "\\${foo}" "\\bar" {
test_fail "failed 'a backslash character followed by expansion of variable foo";
}
set "name" "Ethelbert";
if not string "dear${hex:20 24 7b 4e}ame}" "dear Ethelbert" {
test_fail "failed 'dear Ethelbert' example";
}
}
|