aboutsummaryrefslogtreecommitdiff
path: root/lib/testing.nom
blob: 48b311f68966fc7330934ff230c9f08946127667 (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 expr
    if (%generated != %expected):
        say "Test failed!"
        say "Expected:"
        say %expected
        say "But got:"
        say %generated
        error!
    return ""