From 25c23969cc80024e0e525a5e8588fa5064c59bc1 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Thu, 9 Jan 2025 19:05:24 +0200 Subject: [PATCH] tst_QKeySequence: Test qt_set_sequence_auto_mnemonic() qt_set_sequence_auto_mnemonic() is documented in the public api but its on/off effect is not covered by any test. Change-Id: I682da014bcf04db3ef2508c09781ee32d297eb1f Reviewed-by: Volker Hilsheimer --- .../kernel/qkeysequence/tst_qkeysequence.cpp | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp b/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp index 6b74cca53f6..8258f3c2e64 100644 --- a/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp +++ b/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp @@ -64,6 +64,10 @@ static QChar macSymbolForQtKey(int key) #endif +QT_BEGIN_NAMESPACE +extern void qt_set_sequence_auto_mnemonic(bool); +QT_END_NAMESPACE + class tst_QKeySequence : public QObject { Q_OBJECT @@ -367,9 +371,6 @@ void tst_QKeySequence::keyBindings() void tst_QKeySequence::mnemonic_data() { -#ifdef Q_OS_MAC - QSKIP("Test not applicable to OS X"); -#endif QTest::addColumn("string"); QTest::addColumn("key"); QTest::addColumn("warning"); @@ -389,11 +390,21 @@ void tst_QKeySequence::mnemonic_data() void tst_QKeySequence::mnemonic() { + const auto resetAutoMnemonic = qScopeGuard([] { #ifndef Q_OS_MAC + qt_set_sequence_auto_mnemonic(true); +#else + qt_set_sequence_auto_mnemonic(false); +#endif + }); + QFETCH(QString, string); QFETCH(QString, key); QFETCH(bool, warning); + qt_set_sequence_auto_mnemonic(false); + QCOMPARE(QKeySequence::mnemonic(string), QKeySequence()); + #ifdef QT_NO_DEBUG Q_UNUSED(warning); #else @@ -403,11 +414,9 @@ void tst_QKeySequence::mnemonic() // qWarning(qPrintable(str)); } #endif - QKeySequence seq = QKeySequence::mnemonic(string); - QKeySequence res = QKeySequence(key); - QCOMPARE(seq, res); -#endif + qt_set_sequence_auto_mnemonic(true); + QCOMPARE(QKeySequence::mnemonic(string), QKeySequence(key)); } void tst_QKeySequence::toString_data()