summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2019-05-26 18:24:40 +0200
committerDaniel Kolesa <d.kolesa@samsung.com>2019-05-26 18:26:49 +0200
commitb4dd54617f2bf81bfd20feec6f33061fe589eeff (patch)
treeadc3b430738376931c878bfeadd7af48e172ce58
parent891396897b71d1318a822536012def586816febb (diff)
downloadefl-b4dd54617f2bf81bfd20feec6f33061fe589eeff.tar.gz
eolian: add test for file versioning
-rw-r--r--src/tests/eolian/data/class_simple.eo2
-rw-r--r--src/tests/eolian/eolian_parsing.c17
2 files changed, 19 insertions, 0 deletions
diff --git a/src/tests/eolian/data/class_simple.eo b/src/tests/eolian/data/class_simple.eo
index c6aa05b00b..8717145806 100644
--- a/src/tests/eolian/data/class_simple.eo
+++ b/src/tests/eolian/data/class_simple.eo
@@ -1,3 +1,5 @@
+#version 1
+
const Foo: int = 5; [[doc for constant]]
var Bar: float = 10.3f; [[doc for global]]
diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c
index 2fbb1b52b0..c8f4383113 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -1587,6 +1587,22 @@ EFL_START_TEST(eolian_class_unimpl)
}
EFL_END_TEST
+EFL_START_TEST(eolian_version)
+{
+ Eolian_State *eos = eolian_state_new();
+ const Eolian_Unit *u1, *u2;
+
+ fail_if(!eolian_state_directory_add(eos, TESTS_SRC_DIR"/data"));
+
+ fail_if(!(u1 = eolian_state_file_parse(eos, "class_simple.eo")));
+ fail_if(!(u2 = eolian_state_file_parse(eos, "base.eo")));
+ fail_if(eolian_unit_version_get(u1) != 1);
+ fail_if(eolian_unit_version_get(u2) != 1);
+
+ eolian_state_free(eos);
+}
+EFL_END_TEST
+
void eolian_parsing_test(TCase *tc)
{
tcase_add_test(tc, eolian_simple_parsing);
@@ -1612,4 +1628,5 @@ void eolian_parsing_test(TCase *tc)
tcase_add_test(tc, eolian_mixins_require);
tcase_add_test(tc, eolian_class_requires_classes);
tcase_add_test(tc, eolian_class_unimpl);
+ tcase_add_test(tc, eolian_version);
}