diff options
author | Jean Felder <jfelder@src.gnome.org> | 2020-11-21 15:01:51 +0100 |
---|---|---|
committer | Jean Felder <jfelder@src.gnome.org> | 2020-12-06 15:04:45 +0100 |
commit | 66fd10e5b97e0e29d969edfb1cfdc0eed4bfe090 (patch) | |
tree | 69f6e22fb9199e46141200d63425d048e4ab31f1 /tests | |
parent | dea3b5d3271cb85d711453b08be14ff72cff3405 (diff) | |
download | pygobject-66fd10e5b97e0e29d969edfb1cfdc0eed4bfe090.tar.gz |
tests: Update builer tests to work with gtk4
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_overrides_gtk.py | 59 |
1 files changed, 38 insertions, 21 deletions
diff --git a/tests/test_overrides_gtk.py b/tests/test_overrides_gtk.py index 89e893a8..72fd2c8e 100644 --- a/tests/test_overrides_gtk.py +++ b/tests/test_overrides_gtk.py @@ -1125,9 +1125,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"> @@ -1137,13 +1148,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) @@ -1154,9 +1160,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"/> @@ -1167,13 +1184,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") @@ -1181,7 +1194,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) @@ -1202,7 +1214,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(""" @@ -1229,8 +1245,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() |