blob: fc405e5298399552421b3dc0b8b2e1972e32be0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# file : tests/eval/ternary.testscript
# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
# Test the ternary operator (eval-ternary).
.include ../common.testscript
$* <'print (true ? foo : bar)' >'foo' : true
$* <'print (false ? foo : bar)' >'bar' : false
: associativity
:
{
$* <'print (true ? false ? foo : bar : baz)' >'bar' : middle
$* <'print (true ? foo : true ? bar : baz)' >'foo' : right
$* <'print (true ? false ? foo : bar : true ? baz : fox)' >'bar' : both
$* <'print (false ? foo ? false ? bar : false : baz : fox)' >'fox' : chain
}
: short-circuit
:
{
$* <'print (false ? $bogus() : foo)' >'foo' : middle
$* <'print (true ? foo : $bogus())' >'foo' : right
# @@ TODO: complate pre-parse support in parse_name().
#
#$* <'print (true ? foo : $out_base/{foo bar})' >'foo' : pre-parse
}
|