aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtGui/add_action_test.py
blob: 7e20c459db1d003a173eba1074753ce280fbc820 (plain)
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
35
36
37
38
39
40
41
42
43
44

'''Tests for QMenuBar.addAction(identifier, callback) calls'''

import unittest

from PySide.QtCore import SLOT
from PySide.QtGui import QMenuBar, QAction, QPushButton

from helper import UsesQApplication


class AddActionTest(UsesQApplication):
    '''QMenuBar addAction'''

    def tearDown(self):
        try:
            del self.called
        except AttributeError:
            pass
        super(AddActionTest, self).tearDown()

    def _callback(self):
        self.called = True

    def testBasic(self):
        '''QMenuBar.addAction(id, callback)'''
        menubar = QMenuBar()
        action = menubar.addAction("Accounts", self._callback)
        action.activate(QAction.Trigger)
        self.assert_(self.called)

    def testWithCppSlot(self):
        '''QMenuBar.addAction(id, object, slot)'''
        menubar = QMenuBar()
        widget = QPushButton()
        widget.setCheckable(True)
        widget.setChecked(False)
        action = menubar.addAction("Accounts", widget, SLOT("toggle()"))
        action.activate(QAction.Trigger)
        self.assert_(widget.isChecked())

if __name__ == '__main__':
    unittest.main()