aboutsummaryrefslogtreecommitdiff
path: root/tests/variable/testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/variable/testscript')
-rw-r--r--tests/variable/testscript55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/variable/testscript b/tests/variable/testscript
new file mode 100644
index 0000000..d3d9302
--- /dev/null
+++ b/tests/variable/testscript
@@ -0,0 +1,55 @@
+# file : tests/variable/testscript
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+test.options += -u
+
+: valid
+:
+{
+ $* <<EOI >> EOO
+ config.cc.coptions="-O3 -stdlib='libc++'"
+ ab'c="x y"'
+ var=xy
+ var=
+ EOI
+ config.cc.coptions=-O3 -stdlib='libc++'
+ abc="x y"
+ var=xy
+ var=
+ EOO
+}
+
+: invalid
+:
+{
+ : expected-assignment
+ :
+ $* <'v"a r=abc"' 2>'1:4: error: expected variable assignment' == 1
+
+ : unterminated-quoted-string
+ :
+ $* <'var="a b' 2>'1:9: error: unterminated quoted string' == 1
+
+ : no-value
+ :
+ $* <'var' 2>'1:4: error: no variable value' == 1
+}
+
+: unquoting
+:
+{
+ : single
+ :
+ $* <"var='a \" b'" >'var=a " b'
+
+ : double
+ :
+ $* <'var="a '"'"' b"' >"var=a ' b"
+
+ : mixed
+ :
+ $* <<EOI >'var=a bc e'
+ var='a b'"c e"
+ EOI
+}