aboutsummaryrefslogtreecommitdiff
path: root/tests/quote
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/quote
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/quote')
-rw-r--r--tests/quote/buildfile10
-rw-r--r--tests/quote/test.out6
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/quote/buildfile b/tests/quote/buildfile
index 6dd22b4..19c2bfc 100644
--- a/tests/quote/buildfile
+++ b/tests/quote/buildfile
@@ -19,4 +19,14 @@ print $foo'bar'
print $foo"$bar"
print "$foo"bar
+# Quoting and evaluation context.
+#
+print ("x{foo bar}")
+#print "(x{foo bar})" # multiple values in concatenating context expansion
+print "({foo})"
+print "('foo bar')"
+print "("foo bar")"
+print "("$foo bar")"
+print "("$foo ($bar)")"
+
./:
diff --git a/tests/quote/test.out b/tests/quote/test.out
index 216b1c8..f5d7a71 100644
--- a/tests/quote/test.out
+++ b/tests/quote/test.out
@@ -12,3 +12,9 @@ fo o bar
fo obar
fo o bar
fo obar
+x{foo bar}
+foo
+foo bar
+foo bar
+fo o bar
+fo o bar