diff options
Diffstat (limited to 'tests/expansion/type.testscript')
-rw-r--r-- | tests/expansion/type.testscript | 50 |
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' |