From f96425ff1e58641e3bac3c96ab9277ae48af7d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Tue, 27 Jul 2021 14:15:46 +0200 Subject: [PATCH] Add missing tests for ASTNodeDataTypeBuilder --- tests/test_ASTNodeDataTypeBuilder.cpp | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tests/test_ASTNodeDataTypeBuilder.cpp b/tests/test_ASTNodeDataTypeBuilder.cpp index 346807df3..96af38a0b 100644 --- a/tests/test_ASTNodeDataTypeBuilder.cpp +++ b/tests/test_ASTNodeDataTypeBuilder.cpp @@ -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"( -- GitLab