[pygobject] tests: check passing Boxed type in GValue as function parameters
- From: Simon Feltman <sfeltman src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject] tests: check passing Boxed type in GValue as function parameters
- Date: Wed, 2 Mar 2016 05:08:31 +0000 (UTC)
commit cc75f994a07639b9ffcc6afef757768780a076de
Author: Thibault Saunier <tsaunier gnome org>
Date: Fri Feb 5 15:00:10 2016 +0100
tests: check passing Boxed type in GValue as function parameters
https://bugzilla.gnome.org/show_bug.cgi?id=761592
tests/Makefile.am | 13 +++++++++++--
tests/gimarshallingtestsextra.c | 37 +++++++++++++++++++++++++++++++++++++
tests/gimarshallingtestsextra.h | 26 ++++++++++++++++++++++++++
tests/test_error.py | 6 ++++++
4 files changed, 80 insertions(+), 2 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9d5db5e..233175c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -2,7 +2,14 @@ CLEANFILES =
check_LTLIBRARIES = libgimarshallingtests.la
test_typelibs = GIMarshallingTests-1.0.typelib
-nodist_libgimarshallingtests_la_SOURCES = $(GI_DATADIR)/tests/gimarshallingtests.c
$(GI_DATADIR)/tests/gimarshallingtests.h
+nodist_libgimarshallingtests_la_SOURCES = \
+ $(GI_DATADIR)/tests/gimarshallingtests.c \
+ $(GI_DATADIR)/tests/gimarshallingtests.h
+
+dist_libgimarshallingtests_la_SOURCES = \
+ $(srcdir)/gimarshallingtestsextra.c \
+ $(srcdir)/gimarshallingtestsextra.h
+
libgimarshallingtests_la_CFLAGS = $(GLIB_CFLAGS)
libgimarshallingtests_la_LDFLAGS = -module -avoid-version $(GLIB_LIBS) -no-undefined
@@ -17,7 +24,9 @@ GIMarshallingTests-1.0.gir: libgimarshallingtests.la Makefile
--library=libgimarshallingtests.la \
--libtool="$(top_builddir)/libtool" \
--output $@ \
- $(nodist_libgimarshallingtests_la_SOURCES)
+ $(nodist_libgimarshallingtests_la_SOURCES) \
+ $(dist_libgimarshallingtests_la_SOURCES)
+
GIMarshallingTests-1.0.typelib: GIMarshallingTests-1.0.gir Makefile
$(AM_V_GEN) g-ir-compiler $< -o $@
diff --git a/tests/gimarshallingtestsextra.c b/tests/gimarshallingtestsextra.c
new file mode 100644
index 0000000..9624077
--- /dev/null
+++ b/tests/gimarshallingtestsextra.c
@@ -0,0 +1,37 @@
+/* gimarshallingtestsextra.c
+ *
+ * Copyright (C) 2016 Thibault Saunier <tsaunier gnome org>
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "gimarshallingtestsextra.h"
+
+void
+gi_marshalling_tests_compare_two_gerrors_in_gvalue (GValue *v, GValue *v1)
+{
+ GError *error, * error1;
+
+ g_assert_cmpstr (g_type_name (G_VALUE_TYPE (v)), ==,
+ g_type_name (G_TYPE_ERROR));
+ g_assert_cmpstr (g_type_name (G_VALUE_TYPE (v1)), ==,
+ g_type_name (G_TYPE_ERROR));
+
+ error = (GError*) g_value_get_boxed (v);
+ error1 = (GError*) g_value_get_boxed (v1);
+
+ g_assert_cmpint (error->domain, ==, error1->domain);
+ g_assert_cmpint (error->code, ==, error1->code);
+ g_assert_cmpstr (error->message, ==, error1->message);
+}
diff --git a/tests/gimarshallingtestsextra.h b/tests/gimarshallingtestsextra.h
new file mode 100644
index 0000000..6858551
--- /dev/null
+++ b/tests/gimarshallingtestsextra.h
@@ -0,0 +1,26 @@
+/* gimarshallingtestsextra.h
+ *
+ * Copyright (C) 2016 Thibault Saunier <tsaunier gnome org>
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef EXTRA_TESTS
+#define EXTRA_TESTS
+
+#include <glib-object.h>
+
+void gi_marshalling_tests_compare_two_gerrors_in_gvalue (GValue *v, GValue *v1);
+
+#endif /* EXTRA_TESTS */
diff --git a/tests/test_error.py b/tests/test_error.py
index f5a89ce..5702490 100644
--- a/tests/test_error.py
+++ b/tests/test_error.py
@@ -133,6 +133,12 @@ class TestMarshalling(unittest.TestCase):
self.assertEqual(e.domain, 'mydomain')
self.assertEqual(e.code, 42)
+ def tests_compare_two_gerrors_in_gvalue(self):
+ error = GLib.Error.new_literal(1, "error", 1)
+ error1 = GLib.Error.new_literal(1, "error", 1)
+
+ GIMarshallingTests.compare_two_gerrors_in_gvalue(error, error1)
+
if __name__ == '__main__':
unittest.main()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]