diff options
author | Leander Beernaert <leander.beernaert@qt.io> | 2019-11-14 13:03:46 +0100 |
---|---|---|
committer | Leander Beernaert <leander.beernaert@qt.io> | 2019-11-19 13:53:21 +0100 |
commit | 26e876912435bdafbca2b425af43824d7ec5b876 (patch) | |
tree | b7ee83cdd9de18ce5970bab0bb217a972d3d2445 /tests/auto/widgets/widgets | |
parent | 7a6c6da2ebbfef33f7284ce5c96aa0c3acabc6bc (diff) | |
parent | bac999f38ca10147832846f6d7df1e4a051d3760 (diff) |
Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: Ifecc2d9db396d783124df8567553ba5f846f30bb
Diffstat (limited to 'tests/auto/widgets/widgets')
37 files changed, 469 insertions, 17 deletions
diff --git a/tests/auto/widgets/widgets/qabstractbutton/qabstractbutton.pro b/tests/auto/widgets/widgets/qabstractbutton/qabstractbutton.pro index 2f0111f483..1d9074491e 100644 --- a/tests/auto/widgets/widgets/qabstractbutton/qabstractbutton.pro +++ b/tests/auto/widgets/widgets/qabstractbutton/qabstractbutton.pro @@ -1,6 +1,6 @@ CONFIG += testcase TARGET = tst_qabstractbutton -QT += widgets testlib +QT += widgets testlib gui-private SOURCES += tst_qabstractbutton.cpp diff --git a/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp b/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp index e77faa1e75..e5a891912f 100644 --- a/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp +++ b/tests/auto/widgets/widgets/qabstractbutton/tst_qabstractbutton.cpp @@ -34,11 +34,16 @@ #include <qapplication.h> #include <qpainter.h> #include <qstyleoption.h> -#include <qkeysequence.h> +#if QT_CONFIG(shortcut) +# include <qkeysequence.h> +#endif #include <qevent.h> #include <qgridlayout.h> #include <qabstractbutton.h> +#include <private/qguiapplication_p.h> +#include <qpa/qplatformintegration.h> + class tst_QAbstractButton : public QObject { Q_OBJECT @@ -56,7 +61,9 @@ private slots: void setText(); void setIcon(); +#if QT_CONFIG(shortcut) void setShortcut(); +#endif void animateClick(); @@ -65,7 +72,9 @@ private slots: void isChecked(); void toggled(); void setEnabled(); +#if QT_CONFIG(shortcut) void shortcutEvents(); +#endif void stopRepeatTimer(); void mouseReleased(); // QTBUG-53244 @@ -161,8 +170,10 @@ void tst_QAbstractButton::init() testWidget->setEnabled( true ); testWidget->setDown( false ); testWidget->setAutoRepeat( false ); +#if QT_CONFIG(shortcut) QKeySequence seq; testWidget->setShortcut( seq ); +#endif toggle_count = 0; press_count = 0; @@ -333,17 +344,17 @@ void tst_QAbstractButton::setText() QCOMPARE( testWidget->text(), QString("simple") ); testWidget->setText("&ersand"); QCOMPARE( testWidget->text(), QString("&ersand") ); -#ifndef Q_OS_MAC // no mneonics on Mac. +#if QT_CONFIG(shortcut) && !defined(Q_OS_DARWIN) // no mnemonics on Mac. QCOMPARE( testWidget->shortcut(), QKeySequence("ALT+A")); #endif testWidget->setText("te&st"); QCOMPARE( testWidget->text(), QString("te&st") ); -#ifndef Q_OS_MAC // no mneonics on Mac. +#if QT_CONFIG(shortcut) && !defined(Q_OS_DARWIN) // no mnemonics on Mac. QCOMPARE( testWidget->shortcut(), QKeySequence("ALT+S")); #endif testWidget->setText("foo"); QCOMPARE( testWidget->text(), QString("foo") ); -#ifndef Q_OS_MAC // no mneonics on Mac. +#if QT_CONFIG(shortcut) && !defined(Q_OS_DARWIN) // no mnemonics on Mac. QCOMPARE( testWidget->shortcut(), QKeySequence()); #endif } @@ -468,8 +479,12 @@ void tst_QAbstractButton::toggled() testWidget->setCheckable(false); } +#if QT_CONFIG(shortcut) void tst_QAbstractButton::setShortcut() { + if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) + QSKIP("Window activation is not supported"); + QKeySequence seq( Qt::Key_A ); testWidget->setShortcut( seq ); QApplication::setActiveWindow(testWidget); @@ -496,6 +511,7 @@ void tst_QAbstractButton::setShortcut() // qDebug() << click_count; } +#endif // QT_CONFIG(shortcut) void tst_QAbstractButton::animateClick() { @@ -506,6 +522,8 @@ void tst_QAbstractButton::animateClick() QTRY_VERIFY( !testWidget->isDown() ); } +#if QT_CONFIG(shortcut) + void tst_QAbstractButton::shortcutEvents() { MyButton button; @@ -529,6 +547,8 @@ void tst_QAbstractButton::shortcutEvents() QCOMPARE(clickedSpy.count(), 3); } +#endif // QT_CONFIG(shortcut) + void tst_QAbstractButton::stopRepeatTimer() { MyButton button; diff --git a/tests/auto/widgets/widgets/qabstractspinbox/tst_qabstractspinbox.cpp b/tests/auto/widgets/widgets/qabstractspinbox/tst_qabstractspinbox.cpp index 0ce3b4cefe..6fb13ed55e 100644 --- a/tests/auto/widgets/widgets/qabstractspinbox/tst_qabstractspinbox.cpp +++ b/tests/auto/widgets/widgets/qabstractspinbox/tst_qabstractspinbox.cpp @@ -168,6 +168,9 @@ void tst_QAbstractSpinBox::task228728_cssselector() void tst_QAbstractSpinBox::inputMethodUpdate() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QSpinBox box; QSpinBox *testWidget = &box; diff --git a/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp b/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp index 7684f16c47..47dfc86a69 100644 --- a/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp +++ b/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp @@ -89,6 +89,9 @@ void tst_QButtonGroup::arrowKeyNavigation() if (!qt_tab_all_widgets()) QSKIP("This test requires full keyboard control to be enabled."); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QDialog dlg(0); QHBoxLayout layout(&dlg); QGroupBox g1("1", &dlg); diff --git a/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp b/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp index 312ec0b1ec..c3ae2ea541 100644 --- a/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp +++ b/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp @@ -156,6 +156,9 @@ void tst_QCalendarWidget::buttonClickCheck() #ifdef Q_OS_WINRT QSKIP("Fails on WinRT - QTBUG-68297"); #endif + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QCalendarWidget object; QSize size = object.sizeHint(); object.setGeometry(0,0,size.width(), size.height()); diff --git a/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp b/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp index 0cbab5e17c..6dd4f8d2fe 100644 --- a/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp +++ b/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp @@ -78,6 +78,9 @@ private: void tst_QCheckBox::initTestCase() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + // Create the test class testWidget = new QCheckBox(0); testWidget->setObjectName("testObject"); diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp index b7869a0653..eed4fe3539 100644 --- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp +++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp @@ -840,6 +840,9 @@ void tst_QComboBox::virtualAutocompletion() void tst_QComboBox::autoCompletionCaseSensitivity() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + //we have put the focus because the completer //is only used when the widget actually has the focus TestWidget topLevel; @@ -1995,6 +1998,9 @@ void tst_QComboBox::flaggedItems_data() void tst_QComboBox::flaggedItems() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QStringList, itemList); QFETCH(IntList, deselectFlagList); QFETCH(IntList, disableFlagList); @@ -2465,6 +2471,9 @@ void tst_QComboBox::task247863_keyBoardSelection() void tst_QComboBox::task220195_keyBoardSelection2() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QComboBox combo; setFrameless(&combo); combo.move(200, 200); @@ -2751,6 +2760,9 @@ void tst_QComboBox::resetModel() void tst_QComboBox::keyBoardNavigationWithMouse() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QComboBox combo; combo.setEditable(false); setFrameless(&combo); @@ -2798,6 +2810,9 @@ void tst_QComboBox::keyBoardNavigationWithMouse() void tst_QComboBox::task_QTBUG_1071_changingFocusEmitsActivated() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QWidget w; w.move(200, 200); QVBoxLayout layout(&w); @@ -3065,6 +3080,9 @@ void tst_QComboBox::itemData() void tst_QComboBox::task_QTBUG_31146_popupCompletion() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QComboBox comboBox; comboBox.setEditable(true); #if QT_DEPRECATED_SINCE(5, 13) @@ -3101,6 +3119,9 @@ void tst_QComboBox::task_QTBUG_31146_popupCompletion() void tst_QComboBox::task_QTBUG_41288_completerChangesCurrentIndex() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QComboBox comboBox; comboBox.setEditable(true); @@ -3352,6 +3373,9 @@ void tst_QComboBox::task_QTBUG_56693_itemFontFromModel() void tst_QComboBox::inputMethodUpdate() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + TestWidget topLevel; topLevel.show(); QVERIFY(QTest::qWaitForWindowExposed(&topLevel)); @@ -3406,6 +3430,9 @@ void tst_QComboBox::inputMethodUpdate() void tst_QComboBox::task_QTBUG_52027_mapCompleterIndex() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QStringList words; words << "" << "foobar1" << "foobar2"; diff --git a/tests/auto/widgets/widgets/qcommandlinkbutton/tst_qcommandlinkbutton.cpp b/tests/auto/widgets/widgets/qcommandlinkbutton/tst_qcommandlinkbutton.cpp index 2e5d24cd26..45a23984e0 100644 --- a/tests/auto/widgets/widgets/qcommandlinkbutton/tst_qcommandlinkbutton.cpp +++ b/tests/auto/widgets/widgets/qcommandlinkbutton/tst_qcommandlinkbutton.cpp @@ -51,7 +51,9 @@ private slots: void getSetCheck(); void pressed(); +#if QT_CONFIG(shortcut) void setAccel(); +#endif void isCheckable(); void setDown(); void popupCrash(); @@ -110,6 +112,8 @@ void tst_QCommandLinkButton::initTestCase() testWidget->setObjectName("testWidget"); testWidget->resize( 200, 200 ); testWidget->show(); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); QVERIFY(QTest::qWaitForWindowActive(testWidget)); connect( testWidget, SIGNAL(clicked()), this, SLOT(onClicked()) ); @@ -131,8 +135,10 @@ void tst_QCommandLinkButton::init() testWidget->setText("Test"); testWidget->setDescription("Description text."); testWidget->setEnabled( true ); +#if QT_CONFIG(shortcut) QKeySequence seq; testWidget->setShortcut( seq ); +#endif resetCounters(); } @@ -325,6 +331,8 @@ void tst_QCommandLinkButton::toggled() QVERIFY( click_count == 1 ); } +#if QT_CONFIG(shortcut) + /* If we press an accelerator key we ONLY get a pressed signal and NOT a released or clicked signal. @@ -353,6 +361,8 @@ void tst_QCommandLinkButton::setAccel() QTest::qWait(200); } +#endif // QT_CONFIG(shortcut) + void tst_QCommandLinkButton::animateClick() { QVERIFY( !testWidget->isDown() ); diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp index 26b4b7d020..aba4651379 100644 --- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp +++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp @@ -4097,6 +4097,9 @@ void tst_QDateTimeEdit::stepModifierKeys_data() void tst_QDateTimeEdit::stepModifierKeys() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QDate, startDate); QFETCH(int, stepModifier); QFETCH(QDateTimeEdit::Section, section); @@ -4198,6 +4201,9 @@ void tst_QDateTimeEdit::stepModifierButtons_data() void tst_QDateTimeEdit::stepModifierButtons() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QStyle::SubControl, subControl); QFETCH(int, stepModifier); QFETCH(Qt::KeyboardModifiers, modifiers); @@ -4285,6 +4291,9 @@ void tst_QDateTimeEdit::stepModifierPressAndHold_data() void tst_QDateTimeEdit::stepModifierPressAndHold() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QStyle::SubControl, subControl); QFETCH(int, stepModifier); QFETCH(Qt::KeyboardModifiers, modifiers); diff --git a/tests/auto/widgets/widgets/qdialogbuttonbox/tst_qdialogbuttonbox.cpp b/tests/auto/widgets/widgets/qdialogbuttonbox/tst_qdialogbuttonbox.cpp index 17b0e9ce5f..7e0cb99ea8 100644 --- a/tests/auto/widgets/widgets/qdialogbuttonbox/tst_qdialogbuttonbox.cpp +++ b/tests/auto/widgets/widgets/qdialogbuttonbox/tst_qdialogbuttonbox.cpp @@ -828,6 +828,9 @@ void tst_QDialogButtonBox::testDefaultButton() void tst_QDialogButtonBox::task191642_default() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QDialog dlg; QPushButton *def = new QPushButton(&dlg); QSignalSpy clicked(def, SIGNAL(clicked(bool))); diff --git a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp index 625116654d..9a16c39014 100644 --- a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp +++ b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp @@ -946,6 +946,9 @@ void tst_QDockWidget::task248604_infiniteResize() void tst_QDockWidget::task258459_visibilityChanged() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow win; QDockWidget dock1, dock2; win.addDockWidget(Qt::RightDockWidgetArea, &dock1); diff --git a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp index c760d9cc99..c6de750482 100644 --- a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp +++ b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp @@ -166,7 +166,9 @@ private slots: void doubleDot(); +#if QT_CONFIG(shortcut) void undoRedo(); +#endif void valueFromTextAndValidate_data(); void valueFromTextAndValidate(); @@ -256,6 +258,10 @@ void tst_QDoubleSpinBox::initTestCase() testFocusWidget = new QWidget(0); testFocusWidget->resize(200, 100); testFocusWidget->show(); + + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QVERIFY(QTest::qWaitForWindowActive(testFocusWidget)); } @@ -1021,6 +1027,8 @@ void tst_QDoubleSpinBox::doubleDot() QCOMPARE(spin.lineEdit()->cursorPosition(), 2); } +#if QT_CONFIG(shortcut) + void tst_QDoubleSpinBox::undoRedo() { //test undo/redo feature (in conjunction with the "undoRedoEnabled" property) @@ -1069,6 +1077,8 @@ void tst_QDoubleSpinBox::undoRedo() QVERIFY(!spin.lineEdit()->isRedoAvailable()); } +#endif // QT_CONFIG(shortcut) + struct task199226_DoubleSpinBox : public QDoubleSpinBox { task199226_DoubleSpinBox(QWidget *parent = 0) : QDoubleSpinBox(parent) {} diff --git a/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp b/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp index 5392d36ae0..bd3ea5686a 100644 --- a/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp +++ b/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp @@ -35,6 +35,8 @@ class tst_QFontComboBox : public QObject Q_OBJECT private slots: + void initTestCase(); + void qfontcombobox_data(); void qfontcombobox(); void currentFont_data(); @@ -58,6 +60,12 @@ public: { return SubQFontComboBox::event(e); } }; +void tst_QFontComboBox::initTestCase() +{ + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This freezes. Figure out why."); +} + void tst_QFontComboBox::qfontcombobox_data() { } diff --git a/tests/auto/widgets/widgets/qframe/tst_qframe.cpp b/tests/auto/widgets/widgets/qframe/tst_qframe.cpp index 05f9cd2e4a..0ca8dc0776 100644 --- a/tests/auto/widgets/widgets/qframe/tst_qframe.cpp +++ b/tests/auto/widgets/widgets/qframe/tst_qframe.cpp @@ -159,6 +159,9 @@ void tst_QFrame::testPainting_data() void tst_QFrame::testPainting() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QString, basename); QFETCH(int, lineWidth); QFETCH(int, midLineWidth); diff --git a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp index 1b477fbbd0..bf14020b24 100644 --- a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp +++ b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp @@ -474,6 +474,9 @@ void tst_QGroupBox::childrenAreDisabled() void tst_QGroupBox::propagateFocus() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QGroupBox box; QLineEdit lineEdit(&box); box.show(); diff --git a/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp b/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp index f599ac73c6..7760e12cca 100644 --- a/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp +++ b/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp @@ -68,7 +68,7 @@ private Q_SLOTS: void setText_data(); void setText(); void setTextFormat(); -#ifndef Q_OS_MAC +#if QT_CONFIG(shortcut) && !defined(Q_OS_DARWIN) void setBuddy(); #endif void setNum(); @@ -88,8 +88,10 @@ private Q_SLOTS: void unicodeText_data(); void unicodeText(); +#if QT_CONFIG(shortcut) void mnemonic_data(); void mnemonic(); +#endif void selection(); #ifndef QT_NO_CONTEXTMENU @@ -116,6 +118,7 @@ void tst_QLabel::getSetCheck() obj1.setWordWrap(true); QCOMPARE(true, obj1.wordWrap()); +#if QT_CONFIG(shortcut) // QWidget * QLabel::buddy() // void QLabel::setBuddy(QWidget *) QWidget *var2 = new QWidget(); @@ -124,6 +127,7 @@ void tst_QLabel::getSetCheck() obj1.setBuddy((QWidget *)0); QCOMPARE((QWidget *)0, obj1.buddy()); delete var2; +#endif // QT_CONFIG(shortcut) // QMovie * QLabel::movie() // void QLabel::setMovie(QMovie *) @@ -153,7 +157,9 @@ void tst_QLabel::cleanupTestCase() void tst_QLabel::init() { testWidget->setTextFormat( Qt::AutoText ); +# if QT_CONFIG(shortcut) testWidget->setBuddy( 0 ); +#endif testWidget->setIndent( 0 ); testWidget->setAlignment( Qt::AlignLeft | Qt::AlignVCenter ); testWidget->setScaledContents( false ); @@ -169,7 +175,7 @@ void tst_QLabel::cleanup() } // Set buddy doesn't make much sense on OS X -#ifndef Q_OS_MAC +#if QT_CONFIG(shortcut) && !defined(Q_OS_DARWIN) void tst_QLabel::setBuddy() { testWidget->hide(); @@ -204,7 +210,7 @@ void tst_QLabel::setBuddy() delete test_box; } -#endif +#endif // QT_CONFIG(shortcut) && !Q_OS_DARWIN void tst_QLabel::setText_data() { @@ -469,6 +475,8 @@ void tst_QLabel::unicodeText() testWidget->show(); } +#if QT_CONFIG(shortcut) + void tst_QLabel::mnemonic_data() { QTest::addColumn<QString>("text"); @@ -513,6 +521,8 @@ void tst_QLabel::mnemonic() QCOMPARE(d->shortcutCursor.selectedText(), expectedShortcutCursor); } +#endif // QT_CONFIG(shortcut) + void tst_QLabel::selection() { QLabel label; diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index 0cfbc651ad..a8b68c18ca 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -56,7 +56,9 @@ #include <qsortfilterproxymodel.h> #include <qdebug.h> #include <qscreen.h> -#include <qshortcut.h> +#if QT_CONFIG(shortcut) +# include <qshortcut.h> +#endif #include "qcommonstyle.h" #include "qstyleoption.h" @@ -135,9 +137,11 @@ private slots: void clearInputMask(); +#if QT_CONFIG(shortcut) void keypress_inputMask_data(); void keypress_inputMask(); void keypress_inputMethod_inputMask(); +#endif void inputMaskAndValidator_data(); void inputMaskAndValidator(); @@ -219,7 +223,7 @@ private slots: void setSelection_data(); void setSelection(); -#ifndef QT_NO_CLIPBOARD +#if QT_CONFIG(clipboard) && QT_CONFIG(shortcut) void cut(); void cutWithoutSelection(); #endif @@ -299,8 +303,10 @@ private slots: void shouldShowPlaceholderText(); void QTBUG1266_setInputMaskEmittingTextEdited(); +#if QT_CONFIG(shortcut) void shortcutOverrideOnReadonlyLineEdit_data(); void shortcutOverrideOnReadonlyLineEdit(); +#endif void QTBUG59957_clearButtonLeftmostAction(); void QTBUG_60319_setInputMaskCheckImSurroundingText(); void testQuickSelectionWithMouse(); @@ -319,7 +325,9 @@ private: void psKeyClick(QWidget *target, Qt::Key key, Qt::KeyboardModifiers pressState = 0); void psKeyClick(QTestEventList &keys, Qt::Key key, Qt::KeyboardModifiers pressState = 0); bool unselectingWithLeftOrRightChangesCursorPosition(); +#if QT_CONFIG(shortcut) void addKeySequenceStandardKey(QTestEventList &keys, QKeySequence::StandardKey); +#endif QLineEdit *ensureTestWidget(); bool validInput; @@ -715,6 +723,8 @@ void tst_QLineEdit::clearInputMask() QCOMPARE(testWidget->inputMask(), QString()); } +#if QT_CONFIG(shortcut) + void tst_QLineEdit::keypress_inputMask_data() { QTest::addColumn<QString>("mask"); @@ -832,6 +842,8 @@ void tst_QLineEdit::keypress_inputMethod_inputMask() QCOMPARE(testWidget->text(), QStringLiteral("EE.EE.EE")); } +#endif // QT_CONFIG(shortcut) + void tst_QLineEdit::hasAcceptableInputMask_data() { QTest::addColumn<QString>("optionalMask"); @@ -1490,6 +1502,9 @@ void tst_QLineEdit::undo_keypressevents() #ifndef QT_NO_CLIPBOARD void tst_QLineEdit::QTBUG5786_undoPaste() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + if (!PlatformClipboard::isAvailable()) QSKIP("this machine doesn't support the clipboard"); QString initial("initial"); @@ -1700,6 +1715,9 @@ void tst_QLineEdit::displayText() void tst_QLineEdit::passwordEchoOnEdit() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QStyleOptionFrame opt; QLineEdit *testWidget = ensureTestWidget(); QChar fillChar = testWidget->style()->styleHint(QStyle::SH_LineEdit_PasswordCharacter, &opt, testWidget); @@ -1734,6 +1752,9 @@ void tst_QLineEdit::passwordEchoOnEdit() void tst_QLineEdit::passwordEchoDelay() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit *testWidget = ensureTestWidget(); int delay = qGuiApp->styleHints()->passwordMaskDelay(); #if defined QT_BUILD_INTERNAL @@ -1917,6 +1938,9 @@ public: void tst_QLineEdit::noCursorBlinkWhenReadOnly() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + int cursorFlashTime = QApplication::cursorFlashTime(); if (cursorFlashTime == 0) return; @@ -1974,6 +1998,8 @@ void tst_QLineEdit::psKeyClick(QTestEventList &keys, Qt::Key key, Qt::KeyboardMo keys.addKeyClick(key, pressState); } +#if QT_CONFIG(shortcut) + void tst_QLineEdit::addKeySequenceStandardKey(QTestEventList &keys, QKeySequence::StandardKey key) { QKeySequence keyseq = QKeySequence(key); @@ -1981,6 +2007,8 @@ void tst_QLineEdit::addKeySequenceStandardKey(QTestEventList &keys, QKeySequence keys.addKeyClick( Qt::Key( keyseq[i] & ~Qt::KeyboardModifierMask), Qt::KeyboardModifier(keyseq[i] & Qt::KeyboardModifierMask) ); } +#endif // QT_CONFIG(shortcut) + void tst_QLineEdit::cursorPosition() { QLineEdit *testWidget = ensureTestWidget(); @@ -3011,9 +3039,12 @@ void tst_QLineEdit::setSelection() QCOMPARE(testWidget->cursorPosition(), expectedCursor); } -#ifndef QT_NO_CLIPBOARD +#if QT_CONFIG(clipboard) && QT_CONFIG(shortcut) void tst_QLineEdit::cut() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + if (!PlatformClipboard::isAvailable()) QSKIP("Autotests run from cron and pasteboard don't get along quite ATM"); @@ -3079,6 +3110,9 @@ void tst_QLineEdit::cut() void tst_QLineEdit::cutWithoutSelection() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + enum { selectionLength = 1 }; if (QKeySequence(QKeySequence::Cut).toString() != QLatin1String("Ctrl+X")) @@ -3106,7 +3140,7 @@ void tst_QLineEdit::cutWithoutSelection() QCOMPARE(clipboard->text(), origText.left(selectionLength)); } -#endif // !QT_NO_CLIPBOARD +#endif // QT_CONFIG(clipboard) && QT_CONFIG(shortcut) class InputMaskValidator : public QValidator { @@ -3265,6 +3299,9 @@ void tst_QLineEdit::readOnlyStyleOption() void tst_QLineEdit::validateOnFocusOut() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit *testWidget = ensureTestWidget(); QSignalSpy editingFinishedSpy(testWidget, SIGNAL(editingFinished())); testWidget->setValidator(new QIntValidator(100, 999, 0)); @@ -3369,6 +3406,9 @@ void tst_QLineEdit::leftKeyOnSelectedText() void tst_QLineEdit::inlineCompletion() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit *testWidget = ensureTestWidget(); testWidget->clear(); QStandardItemModel *model = new QStandardItemModel; @@ -3583,6 +3623,9 @@ public: void tst_QLineEdit::task180999_focus() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + task180999_Widget widget; widget.lineEdit1.setFocus(); @@ -3602,6 +3645,9 @@ void tst_QLineEdit::task180999_focus() void tst_QLineEdit::task174640_editingFinished() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QWidget mw; QVBoxLayout *layout = new QVBoxLayout(&mw); QLineEdit *le1 = new QLineEdit(&mw); @@ -3703,6 +3749,9 @@ void tst_QLineEdit::task198789_currentCompletion() void tst_QLineEdit::task210502_caseInsensitiveInlineCompletion() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QString completion("ABCD"); QStringList completions; completions << completion; @@ -3800,6 +3849,9 @@ void tst_QLineEdit::task233101_cursorPosAfterInputMethod() void tst_QLineEdit::task241436_passwordEchoOnEditRestoreEchoMode() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QStyleOptionFrame opt; QLineEdit *testWidget = ensureTestWidget(); QChar fillChar = testWidget->style()->styleHint(QStyle::SH_LineEdit_PasswordCharacter, &opt, testWidget); @@ -3847,6 +3899,9 @@ void tst_QLineEdit::task248948_redoRemovedSelection() void tst_QLineEdit::taskQTBUG_4401_enterKeyClearsPassword() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QString password("Wanna guess?"); QLineEdit *testWidget = ensureTestWidget(); @@ -3922,12 +3977,17 @@ void tst_QLineEdit::taskQTBUG_7902_contextMenuCrash() void tst_QLineEdit::taskQTBUG_7395_readOnlyShortcut() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + //ReadOnly QLineEdit should not intercept shortcut. QLineEdit le; le.setReadOnly(true); QAction action(QString::fromLatin1("hello"), &le); +#if QT_CONFIG(shortcut) action.setShortcut(QString::fromLatin1("p")); +#endif QSignalSpy spy(&action, SIGNAL(triggered())); le.addAction(&action); @@ -3944,6 +4004,9 @@ void tst_QLineEdit::taskQTBUG_7395_readOnlyShortcut() void tst_QLineEdit::QTBUG697_paletteCurrentColorGroup() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit le; le.setText(" "); QPalette p = le.palette(); @@ -3999,6 +4062,9 @@ protected: void tst_QLineEdit::QTBUG7174_inputMaskCursorBlink() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + UpdateRegionLineEdit edit; edit.setInputMask(QLatin1String("AAAA")); edit.setFocus(); @@ -4169,6 +4235,9 @@ void tst_QLineEdit::selectAndCursorPosition() void tst_QLineEdit::inputMethod() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit *testWidget = ensureTestWidget(); centerOnScreen(testWidget); testWidget->show(); @@ -4275,6 +4344,9 @@ void tst_QLineEdit::inputMethodQueryImHints() void tst_QLineEdit::inputMethodUpdate() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit *testWidget = ensureTestWidget(); centerOnScreen(testWidget); @@ -4389,6 +4461,9 @@ void tst_QLineEdit::undoRedoAndEchoModes() void tst_QLineEdit::clearButton() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + // Construct a listview with a stringlist model and filter model. QWidget testWidget; QVBoxLayout *l = new QVBoxLayout(&testWidget); @@ -4443,6 +4518,9 @@ void tst_QLineEdit::clearButtonVisibleAfterSettingText_QTBUG_45518() #ifndef QT_BUILD_INTERNAL QSKIP("This test requires a developer build"); #else + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit edit; edit.setMinimumWidth(200); centerOnScreen(&edit); @@ -4644,6 +4722,8 @@ void tst_QLineEdit::QTBUG1266_setInputMaskEmittingTextEdited() QCOMPARE(spy.count(), 0); } +#if QT_CONFIG(shortcut) + void tst_QLineEdit::shortcutOverrideOnReadonlyLineEdit_data() { QTest::addColumn<QKeySequence>("keySequence"); @@ -4671,6 +4751,9 @@ void tst_QLineEdit::shortcutOverrideOnReadonlyLineEdit_data() void tst_QLineEdit::shortcutOverrideOnReadonlyLineEdit() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QKeySequence, keySequence); QFETCH(bool, shouldBeHandledByQLineEdit); @@ -4700,6 +4783,8 @@ void tst_QLineEdit::shortcutOverrideOnReadonlyLineEdit() QCOMPARE(spy.count(), activationCount); } +#endif // QT_CONFIG(shortcut) + void tst_QLineEdit::QTBUG59957_clearButtonLeftmostAction() { #ifndef QT_BUILD_INTERNAL @@ -4844,6 +4929,9 @@ void tst_QLineEdit::testQuickSelectionWithMouse() void tst_QLineEdit::inputRejected() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QLineEdit *testWidget = ensureTestWidget(); QSignalSpy spyInputRejected(testWidget, SIGNAL(inputRejected())); diff --git a/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp b/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp index ea96322654..17eb281408 100644 --- a/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp +++ b/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp @@ -1741,6 +1741,9 @@ class MainWindow : public QMainWindow { #ifndef QT_NO_CURSOR void tst_QMainWindow::setCursor() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + MainWindow mw; QCursor cur = Qt::WaitCursor; mw.setCursor(cur); @@ -1839,6 +1842,9 @@ void tst_QMainWindow::fixedSizeCentralWidget() void tst_QMainWindow::dockWidgetSize() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow mainWindow; mainWindow.menuBar()->addMenu("menu"); @@ -2055,6 +2061,9 @@ void tst_QMainWindow::resizeDocks() #if QT_CONFIG(dockwidget) && QT_CONFIG(tabbar) void tst_QMainWindow::QTBUG52175_tabifiedDockWidgetActivated() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; QDockWidget *dwFirst = new QDockWidget(&w); diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp index 6d38dc262f..9fe8cd8109 100644 --- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp @@ -448,6 +448,9 @@ bool macHasAccessToWindowsServer() void tst_QMdiArea::subWindowActivated2() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMdiArea mdiArea; QSignalSpy spy(&mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow*))); for (int i = 0; i < 5; ++i) @@ -966,6 +969,9 @@ void tst_QMdiArea::setActiveSubWindow() void tst_QMdiArea::activeSubWindow() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow mainWindow; QMdiArea *mdiArea = new QMdiArea; @@ -1398,6 +1404,9 @@ void tst_QMdiArea::subWindowList_data() } void tst_QMdiArea::subWindowList() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QMdiArea::WindowOrder, windowOrder); QFETCH(int, windowCount); QFETCH(int, activeSubWindow); @@ -1569,6 +1578,9 @@ void tst_QMdiArea::setViewport() void tst_QMdiArea::tileSubWindows() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMdiArea workspace; workspace.resize(600,480); workspace.show(); @@ -2073,6 +2085,9 @@ private: void tst_QMdiArea::resizeTimer() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMdiArea mdiArea; QMdiSubWindow *subWindow = mdiArea.addSubWindow(new QWidget); mdiArea.show(); diff --git a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp index 3ee9c72209..2c5cb88ed6 100644 --- a/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp +++ b/tests/auto/widgets/widgets/qmdisubwindow/tst_qmdisubwindow.cpp @@ -211,6 +211,9 @@ private slots: void tst_QMdiSubWindow::initTestCase() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: Almost all of these fail. Figure out why."); + qRegisterMetaType<Qt::WindowStates>("Qt::WindowStates"); // Avoid unnecessary waits for empty top level widget lists when // testing menus. diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp index 9c40c0bd57..823084ee43 100644 --- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp +++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp @@ -481,7 +481,7 @@ void tst_QMenu::overrideMenuAction() // On Mac and Windows CE, we need to create native key events to test menu // action activation, so skip this part of the test. -#if !defined(Q_OS_DARWIN) +#if QT_CONFIG(shortcut) && !defined(Q_OS_DARWIN) QAction *aQuit = new QAction("Quit", &w); aQuit->setShortcut(QKeySequence("Ctrl+X")); m->addAction(aQuit); @@ -499,7 +499,7 @@ void tst_QMenu::overrideMenuAction() //test if the menu still pops out QTest::keyClick(&w, Qt::Key_F, Qt::AltModifier); QTRY_VERIFY(m->isVisible()); -#endif +#endif // QT_CONFIG(shortcut) && !Q_OS_DARWIN delete aFileMenu; @@ -1706,10 +1706,13 @@ void tst_QMenu::QTBUG_61039_menu_shortcuts() QSKIP("Window activation is not supported"); QAction *actionKamen = new QAction("Action Kamen"); +#if QT_CONFIG(shortcut) actionKamen->setShortcut(QKeySequence(QLatin1String("K"))); - +#endif QAction *actionJoe = new QAction("Action Joe"); +#if QT_CONFIG(shortcut) actionJoe->setShortcut(QKeySequence(QLatin1String("Ctrl+J"))); +#endif QMenu menu; menu.addAction(actionKamen); diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index 417d6e3124..8b372a78cf 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -232,19 +232,25 @@ TestMenu tst_QMenuBar::initSimpleMenuBar(QMenuBar *mb, bool forceNonNative) { connect(mb, SIGNAL(triggered(QAction*)), this, SLOT(onSimpleActivated(QAction*))); QMenu *menu = mb->addMenu(QStringLiteral("&accel")); QAction *action = menu->addAction(QStringLiteral("menu1") ); +#if QT_CONFIG(shortcut) action->setShortcut(QKeySequence(Qt::ALT + Qt::Key_A)); action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A)); +#endif connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(onSimpleActivated(QAction*))); result.menus << menu; result.actions << action; menu = mb->addMenu(QStringLiteral("accel1")); action = menu->addAction(QStringLiteral("&Open...") ); +#if QT_CONFIG(shortcut) action->setShortcut(Qt::Key_O); +#endif result.actions << action; action = menu->addAction(QStringLiteral("action")); +#if QT_CONFIG(shortcut) action->setShortcut(QKeySequence(Qt::ALT + Qt::Key_Z)); +#endif result.actions << action; result.menus << menu; @@ -283,7 +289,9 @@ QAction *tst_QMenuBar::createCharacterAction(QMenu *menu, char lowerAscii) QAction *action = menu->addAction(text); action->setObjectName(text); action->setData(QVariant(int(lowerAscii))); +#if QT_CONFIG(shortcut) action->setShortcut(Qt::CTRL + (lowerAscii - 'a' + Qt::Key_A)); +#endif connect(action, SIGNAL(triggered()), this, SLOT(onComplexActionTriggered())); return action; } @@ -318,7 +326,9 @@ TestMenu tst_QMenuBar::initComplexMenuBar(QMenuBar *mb) QAction *action = mb->addAction(QStringLiteral("M&enu 3")); action->setData(QVariant(3)); +#if QT_CONFIG(shortcut) action->setShortcut(Qt::ALT + Qt::Key_J); +#endif connect(action, SIGNAL(triggered()), this, SLOT(onComplexActionTriggered())); result.actions << action; @@ -338,6 +348,9 @@ inline TestMenu tst_QMenuBar::initWindowWithComplexMenuBar(QMainWindow &w) #if !defined(Q_OS_DARWIN) void tst_QMenuBar::accel() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + // create a popup menu with menu items set the accelerators later... QMainWindow w; const TestMenu menu = initWindowWithSimpleMenuBar(w); @@ -356,6 +369,9 @@ void tst_QMenuBar::accel() #if !defined(Q_OS_DARWIN) void tst_QMenuBar::activatedCount() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + // create a popup menu with menu items set the accelerators later... QMainWindow w; QFETCH( bool, forceNonNative ); @@ -555,6 +571,9 @@ void tst_QMenuBar::insertItem_QString_QObject() #if !defined(Q_OS_DARWIN) void tst_QMenuBar::check_accelKeys() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); @@ -631,6 +650,9 @@ void tst_QMenuBar::check_cursorKeys1() if (qgetenv("XDG_CURRENT_DESKTOP") == "Unity") QSKIP("This test is flaky on Ubuntu/Unity due to regression introduced by QTBUG-39362"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); @@ -668,6 +690,9 @@ void tst_QMenuBar::check_cursorKeys2() if (qgetenv("XDG_CURRENT_DESKTOP") == "Unity") QSKIP("This test is flaky on Ubuntu/Unity due to regression introduced by QTBUG-39362"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); @@ -704,6 +729,9 @@ void tst_QMenuBar::check_cursorKeys3() if (qgetenv("XDG_CURRENT_DESKTOP") == "Unity") QSKIP("This test is flaky on Ubuntu/Unity due to regression introduced by QTBUG-39362"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; initWindowWithComplexMenuBar(w); w.show(); @@ -733,6 +761,9 @@ void tst_QMenuBar::taskQTBUG56860_focus() #if defined(Q_OS_DARWIN) QSKIP("Native key events are needed to test menu action activation on macOS."); #endif + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; QMenuBar *mb = w.menuBar(); mb->setNativeMenuBar(false); @@ -861,6 +892,9 @@ void tst_QMenuBar::check_endKey() #if !defined(Q_OS_DARWIN) void tst_QMenuBar::check_escKey() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; const TestMenu menu = initWindowWithComplexMenuBar(w); w.show(); @@ -1051,6 +1085,9 @@ void tst_QMenuBar::allowActiveAndDisabled() void tst_QMenuBar::check_altPress() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + if ( !qApp->style()->styleHint(QStyle::SH_MenuBar_AltKeyNavigation) ) { QSKIP(QString( "this is not supposed to work in the %1 style. Skipping." ). arg(qApp->style()->objectName()).toLatin1()); @@ -1071,6 +1108,9 @@ void tst_QMenuBar::check_altPress() // should close it and QMenuBar::activeAction() should be 0. void tst_QMenuBar::check_altClosePress() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + const QStyle *style = QApplication::style(); if (!style->styleHint(QStyle::SH_MenuBar_AltKeyNavigation) ) { QSKIP(("This test is not supposed to work in the " + style->objectName().toLatin1() @@ -1101,6 +1141,9 @@ void tst_QMenuBar::check_altClosePress() #if !defined(Q_OS_DARWIN) void tst_QMenuBar::check_shortcutPress() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; const TestMenu menu = initWindowWithComplexMenuBar(w); w.show(); @@ -1144,6 +1187,9 @@ private: #if !defined(Q_OS_DARWIN) void tst_QMenuBar::check_menuPosition() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow w; Menu menu; @@ -1266,6 +1312,9 @@ void tst_QMenuBar::task256322_highlight() if (!QGuiApplication::platformName().compare(QLatin1String("minimal"), Qt::CaseInsensitive)) QSKIP("Highlighting does not work correctly for minimal platform"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow win; win.menuBar()->setNativeMenuBar(false); //we can't check the geometry of native menubars QMenu menu; @@ -1383,7 +1432,9 @@ void tst_QMenuBar::taskQTBUG4965_escapeEaten() menubar.setNativeMenuBar(false); QMenu menu("menu1"); QAction *first = menubar.addMenu(&menu); +#if QT_CONFIG(shortcut) menu.addAction("quit", &menubar, SLOT(close()), QKeySequence("ESC")); +#endif centerOnScreen(&menubar); menubar.show(); QApplication::setActiveWindow(&menubar); @@ -1406,6 +1457,9 @@ void tst_QMenuBar::taskQTBUG4965_escapeEaten() void tst_QMenuBar::taskQTBUG11823_crashwithInvisibleActions() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMenuBar menubar; menubar.setNativeMenuBar(false); //we can't check the geometry of native menubars @@ -1434,6 +1488,9 @@ void tst_QMenuBar::taskQTBUG11823_crashwithInvisibleActions() void tst_QMenuBar::closeOnSecondClickAndOpenOnThirdClick() // QTBUG-32807, menu should close on 2nd click. { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow mainWindow; mainWindow.resize(300, 200); centerOnScreen(&mainWindow); @@ -1689,6 +1746,9 @@ void tst_QMenuBar::slotForTaskQTBUG53205() #if !defined(Q_OS_DARWIN) void tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow mainWindow; QWidget *centralWidget = new QWidget; centralWidget->setFocusPolicy(Qt::StrongFocus); @@ -1769,6 +1829,9 @@ void tst_QMenuBar::QTBUG_57404_existingMenuItemException() void tst_QMenuBar::taskQTBUG55966_subMenuRemoved() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow window; QMenuBar *menubar = window.menuBar(); QMenu *parentMenu = menubar->addMenu("Parent menu"); diff --git a/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp b/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp index 76f8ebc804..17a5fe2cd9 100644 --- a/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp +++ b/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp @@ -388,6 +388,9 @@ public: void tst_QOpenGLWidget::requestUpdate() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + PaintCountWidget w; w.resize(640, 480); w.show(); @@ -580,6 +583,9 @@ void tst_QOpenGLWidget::stackWidgetOpaqueChildIsVisible() QSKIP("QScreen::grabWindow() doesn't work properly on OSX HighDPI screen: QTBUG-46803"); return; #endif + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QStackedWidget stack; diff --git a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp index 2ce75620cf..336b6ebfd5 100644 --- a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp +++ b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp @@ -284,6 +284,10 @@ void tst_QPlainTextEdit::clearMustNotChangeClipboard() { if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + ed->textCursor().insertText("Hello World"); QString txt("This is different text"); QApplication::clipboard()->setText(txt); @@ -462,6 +466,9 @@ void tst_QPlainTextEdit::undoAvailableAfterPaste() if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QSignalSpy spy(ed->document(), SIGNAL(undoAvailable(bool))); const QString txt("Test"); @@ -655,6 +662,9 @@ void tst_QPlainTextEdit::copyAndSelectAllInReadonly() if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + ed->setReadOnly(true); ed->setPlainText("Hello World"); @@ -1203,6 +1213,9 @@ void tst_QPlainTextEdit::canPaste() if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QApplication::clipboard()->setText(QString()); QVERIFY(!ed->canPaste()); QApplication::clipboard()->setText("Test"); diff --git a/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp b/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp index f2f9cfc009..c491bbb4f6 100644 --- a/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp +++ b/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp @@ -239,6 +239,9 @@ void tst_QProgressBar::setValueRepaint() #ifndef Q_OS_MAC void tst_QProgressBar::setMinMaxRepaint() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + ProgressBar pbar; pbar.setMinimum(0); pbar.setMaximum(10); diff --git a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp index 66f4df4498..d0ed68c0c8 100644 --- a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp +++ b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp @@ -53,7 +53,9 @@ private slots: void getSetCheck(); void autoRepeat(); void pressed(); +#if QT_CONFIG(shortcut) void setAccel(); +#endif void isCheckable(); void setDown(); void popupCrash(); @@ -65,7 +67,9 @@ private slots: void defaultAndAutoDefault(); void sizeHint_data(); void sizeHint(); +#if QT_CONFIG(shortcut) void taskQTBUG_20191_shortcutWithKeypadModifer(); +#endif void emitReleasedAfterChange(); protected slots: @@ -125,8 +129,10 @@ void tst_QPushButton::init() testWidget->setDown( false ); testWidget->setText("Test"); testWidget->setEnabled( true ); +#if QT_CONFIG(shortcut) QKeySequence seq; testWidget->setShortcut( seq ); +#endif resetCounters(); } @@ -318,6 +324,8 @@ void tst_QPushButton::toggled() QVERIFY( click_count == 1 ); } +#if QT_CONFIG(shortcut) + /* If we press an accelerator key we ONLY get a pressed signal and NOT a released or clicked signal. @@ -325,6 +333,9 @@ void tst_QPushButton::toggled() void tst_QPushButton::setAccel() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + testWidget->setText("&AccelTest"); QKeySequence seq( Qt::ALT + Qt::Key_A ); testWidget->setShortcut( seq ); @@ -346,6 +357,8 @@ void tst_QPushButton::setAccel() QTRY_VERIFY( !testWidget->isDown() ); } +#endif // QT_CONFIG(shortcut) + void tst_QPushButton::animateClick() { QVERIFY( !testWidget->isDown() ); @@ -568,6 +581,8 @@ void tst_QPushButton::sizeHint() } } +#if QT_CONFIG(shortcut) + void tst_QPushButton::taskQTBUG_20191_shortcutWithKeypadModifer() { // setup a dialog with two buttons @@ -614,6 +629,8 @@ void tst_QPushButton::taskQTBUG_20191_shortcutWithKeypadModifer() QCOMPARE(spy2.count(), 1); } +#endif // QT_CONFIG(shortcut) + void tst_QPushButton::emitReleasedAfterChange() { QPushButton *button1 = new QPushButton("A"); diff --git a/tests/auto/widgets/widgets/qradiobutton/tst_qradiobutton.cpp b/tests/auto/widgets/widgets/qradiobutton/tst_qradiobutton.cpp index a4edea23bc..5c7d3bf1e9 100644 --- a/tests/auto/widgets/widgets/qradiobutton/tst_qradiobutton.cpp +++ b/tests/auto/widgets/widgets/qradiobutton/tst_qradiobutton.cpp @@ -44,14 +44,21 @@ public: virtual ~tst_QRadioButton(){}; private slots: +#if QT_CONFIG(shortcut) void task190739_focus(); +#endif void minimumSizeHint(); private: }; +#if QT_CONFIG(shortcut) + void tst_QRadioButton::task190739_focus() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QWidget widget; QPushButton button1(&widget); button1.setText("button1"); @@ -81,6 +88,7 @@ void tst_QRadioButton::task190739_focus() QVERIFY(!radio1.hasFocus()); } +#endif // QT_CONFIG(shortcut) void tst_QRadioButton::minimumSizeHint() { diff --git a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp index d75e701d1c..b5d2e68118 100644 --- a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp +++ b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp @@ -47,7 +47,9 @@ #include <QLocale> #include <QDoubleSpinBox> #include <QVBoxLayout> -#include <QKeySequence> +#if QT_CONFIG(shortcut) +# include <QKeySequence> +#endif #include <QStackedWidget> #include <QDebug> #include <QStyleOptionSpinBox> @@ -173,7 +175,10 @@ private slots: void removeAll(); void startWithDash(); + +#if QT_CONFIG(shortcut) void undoRedo(); +#endif void specialValue(); void textFromValue(); @@ -906,6 +911,9 @@ void tst_QSpinBox::locale() void tst_QSpinBox::editingFinished() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QWidget testFocusWidget; testFocusWidget.setObjectName(QLatin1String("tst_qspinbox")); testFocusWidget.setWindowTitle(objectName()); @@ -1021,6 +1029,8 @@ void tst_QSpinBox::startWithDash() QCOMPARE(spin.text(), QString("0")); } +#if QT_CONFIG(shortcut) + void tst_QSpinBox::undoRedo() { //test undo/redo feature (in conjunction with the "undoRedoEnabled" property) @@ -1073,8 +1083,13 @@ void tst_QSpinBox::undoRedo() QVERIFY(!spin.lineEdit()->isRedoAvailable()); } +#endif // QT_CONFIG(shortcut) + void tst_QSpinBox::specialValue() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QString specialText="foo"; QWidget topWidget; @@ -1167,6 +1182,9 @@ void tst_QSpinBox::sizeHint() void tst_QSpinBox::taskQTBUG_5008_textFromValueAndValidate() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + class DecoratedSpinBox : public QSpinBox { public: @@ -1245,6 +1263,9 @@ void tst_QSpinBox::lineEditReturnPressed() void tst_QSpinBox::positiveSign() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QSpinBox spinBox; spinBox.setRange(-20, 20); spinBox.setValue(-20); @@ -1260,6 +1281,9 @@ void tst_QSpinBox::positiveSign() void tst_QSpinBox::interpretOnLosingFocus() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + // QTBUG-55249: When typing an invalid value after QSpinBox::clear(), // it should be fixed up on losing focus. @@ -1614,6 +1638,9 @@ void tst_QSpinBox::stepModifierKeys_data() void tst_QSpinBox::stepModifierKeys() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(int, startValue); QFETCH(int, stepModifier); QFETCH(QTestEventList, keys); @@ -1697,6 +1724,9 @@ void tst_QSpinBox::stepModifierButtons_data() void tst_QSpinBox::stepModifierButtons() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QStyle::SubControl, subControl); QFETCH(int, stepModifier); QFETCH(Qt::KeyboardModifiers, modifiers); @@ -1782,6 +1812,9 @@ void tst_QSpinBox::stepModifierPressAndHold_data() void tst_QSpinBox::stepModifierPressAndHold() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(QStyle::SubControl, subControl); QFETCH(int, stepModifier); QFETCH(Qt::KeyboardModifiers, modifiers); diff --git a/tests/auto/widgets/widgets/qsplitter/tst_qsplitter.cpp b/tests/auto/widgets/widgets/qsplitter/tst_qsplitter.cpp index cbeb77a25e..cc65accdc3 100644 --- a/tests/auto/widgets/widgets/qsplitter/tst_qsplitter.cpp +++ b/tests/auto/widgets/widgets/qsplitter/tst_qsplitter.cpp @@ -278,6 +278,9 @@ void tst_QSplitter::saveAndRestoreState() void tst_QSplitter::saveAndRestoreStateOfNotYetShownSplitter() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QSplitter *spl = new QSplitter; QLabel *l1 = new QLabel; QLabel *l2 = new QLabel; @@ -590,6 +593,9 @@ void tst_QSplitter::testShowHide_data() void tst_QSplitter::testShowHide() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(bool, hideWidget1); QFETCH(bool, hideWidget2); @@ -716,6 +722,9 @@ void tst_QSplitter::replaceWidget_data() void tst_QSplitter::replaceWidget() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QFETCH(int, index); QFETCH(bool, visible); QFETCH(bool, collapsed); @@ -962,6 +971,9 @@ class MyTextEdit : public QTextEdit void tst_QSplitter::task169702_sizes() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QWidget topLevel; // Create two nested (non-collapsible) splitters QSplitter* outerSplitter = new QSplitter(Qt::Vertical, &topLevel); diff --git a/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp b/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp index 59a334fab9..4fd3661fa7 100644 --- a/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp +++ b/tests/auto/widgets/widgets/qstackedwidget/tst_qstackedwidget.cpp @@ -163,6 +163,9 @@ private: void tst_QStackedWidget::dynamicPages() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QStackedWidget stackedWidget; QStackedWidget *sw = &stackedWidget; diff --git a/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp b/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp index 928910344c..256906080e 100644 --- a/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp +++ b/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp @@ -132,6 +132,9 @@ void tst_QStatusBar::insertPermanentWidget() void tst_QStatusBar::setSizeGripEnabled() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow mainWindow; QPointer<QStatusBar> statusBar = mainWindow.statusBar(); QVERIFY(statusBar); @@ -223,6 +226,9 @@ void tst_QStatusBar::task194017_hiddenWidget() void tst_QStatusBar::QTBUG4334_hiddenOnMaximizedWindow() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow main; QStatusBar statusbar; statusbar.setSizeGripEnabled(true); diff --git a/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp b/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp index feade7d443..a37042aeca 100644 --- a/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp +++ b/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp @@ -536,6 +536,9 @@ protected: void tst_QTabWidget::paintEventCount() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + Q_CHECK_PAINTEVENTS PaintCounter *tab1 = new PaintCounter; diff --git a/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp index 27bf0ce7be..2496d446d8 100644 --- a/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp +++ b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp @@ -70,6 +70,7 @@ class tst_QTextBrowser : public QObject Q_OBJECT private slots: + void initTestCase(); void init(); void cleanup(); @@ -101,6 +102,12 @@ private: TestBrowser *browser; }; +void tst_QTextBrowser::initTestCase() +{ + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); +} + void tst_QTextBrowser::init() { QString prefix = QFileInfo(QFINDTESTDATA("subdir")).absolutePath(); diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp index b31e230893..cfd8132d46 100644 --- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp @@ -500,6 +500,10 @@ void tst_QTextEdit::clearMustNotChangeClipboard() { if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + ed->textCursor().insertText("Hello World"); QString txt("This is different text"); QApplication::clipboard()->setText(txt); @@ -790,6 +794,9 @@ void tst_QTextEdit::undoAvailableAfterPaste() if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QSignalSpy spy(ed->document(), SIGNAL(undoAvailable(bool))); const QString txt("Test"); @@ -1012,6 +1019,9 @@ void tst_QTextEdit::copyAndSelectAllInReadonly() if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + ed->setReadOnly(true); ed->setPlainText("Hello World"); @@ -1559,6 +1569,9 @@ void tst_QTextEdit::canPaste() if (!PlatformClipboard::isAvailable()) QSKIP("Clipboard not working with cron-started unit tests"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QApplication::clipboard()->setText(QString()); QVERIFY(!ed->canPaste()); QApplication::clipboard()->setText("Test"); @@ -1864,6 +1877,9 @@ void tst_QTextEdit::copyPasteBackgroundImage() if (!PlatformClipboard::isAvailable()) QSKIP("Native clipboard not working in this setup"); + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QImage foo(16, 16, QImage::Format_ARGB32_Premultiplied); foo.save("foo.png"); ed->setHtml("<body><table><tr><td background=\"foo.png\">Foo</td></tr></table></body>"); @@ -2440,6 +2456,9 @@ void tst_QTextEdit::bidiLogicalMovement() void tst_QTextEdit::inputMethodEvent() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + ed->show(); // test that text change with an input method event triggers change signal @@ -2543,6 +2562,9 @@ void tst_QTextEdit::inputMethodCursorRect() void tst_QTextEdit::highlightLongLine() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QTextEdit edit; edit.setAcceptRichText(false); edit.setWordWrapMode(QTextOption::NoWrap); diff --git a/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp b/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp index d6c165642e..1e71f92361 100644 --- a/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp +++ b/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp @@ -40,7 +40,9 @@ #include <qwidgetaction.h> #include <qtoolbutton.h> #include <qlineedit.h> -#include <qkeysequence.h> +#if QT_CONFIG(shortcut) +# include <qkeysequence.h> +#endif #include <qmenu.h> #include <qlabel.h> #include <private/qtoolbarextension_p.h> @@ -1029,6 +1031,9 @@ QT_END_NAMESPACE void tst_QToolBar::accel() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + #ifdef Q_OS_MAC qt_set_sequence_auto_mnemonic(true); #endif @@ -1071,6 +1076,9 @@ void tst_QToolBar::task191727_layout() void tst_QToolBar::task197996_visibility() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow mw; QToolBar *toolBar = new QToolBar(&mw); @@ -1129,6 +1137,9 @@ private: void tst_QToolBar::extraCpuConsumption() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QMainWindow mainWindow; auto tb = new QToolBar(&mainWindow); diff --git a/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp b/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp index 44b30fa794..32a86993df 100644 --- a/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp +++ b/tests/auto/widgets/widgets/qtoolbutton/tst_qtoolbutton.cpp @@ -110,6 +110,9 @@ void tst_QToolButton::getSetCheck() void tst_QToolButton::triggered() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + qRegisterMetaType<QAction *>("QAction *"); QWidget mainWidget; mainWidget.setWindowTitle(QStringLiteral("triggered")); @@ -193,6 +196,9 @@ void tst_QToolButton::task230994_iconSize() void tst_QToolButton::task176137_autoRepeatOfAction() { + if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) + QSKIP("Wayland: This fails. Figure out why."); + QAction action(0); QWidget mainWidget; mainWidget.setWindowTitle(QStringLiteral("task176137_autoRepeatOfAction")); diff --git a/tests/auto/widgets/widgets/widgets.pro b/tests/auto/widgets/widgets/widgets.pro index c6325aac15..66950fa85a 100644 --- a/tests/auto/widgets/widgets/widgets.pro +++ b/tests/auto/widgets/widgets/widgets.pro @@ -47,6 +47,9 @@ SUBDIRS=\ qtoolbox \ qtoolbutton \ +!qtConfig(shortcut): SUBDIRS -= \ + qkeysequenceedit + # The following tests depend on private API: !qtConfig(private_tests): SUBDIRS -= \ qabstractspinbox \ |