summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@osg.samsung.com>2015-06-03 12:06:36 +0100
committerDaniel Kolesa <d.kolesa@osg.samsung.com>2015-06-03 12:06:36 +0100
commit0c729faf688a518f10f75a890e7364d4f1e76939 (patch)
treebd140a33b2169777c7e65521359c02ef9cb4af53
parent5084938c045cf2f5df47a248327ba753c0efb814 (diff)
downloadefl-0c729faf688a518f10f75a890e7364d4f1e76939.tar.gz
eolian: initial test file for docs (no APIs to test yet)
-rw-r--r--src/Makefile_Eolian.am1
-rw-r--r--src/tests/eolian/data/docs.eo63
-rw-r--r--src/tests/eolian/eolian_parsing.c14
3 files changed, 78 insertions, 0 deletions
diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index efe3a22395..12d8ef5af5 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -96,6 +96,7 @@ tests/eolian/data/null.eo \
tests/eolian/data/no_nmsp.eo \
tests/eolian/data/import.eo \
tests/eolian/data/decl.eo \
+tests/eolian/data/docs.eo \
tests/eolian/data/import_types.eot
EOLIAN_TESTS_EOS_GENERATED = \
diff --git a/src/tests/eolian/data/docs.eo b/src/tests/eolian/data/docs.eo
new file mode 100644
index 0000000000..36d1c8f62d
--- /dev/null
+++ b/src/tests/eolian/data/docs.eo
@@ -0,0 +1,63 @@
+struct Foo {
+ [[This is struct Foo.
+
+ This is a longer description for struct Foo.
+ ]]
+ field1: int; [[Field documentation.]]
+ field2: float;
+ field3: short; [[Another field documentation.]]
+}
+
+enum Bar {
+ [[Docs for enum Bar.]]
+ blah = 0,
+ foo = 1, [[Docs for foo.]]
+ bar = 2 [[Docs for bar.]]
+}
+
+type Alias: Bar; [[Docs for typedef.
+
+ More docs for typedef.
+ See @Bar.
+ ]]
+
+var pants: int = 150; [[Docs for var.]]
+
+struct Opaque; [[Opaque struct docs. See @Foo for another struct.]]
+
+class Docs {
+ [[Docs for class.
+
+ More docs for class.
+ @Foo
+ @Bar
+ @Alias
+ @pants
+ ]]
+ methods {
+ meth {
+ [[Method documentation.]]
+ params {
+ @in a: int; [[Param documentation.]]
+ @out b: float;
+ @out c: long; [[Another param documentation.]]
+ }
+ return: int; [[Return documentation.]]
+ }
+ @property prop {
+ [[Property common documentation.]]
+ get {
+ [[Get documentation.]]
+ }
+ set {
+ [[Set documentation.]]
+ }
+ values {
+ val: int; [[Value documentation.]]
+ }
+ }
+ }
+ events {
+ clicked; [[Event docs.]]
+ }
+}
diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c
index 528eda3425..f3d86a543b 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -1128,6 +1128,19 @@ START_TEST(eolian_decl)
}
END_TEST
+START_TEST(eolian_docs)
+{
+ eolian_init();
+
+ fail_if(!eolian_directory_scan(PACKAGE_DATA_DIR"/data"));
+
+ fail_if(!eolian_file_parse(PACKAGE_DATA_DIR"/data/docs.eo"));
+ fail_if(!eolian_class_get_by_name("Docs"));
+
+ eolian_shutdown();
+}
+END_TEST
+
void eolian_parsing_test(TCase *tc)
{
tcase_add_test(tc, eolian_simple_parsing);
@@ -1148,5 +1161,6 @@ void eolian_parsing_test(TCase *tc)
tcase_add_test(tc, eolian_null);
tcase_add_test(tc, eolian_import);
tcase_add_test(tc, eolian_decl);
+ tcase_add_test(tc, eolian_docs);
}