[pygobject] tests: add tests for boxed in GLists. See !24
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject] tests: add tests for boxed in GLists. See !24
- Date: Fri, 16 Feb 2018 16:44:39 +0000 (UTC)
commit c56b4510649dae58519681c1a53aed85d598139e
Author: Christoph Reiter <reiter christoph gmail com>
Date: Fri Feb 16 17:43:00 2018 +0100
tests: add tests for boxed in GLists. See !24
tests/regressextra.c | 33 +++++++++++++++++++++++++++++++++
tests/regressextra.h | 4 ++++
tests/test_everything.py | 16 ++++++++++++++++
3 files changed, 53 insertions(+)
---
diff --git a/tests/regressextra.c b/tests/regressextra.c
index 9efa5986..4c92f337 100644
--- a/tests/regressextra.c
+++ b/tests/regressextra.c
@@ -67,3 +67,36 @@ regress_test_array_fixed_boxed_none_out (RegressTestBoxedC ***objs)
*objs = arr;
}
+
+/**
+ * regress_test_glist_boxed_none_return
+ * Return value: (element-type RegressTestBoxedC) (transfer none):
+**/
+GList *
+regress_test_glist_boxed_none_return (guint count)
+{
+ static GList *list = NULL;
+ if (!list) {
+ while (count > 0) {
+ list = g_list_prepend (list, regress_test_boxed_c_new ());
+ count--;
+ }
+ }
+
+ return list;
+}
+
+/**
+ * regress_test_glist_boxed_full_return
+ * Return value: (element-type RegressTestBoxedC) (transfer full):
+**/
+GList *
+regress_test_glist_boxed_full_return (guint count)
+{
+ GList *list = NULL;
+ while (count > 0) {
+ list = g_list_prepend (list, regress_test_boxed_c_new ());
+ count--;
+ }
+ return list;
+}
diff --git a/tests/regressextra.h b/tests/regressextra.h
index bfc6c3b0..d42edbd4 100644
--- a/tests/regressextra.h
+++ b/tests/regressextra.h
@@ -16,5 +16,9 @@ RegressTestBoxedC *regress_test_boxed_c_wrapper_get (RegressTestBoxedCWrapper *s
_GI_TEST_EXTERN
void regress_test_array_fixed_boxed_none_out (RegressTestBoxedC ***objs);
+_GI_TEST_EXTERN
+GList *regress_test_glist_boxed_none_return (guint count);
+_GI_TEST_EXTERN
+GList *regress_test_glist_boxed_full_return (guint count);
#endif /* REGRESS_EXTRA_H */
diff --git a/tests/test_everything.py b/tests/test_everything.py
index ee852098..c8694add 100644
--- a/tests/test_everything.py
+++ b/tests/test_everything.py
@@ -1166,6 +1166,22 @@ class TestBoxed(unittest.TestCase):
assert arr[0].refcount == 2
assert arr[1].refcount == 2
+ def test_glist_boxed_none_return(self):
+ assert len(Everything.test_glist_boxed_none_return(0)) == 0
+
+ list_ = Everything.test_glist_boxed_none_return(2)
+ assert len(list_) == 2
+ assert list_[0].refcount == 2
+ assert list_[1].refcount == 2
+
+ def test_glist_boxed_full_return(self):
+ assert len(Everything.test_glist_boxed_full_return(0)) == 0
+
+ list_ = Everything.test_glist_boxed_full_return(2)
+ assert len(list_) == 2
+ assert list_[0].refcount == 1
+ assert list_[1].refcount == 1
+
class TestTortureProfile(unittest.TestCase):
def test_torture_profile(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]