diff options
-rw-r--r-- | gi/overrides/GObject.py | 1 | ||||
-rw-r--r-- | tests/test_gobject.py | 19 |
2 files changed, 19 insertions, 1 deletions
diff --git a/gi/overrides/GObject.py b/gi/overrides/GObject.py index 95a3c1f3..823c0b04 100644 --- a/gi/overrides/GObject.py +++ b/gi/overrides/GObject.py @@ -520,7 +520,6 @@ class Object(GObjectModule.Object): interface_install_property = _unsupported_method interface_list_properties = _unsupported_method notify_by_pspec = _unsupported_method - run_dispose = _unsupported_method watch_closure = _unsupported_method # Make all reference management methods private but still accessible. diff --git a/tests/test_gobject.py b/tests/test_gobject.py index f5a65bba..fbc3bb79 100644 --- a/tests/test_gobject.py +++ b/tests/test_gobject.py @@ -67,6 +67,25 @@ def test_gobject_weak_ref(): class TestGObjectAPI(unittest.TestCase): + def test_run_dispose(self): + class TestObject(GObject.GObject): + int_prop = GObject.Property(default=0, type=int) + + obj = TestObject() + called = [] + + def on_notify(*args): + called.append(args) + + obj.connect('notify::int-prop', on_notify) + obj.notify("int-prop") + obj.notify("int-prop") + # after this everything should be disconnected + obj.run_dispose() + obj.notify("int-prop") + obj.notify("int-prop") + assert len(called) == 2 + def test_call_method_uninitialized_instance(self): obj = GObject.Object.__new__(GObject.Object) with self.assertRaisesRegex(RuntimeError, '.*is not initialized'): |