diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-06-18 16:31:20 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-06-18 16:31:20 +0100 |
commit | 543ebc088ffbef9a52de333d99361b47301571b3 (patch) | |
tree | 8c7351cb6aa8ef15e2cfff8f246e799a7d65211d /test/test-signals.py | |
parent | b62c9694c5f3e39ef00c08fee5754a91515bca54 (diff) | |
download | dbus-python-543ebc088ffbef9a52de333d99361b47301571b3.tar.gz |
Implement fallback objects.
In the process, simplify the signal decorator a bit - don't allow the signal
to be emitted from a subset of interfaces (removing connection_keyword),
deprecate path_keyword, disallow path_keyword on objects that support multiple
object paths, and add rel_path_keyword. This is an API removal since previous
patches, but is compatible with the last release.
Diffstat (limited to 'test/test-signals.py')
-rw-r--r-- | test/test-signals.py | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/test/test-signals.py b/test/test-signals.py index 797f70c..22b4b4b 100644 --- a/test/test-signals.py +++ b/test/test-signals.py @@ -48,14 +48,28 @@ if not pkg.startswith(pydir): if not _dbus_bindings.__file__.startswith(builddir): raise Exception("DBus modules (%s) are not being picked up from the package"%_dbus_bindings.__file__) + +NAME = "org.freedesktop.DBus.TestSuitePythonService" +IFACE = "org.freedesktop.DBus.TestSuiteInterface" +OBJECT = "/org/freedesktop/DBus/TestSuitePythonObject" + + class TestSignals(unittest.TestCase): def setUp(self): logger.info('setUp()') self.bus = dbus.SessionBus() - self.remote_object = self.bus.get_object("org.freedesktop.DBus.TestSuitePythonService", "/org/freedesktop/DBus/TestSuitePythonObject") - self.remote_object_follow = self.bus.get_object("org.freedesktop.DBus.TestSuitePythonService", "/org/freedesktop/DBus/TestSuitePythonObject", follow_name_owner_changes=True) - self.iface = dbus.Interface(self.remote_object, "org.freedesktop.DBus.TestSuiteInterface") - self.iface_follow = dbus.Interface(self.remote_object_follow, "org.freedesktop.DBus.TestSuiteInterface") + self.remote_object = self.bus.get_object(NAME, OBJECT) + self.remote_object_fallback_trivial = self.bus.get_object(NAME, + OBJECT + '/Fallback') + self.remote_object_fallback = self.bus.get_object(NAME, + OBJECT + '/Fallback/Badger') + self.remote_object_follow = self.bus.get_object(NAME, OBJECT, + follow_name_owner_changes=True) + self.iface = dbus.Interface(self.remote_object, IFACE) + self.iface_follow = dbus.Interface(self.remote_object_follow, IFACE) + self.fallback_iface = dbus.Interface(self.remote_object_fallback, IFACE) + self.fallback_trivial_iface = dbus.Interface( + self.remote_object_fallback_trivial, IFACE) self.in_test = None def signal_test_impl(self, iface, name, test_removal=False): @@ -104,6 +118,12 @@ class TestSignals(unittest.TestCase): raise AssertionError('Signal should not have arrived, but did') gobject.source_remove(source_id) + def testFallback(self): + self.signal_test_impl(self.fallback_iface, 'Fallback') + + def testFallbackTrivial(self): + self.signal_test_impl(self.fallback_trivial_iface, 'FallbackTrivial') + def testSignal(self): self.signal_test_impl(self.iface, 'Signal') |