Skip to content
Snippets Groups Projects

Add missing tests for ASTNodeBuiltinFunctionExpressionBuilder

Merged Stéphane Del Pino requested to merge feature/unit-tests into develop
1 file
+ 44
0
Compare changes
  • Side-by-side
  • Inline
@@ -1002,6 +1002,21 @@ let cat : string*N -> string, (s,n) -> s+n;
CHECK_AST(data, result);
}
SECTION("builtin-functions")
{
std::string_view data = R"(
let foo : builtin_t*N -> builtin_t, (b,n) -> b;
)";
std::string_view result = R"(
(root:void)
`-(language::fct_declaration:void)
`-(language::name:foo:function)
)";
CHECK_AST_WITH_BUILTIN(data, result);
}
SECTION("errors")
{
SECTION("wrong parameter number")
@@ -1312,6 +1327,35 @@ let s : string, s = cat("foo", "bar");
CHECK_AST(data, result);
}
SECTION("bultin_t-function")
{
std::string_view data = R"(
let foo : builtin_t*N -> builtin_t, (b,n) -> b;
let b0: builtin_t;
let b : builtin_t, b = foo(b0, 1);
)";
std::string_view result = R"(
(root:void)
+-(language::fct_declaration:void)
| `-(language::name:foo:function)
+-(language::var_declaration:void)
| +-(language::name:b0:builtin_t)
| `-(language::type_name_id:builtin_t)
`-(language::var_declaration:void)
+-(language::name:b:builtin_t)
+-(language::type_name_id:builtin_t)
+-(language::name:b:builtin_t)
`-(language::function_evaluation:builtin_t)
+-(language::name:foo:function)
`-(language::function_argument_list:builtin_t*Z)
+-(language::name:b0:builtin_t)
`-(language::integer:1:Z)
)";
CHECK_AST_WITH_BUILTIN(data, result);
}
SECTION("compound return function")
{
std::string_view data = R"(
Loading