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";
}
}
|