File: test_qaction_set_menu.py

package info (click to toggle)
python-anyqt 0.2.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 560 kB
  • sloc: python: 4,087; makefile: 192; sh: 3
file content (34 lines) | stat: -rw-r--r-- 833 bytes parent folder | download
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)