aboutsummaryrefslogtreecommitdiff
path: root/tests/variable/dir-path
diff options
context:
space:
mode:
Diffstat (limited to 'tests/variable/dir-path')
-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
3 files changed, 70 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 -