From 6e9b7ffd5971d56101a304e3bd9e0a4205637aaf Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Wed, 24 Aug 2011 17:24:21 -0300 Subject: [PATCH] Created unit test for QMenu, QMenuBar, QToolBar clear function. Reviewed by: Hugo Parente Luciano Wolf --- tests/QtGui/CMakeLists.txt | 1 + tests/QtGui/action_clear.py | 46 +++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 tests/QtGui/action_clear.py diff --git a/tests/QtGui/CMakeLists.txt b/tests/QtGui/CMakeLists.txt index 96920b4..9c9339d 100644 --- a/tests/QtGui/CMakeLists.txt +++ b/tests/QtGui/CMakeLists.txt @@ -1,5 +1,6 @@ #Keep this in alphabetical sort +PYSIDE_TEST(action_clear.py) PYSIDE_TEST(api2_test.py) PYSIDE_TEST(add_action_test.py) PYSIDE_TEST(bug_172.py) diff --git a/tests/QtGui/action_clear.py b/tests/QtGui/action_clear.py new file mode 100644 index 0000000..54d5e93 --- /dev/null +++ b/tests/QtGui/action_clear.py @@ -0,0 +1,46 @@ +from PySide.QtGui import QMenu, QWidget, QMenuBar, QToolBar +import weakref + +import unittest +from helper import UsesQApplication + + +class TestQActionLifeCycle(UsesQApplication): + def actionDestroyed(self, act): + self._actionDestroyed = True + + def testMenu(self): + self._actionDestroyed = False + w = QWidget() + menu = QMenu(w) + act = menu.addAction("MENU") + _ref = weakref.ref(act, self.actionDestroyed) + act = None + self.assertFalse(self._actionDestroyed) + menu.clear() + self.assertTrue(self._actionDestroyed) + + def testMenuBar(self): + self._actionDestroyed = False + w = QWidget() + menuBar = QMenuBar(w) + act = menuBar.addAction("MENU") + _ref = weakref.ref(act, self.actionDestroyed) + act = None + self.assertFalse(self._actionDestroyed) + menuBar.clear() + self.assertTrue(self._actionDestroyed) + + def testToolBar(self): + self._actionDestroyed = False + w = QWidget() + toolBar = QToolBar(w) + act = toolBar.addAction("MENU") + _ref = weakref.ref(act, self.actionDestroyed) + act = None + self.assertFalse(self._actionDestroyed) + toolBar.clear() + self.assertTrue(self._actionDestroyed) + +if __name__ == "__main__": + unittest.main()