summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp')
-rw-r--r--tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
index da37a9a968..5247d02427 100644
--- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
+++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
@@ -135,6 +135,7 @@ private slots:
void menuSize_Scrolling_data();
void menuSize_Scrolling();
void tearOffMenuNotDisplayed();
+ void QTBUG_61039_menu_shortcuts();
protected slots:
void onActivated(QAction*);
@@ -1644,5 +1645,32 @@ void tst_QMenu::tearOffMenuNotDisplayed()
QVERIFY(!torn->isVisible());
}
+void tst_QMenu::QTBUG_61039_menu_shortcuts()
+{
+ QAction *actionKamen = new QAction("Action Kamen");
+ actionKamen->setShortcut(QKeySequence(QLatin1String("K")));
+
+ QAction *actionJoe = new QAction("Action Joe");
+ actionJoe->setShortcut(QKeySequence(QLatin1String("Ctrl+J")));
+
+ QMenu menu;
+ menu.addAction(actionKamen);
+ menu.addAction(actionJoe);
+ QVERIFY(!menu.platformMenu());
+
+ QWidget widget;
+ widget.addAction(menu.menuAction());
+ widget.show();
+ QVERIFY(QTest::qWaitForWindowActive(&widget));
+
+ QSignalSpy actionKamenSpy(actionKamen, &QAction::triggered);
+ QTest::keyClick(&widget, Qt::Key_K);
+ QTRY_COMPARE(actionKamenSpy.count(), 1);
+
+ QSignalSpy actionJoeSpy(actionJoe, &QAction::triggered);
+ QTest::keyClick(&widget, Qt::Key_J, Qt::ControlModifier);
+ QTRY_COMPARE(actionJoeSpy.count(), 1);
+}
+
QTEST_MAIN(tst_QMenu)
#include "tst_qmenu.moc"