aboutsummaryrefslogtreecommitdiff
path: root/core.nom
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2017-09-12 21:37:58 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2017-09-12 21:37:58 -0700
commit75bb5443437f86d10d3359a47bee4fa5b63fd54b (patch)
tree07e08bcd0662df85de2f76a72fa49a382ca25e76 /core.nom
parenta9e1bb479e80893773f64d55f05ead68de042e7d (diff)
Added in the tests.
Diffstat (limited to 'core.nom')
-rw-r--r--core.nom16
1 files changed, 15 insertions, 1 deletions
diff --git a/core.nom b/core.nom
index 920a295..3b0cf32 100644
--- a/core.nom
+++ b/core.nom
@@ -115,7 +115,7 @@ rule "%a == %b":
macro "%a != %b": concat ["not (",%a as lua expr," == ",%b as lua expr,")"]
rule "say %str":
- lua block ["print(", %str, ")"]
+ lua block ["print(utils.repr(", %str, "))"]
rule "printf %str":
lua block ".."
@@ -274,3 +274,17 @@ rule "error!":
rule "error %msg":
lua block "compiler:error(vars.msg)"
+
+macro block "test %code yields %expected":
+ let "generated" = (lua expr "utils.repr(compiler:stringify_tree(vars.code.value.value), true)")
+ let "expected" = (%expected as lua expr)
+ if (%generated != %expected):
+ say "Test failed!"
+ say "Expected:"
+ say %expected
+ say "But got:"
+ say %generated
+ error!
+ return ""
+
+