summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_none.page30
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_object.page31
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_none.page32
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_object.page33
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_none.page32
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_object.page32
-rw-r--r--tests/scanner/Regress-1.0-expected.gir29
-rw-r--r--tests/scanner/Regress-1.0-sections-expected.txt2
-rw-r--r--tests/scanner/regress.c30
-rw-r--r--tests/scanner/regress.h6
10 files changed, 257 insertions, 0 deletions
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_none.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_none.page
new file mode 100644
index 00000000..b1458649
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_none.page
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<page id="Regress.test_list_model_none"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GListModel*</api:type>
+ </api:returns>
+ <api:name>regress_test_list_model_none</api:name>
+ </api:function>
+ </info>
+ <title>regress_test_list_model_none</title>
+ <synopsis><code mime="text/x-csrc">
+GListModel* regress_test_list_model_none (void);
+ </code></synopsis>
+ <p>Test GListModel with no annotation.</p>
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+ <p>a GListModel</p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_object.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_object.page
new file mode 100644
index 00000000..620789cd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_list_model_object.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<page id="Regress.test_list_model_object"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GListModel*</api:type>
+ </api:returns>
+ <api:name>regress_test_list_model_object</api:name>
+ </api:function>
+ </info>
+ <title>regress_test_list_model_object</title>
+ <synopsis><code mime="text/x-csrc">
+GListModel* regress_test_list_model_object (void);
+ </code></synopsis>
+ <p>Test GListModel return value with an element type annotation.</p>
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+ <p>a GListModel
+ containing RegressTestObj values</p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_none.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_none.page
new file mode 100644
index 00000000..099232e0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_none.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="Regress.test_list_model_none"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Gio.ListModel({item_type: void})</api:type>
+ </api:returns>
+ <api:name>regress_test_list_model_none</api:name>
+ </api:function>
+ </info>
+ <title>Regress.test_list_model_none</title>
+ <synopsis><code mime="text/x-gjs">
+function test_list_model_none(): Gio.ListModel({item_type: void}) {
+ // Gjs wrapper for regress_test_list_model_none()
+}
+ </code></synopsis>
+ <p>Test GListModel with no annotation.</p>
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+ <p>a GListModel</p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_object.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_object.page
new file mode 100644
index 00000000..618ca7e3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_list_model_object.page
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<page id="Regress.test_list_model_object"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Gio.ListModel({item_type: Regress.TestObj})</api:type>
+ </api:returns>
+ <api:name>regress_test_list_model_object</api:name>
+ </api:function>
+ </info>
+ <title>Regress.test_list_model_object</title>
+ <synopsis><code mime="text/x-gjs">
+function test_list_model_object(): Gio.ListModel({item_type: Regress.TestObj}) {
+ // Gjs wrapper for regress_test_list_model_object()
+}
+ </code></synopsis>
+ <p>Test GListModel return value with an element type annotation.</p>
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+ <p>a GListModel
+ containing RegressTestObj values</p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_none.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_none.page
new file mode 100644
index 00000000..61cb3de1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_none.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="Regress.test_list_model_none"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Gio.ListModel(item_type=gpointer)</api:type>
+ </api:returns>
+ <api:name>regress_test_list_model_none</api:name>
+ </api:function>
+ </info>
+ <title>Regress.test_list_model_none</title>
+ <synopsis><code mime="text/x-python">
+@returns(Gio.ListModel(item_type=gpointer))
+def test_list_model_none():
+ # Python wrapper for regress_test_list_model_none()
+ </code></synopsis>
+ <p>Test GListModel with no annotation.</p>
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_object.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_object.page
new file mode 100644
index 00000000..d9dca201
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_list_model_object.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="Regress.test_list_model_object"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Gio.ListModel(item_type=Regress.TestObj)</api:type>
+ </api:returns>
+ <api:name>regress_test_list_model_object</api:name>
+ </api:function>
+ </info>
+ <title>Regress.test_list_model_object</title>
+ <synopsis><code mime="text/x-python">
+@returns(Gio.ListModel(item_type=Regress.TestObj))
+def test_list_model_object():
+ # Python wrapper for regress_test_list_model_object()
+ </code></synopsis>
+ <p>Test GListModel return value with an element type annotation.</p>
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index cef3b124..d965596f 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -8041,6 +8041,35 @@ element-type annotation.</doc>
</parameter>
</parameters>
</function>
+ <function name="test_list_model_none"
+ c:identifier="regress_test_list_model_none">
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4689">Test GListModel with no annotation.</doc>
+ <source-position filename="regress.h" line="1538"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4694">a GListModel</doc>
+ <type name="Gio.ListModel" c:type="GListModel*"/>
+ </return-value>
+ </function>
+ <function name="test_list_model_object"
+ c:identifier="regress_test_list_model_object">
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4704">Test GListModel return value with an element type annotation.</doc>
+ <source-position filename="regress.h" line="1541"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="regress.c"
+ line="4709">a GListModel
+ containing RegressTestObj values</doc>
+ <type name="Gio.ListModel" c:type="GListModel*">
+ <type name="TestObj"/>
+ </type>
+ </return-value>
+ </function>
<function name="test_long" c:identifier="regress_test_long">
<source-position filename="regress.h" line="73"/>
<return-value transfer-ownership="none">
diff --git a/tests/scanner/Regress-1.0-sections-expected.txt b/tests/scanner/Regress-1.0-sections-expected.txt
index b35b3a9a..84f7ec67 100644
--- a/tests/scanner/Regress-1.0-sections-expected.txt
+++ b/tests/scanner/Regress-1.0-sections-expected.txt
@@ -159,6 +159,8 @@ regress_test_int64
regress_test_int8
regress_test_int_out_utf8
regress_test_int_value_arg
+regress_test_list_model_none
+regress_test_list_model_object
regress_test_long
regress_test_multi_callback
regress_test_multi_double_args
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 3a63436b..e81d1989 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -4686,3 +4686,33 @@ regress_test_array_struct_in_none (RegressTestStructA *arr, gsize len)
g_assert_cmpint (arr[2].some_int, ==, 303);
}
+/**
+ * regress_test_list_model_none:
+ *
+ * Test GListModel with no annotation.
+ *
+ * Returns: (transfer full): a GListModel
+ */
+GListModel *
+regress_test_list_model_none (void)
+{
+ GListStore *res = g_list_store_new (regress_test_obj_get_type ());
+
+ return G_LIST_MODEL (res);
+}
+
+/**
+ * regress_test_list_model_object:
+ *
+ * Test GListModel return value with an element type annotation.
+ *
+ * Returns: (transfer full) (element-type RegressTestObj): a GListModel
+ * containing RegressTestObj values
+ */
+GListModel *
+regress_test_list_model_object (void)
+{
+ GListStore *res = g_list_store_new (regress_test_obj_get_type ());
+
+ return G_LIST_MODEL (res);
+}
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index 0b239f14..9ff699fb 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -1534,4 +1534,10 @@ void regress_test_array_struct_in_full (RegressTestStructA *arr, gsize len);
_GI_TEST_EXTERN
void regress_test_array_struct_in_none (RegressTestStructA *arr, gsize len);
+_GI_TEST_EXTERN
+GListModel *regress_test_list_model_none (void);
+
+_GI_TEST_EXTERN
+GListModel *regress_test_list_model_object (void);
+
#endif /* __GITESTTYPES_H__ */