aboutsummaryrefslogtreecommitdiff
path: root/lib/testing.nom
blob: 94d9e8e91cb9316e014daf4ecf5d26869b4e254c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
require "lib/metaprogramming.nom"

# For unit testing
macro block [test %code yields %expected] =:
    %generated =: lua expr "compiler.utils.repr(compiler:stringify_tree(vars.code.value))"
    %expected =: %expected as lua
    if (%generated != %expected):
        say "Test failed!"
        say "Expected:"
        say %expected
        say "But got:"
        say %generated
        error!
    return ""