diff options
Diffstat (limited to 'tests/eval/or-and.test')
-rw-r--r-- | tests/eval/or-and.test | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/eval/or-and.test b/tests/eval/or-and.test new file mode 100644 index 0000000..b9fb0b7 --- /dev/null +++ b/tests/eval/or-and.test @@ -0,0 +1,28 @@ +# file : tests/eval/or-and.test +# copyright : Copyright (c) 2014-2016 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Test logical operators (eval-or, eval-and). + +.include ../common.test + +$* <'print (false || false)' >'false' : or-false +$* <'print (false || true)' >'true' : or-true-1 +$* <'print (true || false)' >'true' : or-true-2 + +$* <'print (false && true)' >'false' : and-false-1 +$* <'print (true && false)' >'false' : and-false-2 +$* <'print (true && true)' >'true' : and-true + +: associativity +: +: Also tests short-circuit. +: +{ + $* <'print (true || $bogus($foo) || false)' >'true' : or + $* <'print (false && $bogus($foo) && false)' >'false' : and +} + +: priority +: +$* <'print (false && true || true)' >'true' |