aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtCore/bug_921.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/QtCore/bug_921.py')
-rw-r--r--tests/QtCore/bug_921.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/QtCore/bug_921.py b/tests/QtCore/bug_921.py
new file mode 100644
index 000000000..b43f5b3d2
--- /dev/null
+++ b/tests/QtCore/bug_921.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+
+import unittest
+
+import PySide.QtCore as QtCore
+import PySide.QtGui as QtGui
+
+from helper import TimedQApplication
+
+class Signaller(QtCore.QObject):
+ s1 = QtCore.Signal()
+ s2 = QtCore.Signal()
+ s3 = QtCore.Signal()
+
+class Window(object):
+
+ def __init__(self, s):
+ self._window = QtGui.QMainWindow()
+ self._window.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)
+ self._window.setWindowTitle("Demo!")
+
+ self._s = s
+ self._s.s1.connect(self._on_signal)
+ self._s.s2.connect(self._on_signal)
+
+ def show(self):
+ self._window.show()
+
+ def _on_signal(self):
+ self._window.setWindowTitle("Signaled!")
+
+class TestTimedApp(TimedQApplication):
+ def testSignals(self):
+ s = Signaller()
+ w = Window(s)
+ w.show()
+
+ def midleFunction():
+ def internalFunction():
+ pass
+ s.s3.connect(internalFunction)
+
+ midleFunction()
+ self.app.exec_()
+ del w
+
+ s.s1.emit()
+ s.s2.emit()
+ s.s3.emit()
+
+if __name__ == '__main__':
+ unittest.main()