aboutsummaryrefslogtreecommitdiff
path: root/tests/variable
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-07-28 07:17:29 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-07-28 13:53:22 +0200
commitb11aaa16d404ce7dc55de6b7338dccbf053a72bd (patch)
treebe5a63a170f9de7318e91d79c4784badb8a4488f /tests/variable
parentad7d4bd0722aa70ba634900cebf93a1b1814fed9 (diff)
Adjust to new path implementation, use to support reversibility
Diffstat (limited to 'tests/variable')
-rw-r--r--tests/variable/dir-path/buildfile45
-rw-r--r--tests/variable/dir-path/test.out22
-rwxr-xr-xtests/variable/dir-path/test.sh3
-rw-r--r--tests/variable/representation/buildfile3
-rwxr-xr-xtests/variable/representation/test.sh4
5 files changed, 77 insertions, 0 deletions
diff --git a/tests/variable/dir-path/buildfile b/tests/variable/dir-path/buildfile
new file mode 100644
index 0000000..5c99f07
--- /dev/null
+++ b/tests/variable/dir-path/buildfile
@@ -0,0 +1,45 @@
+# Untyped dir path reversability.
+#
+x = s/foo/bar/
+print -e=$x
+print -e $x
+
+y = $x
+print -e=$y
+print -e $y
+print
+
+# Typed dir path reversability and expansion.
+#
+x = [dir_path] foo/bar/
+print -I$x
+print -I$x/baz
+print -I $x
+print [strings] -I $x
+print -I $x/baz
+print
+
+y = $x # No longer typed but still not original.
+print -I$y
+print -I$y/baz
+print -I $y
+print [strings] -I $y
+print -I $y/baz
+print
+
+z = [strings] $x # Re-typed.
+print $z
+print
+
+# The root case.
+#
+r = [dir_path] /
+print $r/foo
+
+r += foo
+print [strings] $r
+
+r += bar
+print [strings] $r
+
+./:
diff --git a/tests/variable/dir-path/test.out b/tests/variable/dir-path/test.out
new file mode 100644
index 0000000..e608c42
--- /dev/null
+++ b/tests/variable/dir-path/test.out
@@ -0,0 +1,22 @@
+-e=s/foo/bar/
+-e s/foo/bar/
+-e=s/foo/bar/
+-e s/foo/bar/
+
+-Ifoo/bar
+-Ifoo/bar/baz
+-I foo/bar/
+-I foo/bar
+-I foo/bar/baz
+
+-Ifoo/bar
+-Ifoo/bar/baz
+-I foo/bar/
+-I foo/bar
+-I foo/bar/baz
+
+foo/bar
+
+//foo
+/foo
+/foo/bar
diff --git a/tests/variable/dir-path/test.sh b/tests/variable/dir-path/test.sh
new file mode 100755
index 0000000..c745b76
--- /dev/null
+++ b/tests/variable/dir-path/test.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+b -q | diff --strip-trailing-cr -u test.out -
diff --git a/tests/variable/representation/buildfile b/tests/variable/representation/buildfile
index 9bb90d1..b9c213d 100644
--- a/tests/variable/representation/buildfile
+++ b/tests/variable/representation/buildfile
@@ -1,3 +1,6 @@
+# @@ I wonder if we can redo this test in terms of print?
+#
+
# Test reversibility of variable representation.
#
val = -L/
diff --git a/tests/variable/representation/test.sh b/tests/variable/representation/test.sh
new file mode 100755
index 0000000..da9e0e9
--- /dev/null
+++ b/tests/variable/representation/test.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+b test
+