summaryrefslogtreecommitdiff
path: root/test/test-signals.py
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2007-06-18 16:31:20 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2007-06-18 16:31:20 +0100
commit543ebc088ffbef9a52de333d99361b47301571b3 (patch)
tree8c7351cb6aa8ef15e2cfff8f246e799a7d65211d /test/test-signals.py
parentb62c9694c5f3e39ef00c08fee5754a91515bca54 (diff)
downloaddbus-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.py28
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')