save
[protos/libecoli.git] / lib / ecoli_node_expr_test.c
index ac3e5ba..748256b 100644 (file)
 #include <ecoli_malloc.h>
 #include <ecoli_strvec.h>
 #include <ecoli_test.h>
+#include <ecoli_node.h>
+#include <ecoli_parsed.h>
 #include <ecoli_node_int.h>
 #include <ecoli_node_str.h>
 #include <ecoli_node_re_lex.h>
 #include <ecoli_node_expr.h>
 
+EC_LOG_TYPE_REGISTER(node_expr);
+
 struct my_eval_result {
        int val;
 };
@@ -214,12 +218,13 @@ static int ec_node_expr_test_eval(struct ec_node *lex_node,
        return ret;
 }
 
+/* LCOV_EXCL_START */
 static int ec_node_expr_testcase(void)
 {
        struct ec_node *node = NULL, *lex_node = NULL;
        int ret = 0;
 
-       node = ec_node_new("expr", "my_expr");
+       node = ec_node("expr", "my_expr");
        if (node == NULL)
                return -1;
 
@@ -280,6 +285,7 @@ static int ec_node_expr_testcase(void)
        ret |= ec_node_expr_test_eval(lex_node, node, "!0", 1);
 
        ret |= ec_node_expr_test_eval(lex_node, node, "1+1", 2);
+       ret |= ec_node_expr_test_eval(lex_node, node, "1+2+3", 6);
        ret |= ec_node_expr_test_eval(lex_node, node, "1+1*2", 4);
        ret |= ec_node_expr_test_eval(lex_node, node, "2 * 2^", 8);
        ret |= ec_node_expr_test_eval(lex_node, node, "(1 + !0)^ * !0^", 4);
@@ -295,6 +301,7 @@ fail:
        ec_node_free(node);
        return -1;
 }
+/* LCOV_EXCL_STOP */
 
 static struct ec_test ec_node_expr_test = {
        .name = "expr",