summaryrefslogtreecommitdiff
path: root/test cases/frameworks
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/frameworks')
-rw-r--r--test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml2
-rw-r--r--test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt16
-rw-r--r--test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types4
-rw-r--r--test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build6
-rw-r--r--test cases/frameworks/10 gtk-doc/foo.c30
-rw-r--r--test cases/frameworks/10 gtk-doc/include/foo.h18
-rw-r--r--test cases/frameworks/10 gtk-doc/meson.build12
-rw-r--r--test cases/frameworks/10 gtk-doc/test.json4
8 files changed, 88 insertions, 4 deletions
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
index 95f73efdf..6ccd087dc 100644
--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml
@@ -35,7 +35,7 @@
</partintro>
<xi:include href="xml/foo.xml"/>
<xi:include href="../../include/bar.xml"/>
- <xi:include href="xml/foo-version.xml"/>
+ <xi:include href="xml/version.xml"/>
</reference>
</book>
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
new file mode 100644
index 000000000..d14c8dab0
--- /dev/null
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt
@@ -0,0 +1,16 @@
+<SECTION>
+<FILE>foo</FILE>
+<TITLE>FooObj</TITLE>
+FooObj
+FooObjClass
+foo_do_something
+</SECTION>
+
+<SECTION>
+<FILE>version</FILE>
+<TITLE>version</TITLE>
+FOO_MAJOR_VERSION
+FOO_MINOR_VERSION
+FOO_MICRO_VERSION
+</SECTION>
+
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
new file mode 100644
index 000000000..0a9c046f3
--- /dev/null
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types
@@ -0,0 +1,4 @@
+% This include is useless it's a regression test for https://github.com/mesonbuild/meson/issues/8744
+#include <foo.h>
+
+foo_obj_get_type
diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
index 149c6e956..f4b3724db 100644
--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build
@@ -1,5 +1,9 @@
gnome.gtkdoc('foobar',
- src_dir : inc,
+ src_dir : [inc, '.'],
main_sgml : 'foobar-docs.sgml',
content_files : [docbook, version_xml],
+ dependencies: foo_dep,
+ # Manually written types file for regression test:
+ # https://github.com/mesonbuild/meson/issues/8744
+ gobject_typesfile: 'foobar.types',
install : true)
diff --git a/test cases/frameworks/10 gtk-doc/foo.c b/test cases/frameworks/10 gtk-doc/foo.c
new file mode 100644
index 000000000..36c0639ec
--- /dev/null
+++ b/test cases/frameworks/10 gtk-doc/foo.c
@@ -0,0 +1,30 @@
+#include <foo.h>
+
+
+struct _FooObj {
+ GObject parent;
+ int dummy;
+};
+
+G_DEFINE_TYPE(FooObj, foo_obj, G_TYPE_OBJECT)
+
+static void foo_obj_init (FooObj *self)
+{
+}
+
+static void foo_obj_class_init (FooObjClass *klass)
+{
+}
+
+/**
+ * foo_do_something:
+ * @self: self
+ *
+ * Useless function.
+ *
+ * Returns: 0.
+ */
+int foo_do_something(FooObj *self)
+{
+ return 0;
+}
diff --git a/test cases/frameworks/10 gtk-doc/include/foo.h b/test cases/frameworks/10 gtk-doc/include/foo.h
index 7b8946b6a..510f3d1ec 100644
--- a/test cases/frameworks/10 gtk-doc/include/foo.h
+++ b/test cases/frameworks/10 gtk-doc/include/foo.h
@@ -1,5 +1,7 @@
#pragma once
+#include <glib-object.h>
+
/**
* FooIndecision:
* @FOO_MAYBE: Something maybe
@@ -13,3 +15,19 @@ typedef enum {
FOO_POSSIBLY,
} FooIndecision;
+/**
+ * FooObjClass:
+ *
+ * The class
+ */
+
+/**
+ * FooObj:
+ *
+ * The instance
+ */
+
+#define FOO_TYPE_OBJ foo_obj_get_type()
+G_DECLARE_FINAL_TYPE(FooObj, foo_obj, FOO, OBJ, GObject)
+
+int foo_do_something(FooObj *self);
diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build
index 5c22ad0af..292980faf 100644
--- a/test cases/frameworks/10 gtk-doc/meson.build
+++ b/test cases/frameworks/10 gtk-doc/meson.build
@@ -24,4 +24,16 @@ if gtkdoc_ver.version_compare('<1.26')
error('MESON_SKIP_TEST gtk-doc test requires gtkdoc >= 1.26.')
endif
+gobject = dependency('gobject-2.0')
+
+libfoo = library('foo', 'foo.c',
+ include_directories: inc,
+ dependencies: gobject,
+)
+
+foo_dep = declare_dependency(
+ link_with: libfoo,
+ include_directories: inc,
+)
+
subdir('doc')
diff --git a/test cases/frameworks/10 gtk-doc/test.json b/test cases/frameworks/10 gtk-doc/test.json
index c44126cc7..03ad05958 100644
--- a/test cases/frameworks/10 gtk-doc/test.json
+++ b/test cases/frameworks/10 gtk-doc/test.json
@@ -4,8 +4,8 @@
{"type": "file", "file": "usr/share/gtk-doc/html/foobar/BAR.html"},
{"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.devhelp2"},
{"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.html"},
- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo.html"},
- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo-version.html"},
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/FooObj.html"},
+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foo-version.html"},
{"type": "file", "file": "usr/share/gtk-doc/html/foobar/home.png"},
{"type": "file", "file": "usr/share/gtk-doc/html/foobar/index.html"},
{"type": "file", "file": "usr/share/gtk-doc/html/foobar/left.png"},