summaryrefslogtreecommitdiffstats
path: root/python/tests
diff options
context:
space:
mode:
authorSeth Nickell <seth@gnome.org>2004-05-30 05:30:09 +0000
committerSeth Nickell <seth@gnome.org>2004-05-30 05:30:09 +0000
commit26c937cb302506c0f4dd96e2a1dd98535f167696 (patch)
tree8e02bc49599319c3aa62855b68da6ce5b6780f9b /python/tests
parent2e8a06bb8fa49b5b2163450654819fd26593cee4 (diff)
2004-05-30 Seth Nickell <seth@gnome.org>
* 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.
Diffstat (limited to 'python/tests')
-rw-r--r--python/tests/test-client.py28
-rw-r--r--python/tests/test-server.py17
2 files changed, 45 insertions, 0 deletions
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()