summaryrefslogtreecommitdiff
path: root/tests/scanner/regress.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2020-04-26 13:17:15 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2020-04-28 12:09:54 +0100
commitf1e14a68ef3c056fab85ee43f331c1fa8b40b932 (patch)
tree215afdf962fb072991843440941478e674991172 /tests/scanner/regress.c
parentbb364bd25d50215b0c40d98ba5ecf2aa779e53a2 (diff)
downloadgobject-introspection-issue-328.tar.gz
Add support for element-type to GListModelissue-328
GListModel is an interface for creating typed, list-like containers. The data stored is GObject instances, but it's useful to be able to annotate the actual type, for both documentation and code generation purposes. The annotation should be optional, to maintain backward compatibility. Fixes: #328
Diffstat (limited to 'tests/scanner/regress.c')
-rw-r--r--tests/scanner/regress.c30
1 files changed, 30 insertions, 0 deletions
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);
+}