ChaiScript/unittests/reflection_test.chai
2016-04-14 09:31:38 -06:00

26 lines
532 B
ChaiScript

auto& parser = ChaiScript_Parser()
auto parse_success = parser.parse("3 + 4", "INPUT")
auto& a = parser.ast()
assert_equal(eval(a), 7)
assert_equal(1, a.children.size());
assert_equal("3 + 4", a.children[0].text());
def my_fun()
{
return 1;
}
assert_equal(true, my_fun.has_parse_tree());
assert_equal(false, `+`.has_parse_tree());
assert_throws("Function does not have a parse tree", fun() { `+`.get_parse_tree(); } );
auto& parsetree = my_fun.get_parse_tree();
assert_equal(1, eval(parsetree));
print(parsetree.text());