summaryrefslogtreecommitdiff
path: root/tests/scanner/regress.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2020-02-14 14:53:09 +0000
committerEmmanuele Bassi <ebassi@gmail.com>2020-04-24 14:25:21 +0000
commitb4c058bba4d95ae10e1e4238f9417fe954f97795 (patch)
treea8014c2c550a9cd2909f21c3b66975c7a7227c6f /tests/scanner/regress.c
parent9cb1ac54f5cda256230e76d4d78e960f98c9d2c3 (diff)
downloadgobject-introspection-b4c058bba4d95ae10e1e4238f9417fe954f97795.tar.gz
Add element-type support to GListModel
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. 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);
+}