[pygobject/wip/jfelder/template-gtk4: 35/36] tests: Update template tests to work with gtk4
- From: Jean Felder <jfelder src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject/wip/jfelder/template-gtk4: 35/36] tests: Update template tests to work with gtk4
- Date: Sat, 21 Nov 2020 14:28:51 +0000 (UTC)
commit cc72bbefc95b3561a50b50920c26d28e26b5ee85
Author: Jean Felder <jfelder src gnome org>
Date: Sat Nov 21 15:01:51 2020 +0100
tests: Update template tests to work with gtk4
The different template tests now support both GTK3 and GTK4.
tests/test_overrides_gtk.py | 59 +++++++++++++++++++++++++++++----------------
1 file changed, 38 insertions(+), 21 deletions(-)
---
diff --git a/tests/test_overrides_gtk.py b/tests/test_overrides_gtk.py
index 97843c26..bd45d22f 100644
--- a/tests/test_overrides_gtk.py
+++ b/tests/test_overrides_gtk.py
@@ -1094,9 +1094,20 @@ class TestBuilder(unittest.TestCase):
with pytest.raises(TypeError):
Gtk._extract_handler_and_args({"foo": []}, "foo")
- @unittest.skipIf(Gtk_version == "4.0", "FIXME!!")
def test_builder_with_handler_and_args(self):
- builder = Gtk.Builder()
+ args_collector = []
+
+ def on_signal(*args):
+ args_collector.append(args)
+
+ signals_dict = {'on_signal1': (on_signal, 1, 2),
+ 'on_signal2': on_signal}
+
+ if GTK4:
+ builder = Gtk.Builder(signals_dict)
+ else:
+ builder = Gtk.Builder()
+
builder.add_from_string("""
<interface>
<object class="GIOverrideSignalTest" id="object_sig_test">
@@ -1106,13 +1117,8 @@ class TestBuilder(unittest.TestCase):
</interface>
""")
- args_collector = []
-
- def on_signal(*args):
- args_collector.append(args)
-
- builder.connect_signals({'on_signal1': (on_signal, 1, 2),
- 'on_signal2': on_signal})
+ if not GTK4:
+ builder.connect_signals(signals_dict)
objects = builder.get_objects()
self.assertEqual(len(objects), 1)
@@ -1123,9 +1129,20 @@ class TestBuilder(unittest.TestCase):
self.assertSequenceEqual(args_collector[0], (obj, 1, 2))
self.assertSequenceEqual(args_collector[1], (obj, ))
- @unittest.skipIf(Gtk_version == "4.0", "FIXME!!")
def test_builder_with_handler_object(self):
- builder = Gtk.Builder()
+ args_collector = []
+
+ def on_signal(*args):
+ args_collector.append(args)
+
+ signals_dict = {'on_signal1': (on_signal, 1, 2),
+ 'on_signal2': on_signal}
+
+ if GTK4:
+ builder = Gtk.Builder(signals_dict)
+ else:
+ builder = Gtk.Builder()
+
builder.add_from_string("""
<interface>
<object class="GIOverrideSignalTestObject" id="foo"/>
@@ -1136,13 +1153,9 @@ class TestBuilder(unittest.TestCase):
</interface>
""")
- args_collector = []
-
- def on_signal(*args):
- args_collector.append(args)
+ if not GTK4:
+ builder.connect_signals(signals_dict)
- builder.connect_signals({'on_signal1': (on_signal, 1, 2),
- 'on_signal2': on_signal})
obj = builder.get_object("foo")
emitter = builder.get_object("object_sig_test")
emitter.emit("test-signal")
@@ -1150,7 +1163,6 @@ class TestBuilder(unittest.TestCase):
assert args_collector[0] == (obj, 1, 2)
assert args_collector[1] == (obj, )
- @unittest.skipIf(Gtk_version == "4.0", "FIXME!!")
def test_builder(self):
self.assertEqual(Gtk.Builder, gi.overrides.Gtk.Builder)
@@ -1171,7 +1183,11 @@ class TestBuilder(unittest.TestCase):
self.after_sentinel += 1
signal_checker = SignalCheck()
- builder = Gtk.Builder()
+ signal_checker = SignalCheck()
+ if GTK4:
+ builder = Gtk.Builder(signal_checker)
+ else:
+ builder = Gtk.Builder()
# add object1 to the builder
builder.add_from_string("""
@@ -1198,8 +1214,9 @@ class TestBuilder(unittest.TestCase):
</interface>
""", ['object3'])
- # hook up signals
- builder.connect_signals(signal_checker)
+ # hook up signals for Gtk3
+ if not GTK4:
+ builder.connect_signals(signal_checker)
# call their notify signals and check sentinel
objects = builder.get_objects()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]