diff options
Diffstat (limited to 'tests/auto/widgets/widgets')
-rw-r--r-- | tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index 96a64b18c1..26ef228130 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -153,6 +153,8 @@ private slots: void platformMenu(); + void addActionQt5connect(); + protected slots: void onSimpleActivated( QAction*); void onComplexActionTriggered(); @@ -1595,6 +1597,42 @@ void tst_QMenuBar::platformMenu() QVERIFY(menu->platformMenu()); } +class TestObject : public QObject +{ + Q_OBJECT +public: + bool flag = false; + void setFlag() + { + flag = true; + } +}; + +void tst_QMenuBar::addActionQt5connect() +{ + bool flag = false; + auto functor = [&flag](){ flag = true; }; + + TestObject obj; + + QMenuBar menuBar; + + auto action1 = menuBar.addAction(QStringLiteral("1"), &obj, &TestObject::setFlag); + auto action2 = menuBar.addAction(QStringLiteral("2"), functor); + + action1->activate(QAction::Trigger); + action2->activate(QAction::Trigger); + + QVERIFY(obj.flag); + QVERIFY(flag); + + flag = false; + + auto action3 = menuBar.addAction(QStringLiteral("3"), this, functor); + action3->activate(QAction::Trigger); + QVERIFY(flag); +} + void tst_QMenuBar::slotForTaskQTBUG53205() { QWidget *parent = taskQTBUG53205MenuBar->parentWidget(); |