diff --git a/src/main.cpp b/src/main.cpp index 964cb2eb..94c4f273 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -149,10 +149,11 @@ int main(int argc, char *argv[]) { } } std::cout << std::endl; + return EXIT_FAILURE; } catch (std::exception &e) { - std::cout << e.what() << std::endl; - return EXIT_FAILURE; + std::cout << e.what() << std::endl; + return EXIT_FAILURE; } } } diff --git a/unittests/deep_array_lookup.chai b/unittests/deep_array_lookup.chai new file mode 100644 index 00000000..c405302d --- /dev/null +++ b/unittests/deep_array_lookup.chai @@ -0,0 +1,11 @@ +var a = [1,2,3, [4,5,6] ] + +assert_equal(a[3][0], 4) + + +def Test::Test() { this.a = [1,2,3]; } +attr Test::a; + +var t = Test(); + +assert_equal(t.a[0], 1) diff --git a/unittests/reflection_test.chai b/unittests/reflection_test.chai new file mode 100644 index 00000000..e12f31dd --- /dev/null +++ b/unittests/reflection_test.chai @@ -0,0 +1,14 @@ +load_module("reflection") +var fname = "INPUT" +var parser := ChaiScript_Parser() +var parse_success = parser.parse("3 + 4", fname.c_str()) +var a := parser.ast() + +assert_equal(eval(a), 7) + +var childs := a.children.front().children +var node := childs[0] + +node.text = "9" + +assert_equal(eval(a), 13)