aboutsummaryrefslogtreecommitdiff
path: root/tests/expansion/type.testscript
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-09-03 16:37:32 +0200
committerKaren Arutyunov <karen@codesynthesis.com>2018-09-04 16:29:59 +0300
commit5007870b52aa549971824959a55ad3bb886f09e0 (patch)
treeb0ef7f24c0b9ece2ed23f3c1792f16da324e4171 /tests/expansion/type.testscript
parent09d60452a80d14d9b8bf3a9395860b50683fa1e8 (diff)
Rename .test/test{} to .testscript/testscript{}
Diffstat (limited to 'tests/expansion/type.testscript')
-rw-r--r--tests/expansion/type.testscript50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/expansion/type.testscript b/tests/expansion/type.testscript
new file mode 100644
index 0000000..12204a3
--- /dev/null
+++ b/tests/expansion/type.testscript
@@ -0,0 +1,50 @@
+# file : tests/expansion/type.testscript
+# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+# Test type propagation during expansion.
+
+.include ../common.testscript
+
+: var
+:
+$* <<EOI
+x = [bool] true
+y = $x
+assert ($type($y) == bool)
+EOI
+
+: eval
+:
+$* <<EOI
+y = ([bool] true)
+assert ($type($y) == bool)
+EOI
+
+: func
+:
+$* <<EOI
+y = $identity([bool] true)
+assert ($type($y) == bool)
+EOI
+
+: untypify
+:
+$* <<EOI
+x = [bool] true
+y = "$x"
+assert ($type($y) == "")
+EOI
+
+: retypify
+:
+$* <'print [bool] ([string] true)' >'true'
+
+: retypify-quote
+:
+$* <'print [bool] "([string] true)"' >'true'
+
+: retypify-name
+: Test the "steal" case of untypify()
+:
+$* <'print [bool] "([name] true)"' >'true'