aboutsummaryrefslogtreecommitdiffstats
path: root/tests/signals/ref06_test.py
diff options
context:
space:
mode:
authorLuciano Wolf <luciano.wolf@openbossa.org>2010-05-17 19:48:16 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-05-17 19:55:33 -0300
commit9a8bc9c3d14f37e8a25ef820d1cdc25807842ee4 (patch)
tree0ae157c42a570627f7b6a6b9b52ea1b93b30d638 /tests/signals/ref06_test.py
parent16809db86b7fbdde8cb4cf3d525d9d8e34fc03be (diff)
Adding new-style signal/slot tests.
Based on Marcelo Lira's source code. Reviewer: Hugo Parente Lima <hugo.lima@openbossa.org>, Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'tests/signals/ref06_test.py')
-rwxr-xr-xtests/signals/ref06_test.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/signals/ref06_test.py b/tests/signals/ref06_test.py
new file mode 100755
index 000000000..05712b3be
--- /dev/null
+++ b/tests/signals/ref06_test.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import unittest
+from PySide.QtCore import QObject, QCoreApplication, QTimeLine, Signal, Slot
+from helper import UsesQCoreApplication
+
+class ExtQObject(QObject):
+ signalbetween = Signal('qreal')
+
+ def __init__(self):
+ QObject.__init__(self)
+ self.counter = 0
+
+ @Slot('qreal')
+ def foo(self, value):
+ self.counter += 1
+
+
+class SignaltoSignalTest(UsesQCoreApplication):
+
+ def setUp(self):
+ UsesQCoreApplication.setUp(self)
+ self.receiver = ExtQObject()
+ self.timeline = QTimeLine(100)
+
+ def tearDown(self):
+ del self.timeline
+ del self.receiver
+ UsesQCoreApplication.tearDown(self)
+
+ def testSignaltoSignal(self):
+ self.timeline.setUpdateInterval(10)
+
+ self.timeline.finished.connect(self.app.quit)
+
+ self.timeline.valueChanged.connect(self.receiver.signalbetween)
+ self.receiver.signalbetween.connect(self.receiver.foo)
+
+ self.timeline.start()
+
+ self.app.exec_()
+
+ self.assertEqual(self.receiver.counter, 10)
+
+
+if __name__ == '__main__':
+ unittest.main()
+