aboutsummaryrefslogtreecommitdiff
path: root/tests/eval
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-09-09 14:10:24 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-09-09 14:10:24 +0200
commit7a2f5753a12a68e87f8556f6e833710f147533b2 (patch)
tree850bfc8e3b0a40671db5656e695d640488bdda0a /tests/eval
parente3b6dc455ab5c98606e38983bd19426ae346f469 (diff)
Add support for evaluation context
For now it acts as just the value mode that can be enabled anywhere variable expansion is supported, for example: (foo=bar): And the primary use currently is to enable/test quoted and indirect variable expansion: "foo bar" = FOO BAR print $"foo bar" # Invalid. print $("foo bar") # Yeah, baby. foo = FOO FOO = foo print $($foo) Not that you should do something like this...
Diffstat (limited to 'tests/eval')
-rw-r--r--tests/eval/buildfile13
-rw-r--r--tests/eval/test.out4
-rwxr-xr-xtests/eval/test.sh3
3 files changed, 20 insertions, 0 deletions
diff --git a/tests/eval/buildfile b/tests/eval/buildfile
new file mode 100644
index 0000000..c658d3b
--- /dev/null
+++ b/tests/eval/buildfile
@@ -0,0 +1,13 @@
+(./):
+
+# Invalid.
+#
+#(foo
+#(foo #comment
+
+print ()
+print ((foo)(bar))
+print ((foo) (bar))
+
+print (foo\
+bar)
diff --git a/tests/eval/test.out b/tests/eval/test.out
new file mode 100644
index 0000000..5885c7d
--- /dev/null
+++ b/tests/eval/test.out
@@ -0,0 +1,4 @@
+
+foobar
+foo bar
+foobar
diff --git a/tests/eval/test.sh b/tests/eval/test.sh
new file mode 100755
index 0000000..b898b3c
--- /dev/null
+++ b/tests/eval/test.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+valgrind -q b -q | diff -u test.out -