blob: 30a7e056d0b17899c8570222ed567c88ba1df99b (
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.test
# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
# Test the ternary operator (eval-ternary).
.include ../common.test
$* <'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
}
|