From 9a8bc9c3d14f37e8a25ef820d1cdc25807842ee4 Mon Sep 17 00:00:00 2001 From: Luciano Wolf Date: Mon, 17 May 2010 19:48:16 -0300 Subject: Adding new-style signal/slot tests. Based on Marcelo Lira's source code. Reviewer: Hugo Parente Lima , Luciano Wolf --- tests/signals/ref06_test.py | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 tests/signals/ref06_test.py (limited to 'tests/signals/ref06_test.py') 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() + -- cgit v1.2.3