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 <volker.hilsheimer@qt.io>
This commit is contained in:
parent
5bab8448fe
commit
25c23969cc
@ -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<QString>("string");
|
||||
QTest::addColumn<QString>("key");
|
||||
QTest::addColumn<bool>("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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user