# file      : tests/eval/value.test
# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

# Test value part of the grammar (eval-value).

.include ../common.test

$* <'print (foo)' >'foo'           : value
$* <'print ()'    >''              : value-empty
$* <'print ((foo bar))' >'foo bar' : eval
$* <'print (!false)'    >'true'    : not
$* <'print (!!true)'    >'true'    : not-double

: attribute
:
{
  $* <'print $type([string] foo)'          >'string' : type
  $* <'print ([uint64] 001)'               >'1'      : value
  $* <'print $null([null])'                >'true'   : null
  $* <'print $type([string] (foo == bar))' >'string' : eval
  $* <'print $type([string] !true)'        >'string' : not
}