aboutsummaryrefslogtreecommitdiff
path: root/tests/eval/or-and.test
blob: 283b6b108173381ab2ca538a8bf822cd03830abe (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
# file      : tests/eval/or-and.test
# copyright : Copyright (c) 2014-2017 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'