summaryrefslogtreecommitdiffstats
path: root/tests/test_everything.py
diff options
context:
space:
mode:
authorZach Goldberg <zach@zachgoldberg.com>2010-04-17 12:56:19 -0400
committerZach Goldberg <zach@zachgoldberg.com>2010-04-18 11:21:12 -0400
commit7d533b8893bc4a8a82fd9708278fa1dce5d3551e (patch)
tree38fbd268211295f91400060eb82ef1728a0280ac /tests/test_everything.py
parenta90298cc9e6c0f336f887a71d80b1efd07ec2811 (diff)
downloadpygi-7d533b8893bc4a8a82fd9708278fa1dce5d3551e.tar.gz
pygi-7d533b8893bc4a8a82fd9708278fa1dce5d3551e.tar.xz
pygi-7d533b8893bc4a8a82fd9708278fa1dce5d3551e.zip
Move some tests from test_gi to test_everything
Diffstat (limited to 'tests/test_everything.py')
-rw-r--r--tests/test_everything.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/test_everything.py b/tests/test_everything.py
index 60e8f9d..8347081 100644
--- a/tests/test_everything.py
+++ b/tests/test_everything.py
@@ -46,3 +46,63 @@ class TestEverything(unittest.TestCase):
self.assertEquals(surface.get_width(), 10)
self.assertEquals(surface.get_height(), 10)
+class TestCallbacks(unittest.TestCase):
+ called = False
+ def testCallback(self):
+ TestCallbacks.called = False
+ def callback():
+ TestCallbacks.called = True
+
+ Everything.test_simple_callback(callback)
+ self.assertTrue(TestCallbacks.called)
+
+ def testCallbackException(self):
+ """
+ This test ensures that we get errors from callbacks correctly
+ and in particular that we do not segv when callbacks fail
+ """
+ def callback():
+ x = 1 / 0
+
+ try:
+ Everything.test_simple_callback(callback)
+ except ZeroDivisionError:
+ pass
+
+ def testDoubleCallbackException(self):
+ """
+ This test ensures that we get errors from callbacks correctly
+ and in particular that we do not segv when callbacks fail
+ """
+ def badcallback():
+ x = 1 / 0
+
+ def callback():
+ Everything.test_boolean(True)
+ Everything.test_boolean(False)
+ Everything.test_simple_callback(badcallback())
+
+ try:
+ Everything.test_simple_callback(callback)
+ except ZeroDivisionError:
+ pass
+
+ def testReturnValueCallback(self):
+ TestCallbacks.called = False
+ def callback():
+ TestCallbacks.called = True
+ return 44
+
+ self.assertEquals(Everything.test_callback(callback), 44)
+ self.assertTrue(TestCallbacks.called)
+
+ def testCallbackAsync(self):
+ TestCallbacks.called = False
+ def callback(foo):
+ TestCallbacks.called = True
+ return foo
+
+ Everything.test_callback_async(callback, 44);
+ i = Everything.test_callback_thaw_async();
+ self.assertEquals(44, i);
+ self.assertTrue(TestCallbacks.called)