From 7109418dbeac85be5513fa2a6e974576219e7582 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Tue, 31 May 2011 15:45:44 -0300 Subject: Created unit test for QObject.eventFilter function. Reviewer: Marcelo Lira Luciano Wolf --- tests/QtGui/CMakeLists.txt | 1 + tests/QtGui/event_filter_test.py | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 tests/QtGui/event_filter_test.py diff --git a/tests/QtGui/CMakeLists.txt b/tests/QtGui/CMakeLists.txt index 6a142d379..27cf8b525 100644 --- a/tests/QtGui/CMakeLists.txt +++ b/tests/QtGui/CMakeLists.txt @@ -63,6 +63,7 @@ PYSIDE_TEST(bug_844.py) PYSIDE_TEST(bug_854.py) PYSIDE_TEST(customproxywidget_test.py) PYSIDE_TEST(deepcopy_test.py) +PYSIDE_TEST(event_filter_test.py) PYSIDE_TEST(float_to_int_implicit_conversion_test.py) PYSIDE_TEST(grandparent_method_test.py) PYSIDE_TEST(hashabletype_test.py) diff --git a/tests/QtGui/event_filter_test.py b/tests/QtGui/event_filter_test.py new file mode 100644 index 000000000..88dbd960b --- /dev/null +++ b/tests/QtGui/event_filter_test.py @@ -0,0 +1,39 @@ +import unittest +import sys + +from helper import UsesQApplication +from PySide.QtCore import QObject, QEvent, QTimer +from PySide.QtGui import QWidget + +class MyFilter(QObject): + def eventFilter(self, obj, event): + if event.type() == QEvent.KeyPress: + pass + return QObject.eventFilter(self, obj, event) + + +class EventFilter(UsesQApplication): + def testRefCount(self): + o = QObject() + filt = MyFilter() + o.installEventFilter(filt) + self.assertEqual(sys.getrefcount(o), 3) + + o.installEventFilter(filt) + self.assertEqual(sys.getrefcount(o), 3) + + o.removeEventFilter(filt) + self.assertEqual(sys.getrefcount(o), 2) + + def testObjectDestructorOrder(self): + w = QWidget() + filt = MyFilter() + filt.app = self.app + w.installEventFilter(filt) + w.show() + w.close() + w = None + self.assert_(True) + +if __name__ == '__main__': + unittest.main() -- cgit v1.2.3