aboutsummaryrefslogtreecommitdiff
path: root/tests/value/reverse.testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/value/reverse.testscript')
-rw-r--r--tests/value/reverse.testscript82
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/value/reverse.testscript b/tests/value/reverse.testscript
new file mode 100644
index 0000000..6294d3f
--- /dev/null
+++ b/tests/value/reverse.testscript
@@ -0,0 +1,82 @@
+# file : tests/value/reverse.testscript
+# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+# Test reversal to canonical/original representation.
+#
+
+.include ../common.testscript
+
+: name
+:
+{
+ : dir
+ :
+ $* <<EOI >>EOO
+ x = s/foo/bar/
+ print ([string] $x)
+ print "$x"
+ print -e=$x
+ EOI
+ s/foo/bar/
+ s/foo/bar/
+ -e=s/foo/bar/
+ EOO
+
+ : proj
+ :
+ $* <<EOI >>EOO
+ print ([strings] foo%bar foo% %bar)
+ EOI
+ foo%bar foo% %bar
+ EOO
+
+ : pair
+ :
+ $* <<EOI >>EOO
+ print ([strings] foo@bar foo/@bar/ foo@ @bar @ "@@")
+ EOI
+ foo@bar foo/@bar/ foo@ @bar @ @@
+ EOO
+
+ : combined
+ :
+ $* <<EOI >>EOO
+ print ([strings] xx%foo@yy%bar xx%foo/@yy%bar/)
+ EOI
+ xx%foo@yy%bar xx%foo/@yy%bar/
+ EOO
+}
+
+: dir-path
+:
+{
+ : rel
+ :
+ $* <<EOI >>"EOO"
+ x = [dir_path] foo/bar/
+ print ([string] $x)
+ print "$x"
+ print "-I$x"
+ EOI
+ foo/bar/
+ foo/bar
+ -Ifoo/bar
+ EOO
+
+ : root
+ :
+ if ($cxx.target.class != 'windows')
+ {
+ $* <<EOI >>EOO
+ x = [dir_path] /
+ print ([string] $x)
+ print "$x"
+ print "-I$x"
+ EOI
+ /
+ /
+ -I/
+ EOO
+ }
+}