diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/if-else/buildfile | 114 | ||||
-rw-r--r-- | tests/if-else/test.out | 9 | ||||
-rwxr-xr-x | tests/if-else/test.sh | 3 |
3 files changed, 126 insertions, 0 deletions
diff --git a/tests/if-else/buildfile b/tests/if-else/buildfile new file mode 100644 index 0000000..30da40f --- /dev/null +++ b/tests/if-else/buildfile @@ -0,0 +1,114 @@ +#else # else without if +#elif # elif without if +#elif! # elif! without if +#if # expected if-expression +#if test # expected true or false +#if true # expected { +#x +#if true # expected newline after { +#{x +#if true # expected newline after } +#{ +#}x + +if true +{ + print 1 +} +else +{ + print 0 +} + +if! true +{ + print 0 +} +else +{ + print 1 +} + +if false +{ + print 0 +} +else +{ + print 1 +} + +if false +{ + print 0 +} +elif true +{ + print 1 +} +else +{ + print 0 +} + +if true +{ + print 1 +} +elif true +{ + print 0 +} +else +{ + print 0 +} + +# Empty block +# +if true +{ +} +else +{ + print 0 +} + +# Nested if-else +# +if true +{ + if true + { + print 1 + } +} +else +{ + if true + { + print 0 + } +} + +t = true +f = false + +if $t +{ + print 1 +} + +if! $f +{ + print 1 +} + +./: + +# EOF test. +# +if true +{ + print 1 +} diff --git a/tests/if-else/test.out b/tests/if-else/test.out new file mode 100644 index 0000000..bb08505 --- /dev/null +++ b/tests/if-else/test.out @@ -0,0 +1,9 @@ +1 +1 +1 +1 +1 +1 +1 +1 +1 diff --git a/tests/if-else/test.sh b/tests/if-else/test.sh new file mode 100755 index 0000000..b898b3c --- /dev/null +++ b/tests/if-else/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +valgrind -q b -q | diff -u test.out - |