29 lines
758 B
Plaintext
29 lines
758 B
Plaintext
use "lib/core.nom"
|
|
|
|
# Prerequisites:
|
|
%var <- 99
|
|
assume (%var = 99) or barf "Var assignment doesn't work."
|
|
|
|
try: barf "barf"
|
|
..and if it succeeds: barf "try % and if it succeeds failed."
|
|
|
|
try: do nothing
|
|
..and if it barfs: barf "try % and if it barfs failed."
|
|
|
|
immediately
|
|
assume (%ONCE is (nil)) or barf "immediately is executing twice"
|
|
export %ONCE <- "ONCE"
|
|
%foo <- "immediately local"
|
|
assume (%ONCE = "ONCE") or barf "Globals don't work."
|
|
assume (%foo is (nil)) or barf "Immediately is leaking locals."
|
|
|
|
# Run per-file test suites
|
|
run file "tests/metaprogramming.nom"
|
|
run file "tests/text.nom"
|
|
run file "tests/operators.nom"
|
|
run file "tests/control_flow.nom"
|
|
run file "tests/math.nom"
|
|
run file "tests/collections.nom"
|
|
|
|
say "All tests passed!"
|