Add import parsing

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-25 14:30:11 +02:00
parent 116bdecafe
commit 7c7e0c3272
6 changed files with 100 additions and 0 deletions
+25
View File
@@ -12,3 +12,28 @@ static void test_parser_module_name(void) {
parser_free(m);
tokenstream_close(ts);
}
static void test_parser_bad_module_name(void) {
TokenStream* ts = tokenstream_open("test.c", "import other_module;");
Module* m = parser_parse(ts);
assert_log_file("bad_module_name.log", "expected error to be logged for bad module name");
parser_free(m);
tokenstream_close(ts);
}
static void test_parser_imports(void) {
TokenStream* ts = tokenstream_open("test.c", "module my_module; import other_module;");
Module* m = parser_parse(ts);
assert_not_null(m, "expected module to be parsed");
assert_str("my_module", m->name, "expected name 'my_module'");
assert_not_null(m->imports, "expected imports to be parsed");
assert_int(1, m->import_count, "expected one import");
assert_str("other_module", m->imports[0].module_name, "expected import name 'other_module'");
parser_free(m);
tokenstream_close(ts);
}