From 26c937cb302506c0f4dd96e2a1dd98535f167696 Mon Sep 17 00:00:00 2001 From: Seth Nickell Date: Sun, 30 May 2004 05:30:09 +0000 Subject: 2004-05-30 Seth Nickell * python/dbus_bindings.pyx.in: Add support for ObjectPath type. * python/dbus.py: Refactor message handling code to a common function. * python/tests/test-client.py: * python/tests/test-server.py: Add tests that check to make sure values of all types can be echoed from a service w/o mangling. --- python/tests/test-client.py | 28 ++++++++++++++++++++++++++++ python/tests/test-server.py | 17 +++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 python/tests/test-client.py create mode 100644 python/tests/test-server.py (limited to 'python/tests') diff --git a/python/tests/test-client.py b/python/tests/test-client.py new file mode 100644 index 00000000..d12ee2aa --- /dev/null +++ b/python/tests/test-client.py @@ -0,0 +1,28 @@ +import dbus +import dbus_bindings + + +def TestEcho(value, should_be_equal = True): + global remote_object + echoed = remote_object.Echo(value) + if type(echoed) != type(value): + raise Exception ("Sending %s, expected echo of type %s, but got %s" % (value, type(value), type(echoed))) + + if echoed.__class__ != value.__class__: + raise Exception ("Sending %s, expected echo to be of class %s, but got %s" % (value, value.__class__, echoed.__class__)) + + if should_be_equal: + if echoed != value: + raise Exception("Sending %s, expected echo to be the same, but was %s" % (value, echoed)) + +session_bus = dbus.SessionBus() + +remote_service = session_bus.get_service("org.designfu.Test") +remote_object = remote_service.get_object("/TestObject", "org.designfu.Test") + +TestEcho(chr(120)) +TestEcho(10) +TestEcho(39.5) +TestEcho("HelloWorld") +TestEcho(dbus_bindings.ObjectPath("/test/path")) + diff --git a/python/tests/test-server.py b/python/tests/test-server.py new file mode 100644 index 00000000..2af685bc --- /dev/null +++ b/python/tests/test-server.py @@ -0,0 +1,17 @@ +import dbus +import gtk + +class TestObject(dbus.Object): + def __init__(self, service): + method_list = [ self.Echo ] + dbus.Object.__init__(self, "/TestObject", method_list, service) + + def Echo(self, variable): + return variable + +session_bus = dbus.SessionBus() + +local_service = dbus.Service("org.designfu.Test", bus=session_bus) +local_object = TestObject(local_service) + +gtk.main() -- cgit