1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
import unittest
from AnyQt.QtTest import QSignalSpy
from AnyQt.QtWidgets import QMenu, QApplication
from AnyQt.QtGui import QAction
from AnyQt.QtCore import delete
class TestQAction_setMenu(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
super().setUpClass()
app = QApplication.instance()
if app is None:
app = QApplication([])
cls.app = app
@classmethod
def tearDownClass(cls) -> None:
cls.app = None
super().tearDownClass()
def test(self):
ac = QAction()
menu = QMenu()
ac.setMenu(menu)
self.assertIs(ac.menu(), menu)
ac.setMenu(None)
self.assertIs(ac.menu(), None)
spy = QSignalSpy(menu.destroyed)
delete(menu)
del menu
self.assertEqual(len(spy), 1)
|