aboutsummaryrefslogtreecommitdiff
path: root/tests/metaprogramming.nom
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-07-22 16:33:11 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2018-07-22 16:33:11 -0700
commitd38020bc5ac0fe7b6ff060c62943c277d4beb3bf (patch)
tree032a888313e2abc71cc8cbd3689aec202737d695 /tests/metaprogramming.nom
parent5224199fcf017101de224574c0a6ab502d7dd772 (diff)
Actually removing the tests now that they're inline.
Diffstat (limited to 'tests/metaprogramming.nom')
-rw-r--r--tests/metaprogramming.nom83
1 files changed, 0 insertions, 83 deletions
diff --git a/tests/metaprogramming.nom b/tests/metaprogramming.nom
deleted file mode 100644
index 2165c92..0000000
--- a/tests/metaprogramming.nom
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env nomsu -V2.5.4.3
-#
- Tests for the stuff defined in core/metaprogramming.nom
-
-use "core"
-
-compile [five] to (Lua value "5")
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-assume ((five) == 5) or barf "Compile to expression failed."
-compile [loc x] to (Lua "local _x = 99;")
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-lua> "do"
-loc x
-assume (%x is 99) or barf "Compile to statements with locals failed."
-lua> "end"
-assume (%x is (nil)) or barf "Failed to properly localize a variable."
-compile [asdf] to:
- %tmp = ""
- return (Lua %tmp)
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-asdf
-assume (%tmp is (nil)) or barf "compile to is leaking variables"
-action [foo %x]:
- %y = (%x + 1)
- return %y
-
-assume ((foo 10) == 11) or barf "Action didn't work."
-assume (%y is (nil)) or barf "Action leaked a local into globals."
-parse [baz %] as (foo %)
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-assume ((baz 10) == 11) or barf "Parse as action failed."
-parse [V] as (five)
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-assume ((V) == 5) or barf "Parse as compile action failed."
-parse [swap %x and %y] as (..)
- do:
- %tmp = %x
- %x = %y
- %y = %tmp
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-set {%1:1, %2:2}
-swap %1 and %2
-assume ((%1 == 2) and (%2 == 1)) or barf ".."
- 'parse % as %' failed on 'swap % and %'
-
-set {%tmp:1, %tmp2:2}
-swap %tmp and %tmp2
-assume ((%tmp == 2) and (%tmp2 == 1)) or barf ".."
- 'parse % as %' variable mangling failed.
-
-#
- remove action (foo %)
- try: foo 99
- ..and if it succeeds: barf "Failed to delete action"
-
-assume ((\(5 + 5) as value) == 10) or barf "%tree as value failed."
-assume ("\(\(foo %x) as nomsu)" == "foo %x") or barf ".."
- action source code failed.
-
-assume ("\(\%x as nomsu)" == "%x") or barf "var source code failed."
-assume ((type of {}) == "table") or barf "type of failed."
-assume ("\(\%x as lua identifier)" == "_x") or barf ".."
- converting to identifier failed.
-
-assume ((run "return 99") == 99) or barf "run % failed."
-%code = (Lua "global_x = true;")
-lua> %code
-assume (=lua "global_x") or barf "Running lua from a variable failed."
-%code = (Lua value "global_x")
-assume (=lua %code) or barf "Running lua from a variable failed."
-say "Metaprogramming test passed."