github.com/mem/u-root@v2.0.1-0.20181004165302-9b18b4636a33+incompatible/cmds/elvish/eval/builtin_fn_pred_test.go (about) 1 package eval 2 3 import ( 4 "testing" 5 ) 6 7 func TestBool(t *testing.T) { 8 runTests(t, []Test{ 9 That(`bool $true`).Puts(true), 10 That(`bool a`).Puts(true), 11 That(`bool [a]`).Puts(true), 12 // "Empty" values are also true in Elvish 13 That(`bool []`).Puts(true), 14 That(`bool [&]`).Puts(true), 15 That(`bool 0`).Puts(true), 16 That(`bool ""`).Puts(true), 17 // Only errors and $false are false 18 That(`bool ?(fail x)`).Puts(false), 19 That(`bool $false`).Puts(false), 20 21 That(`not $false`).Puts(true), 22 That(`not ?(fail x)`).Puts(true), 23 That(`not $true`).Puts(false), 24 That(`not 0`).Puts(false), 25 26 That(`is 1 1`).Puts(true), 27 That(`is a b`).Puts(false), 28 That(`is [] []`).Puts(true), 29 That(`is [1] [1]`).Puts(false), 30 That(`eq 1 1`).Puts(true), 31 That(`eq a b`).Puts(false), 32 That(`eq [] []`).Puts(true), 33 That(`eq [1] [1]`).Puts(true), 34 That(`not-eq a b`).Puts(true), 35 }) 36 }