summaryrefslogtreecommitdiffstats
path: root/tests/QtCore/bug_462.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/QtCore/bug_462.py')
-rw-r--r--tests/QtCore/bug_462.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/QtCore/bug_462.py b/tests/QtCore/bug_462.py
new file mode 100644
index 0000000..feb75c7
--- /dev/null
+++ b/tests/QtCore/bug_462.py
@@ -0,0 +1,43 @@
+import unittest
+import sys
+
+from PySide.QtCore import QObject, QCoreApplication, QEvent, QThread
+
+class MyEvent(QEvent):
+ def __init__(self,i):
+ super(MyEvent,self).__init__(QEvent.Type(QEvent.User + 100 ))
+ self.i = i
+
+class MyThread (QThread):
+ def __init__(self,owner):
+ super(MyThread,self).__init__()
+ self.owner=owner;
+
+ def run(self):
+ for i in xrange(3):
+ e=MyEvent(i);
+ QCoreApplication.postEvent(self.owner,e)
+
+class MyBaseObject(QObject):
+ def __init__(self):
+ QObject.__init__(self)
+ self.events = []
+ self.t = MyThread(self)
+ self.t.start()
+
+ def customEvent(self, event):
+ self.events.append(event)
+ if len(self.events) == 3:
+ self.app.quit()
+
+
+class CheckForEventsTypes(unittest.TestCase):
+ def testTypes(self):
+ o = MyBaseObject()
+ o.app = QCoreApplication(sys.argv)
+ o.app.exec_()
+ for e in o.events:
+ self.assert_(isinstance(e, MyEvent))
+
+if __name__ == '__main__':
+ unittest.main()