Skip to content
Snippets Groups Projects
Commit f96425ff authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Add missing tests for ASTNodeDataTypeBuilder

parent 98ae9999
No related branches found
No related tags found
1 merge request!104Add missing tests for ASTNodeBuiltinFunctionExpressionBuilder
This commit is part of merge request !104. Comments created here will be created in the context of that merge request.
...@@ -1002,6 +1002,21 @@ let cat : string*N -> string, (s,n) -> s+n; ...@@ -1002,6 +1002,21 @@ let cat : string*N -> string, (s,n) -> s+n;
CHECK_AST(data, result); 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("errors")
{ {
SECTION("wrong parameter number") SECTION("wrong parameter number")
...@@ -1312,6 +1327,35 @@ let s : string, s = cat("foo", "bar"); ...@@ -1312,6 +1327,35 @@ let s : string, s = cat("foo", "bar");
CHECK_AST(data, result); 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") SECTION("compound return function")
{ {
std::string_view data = R"( std::string_view data = R"(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment