diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-25 14:02:04 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-25 14:02:04 +0200 |
commit | a1ad9a74ebb3c556c5f70f7e03be68b09598ac53 (patch) | |
tree | 615a96db418219a57a745a5899e39a9ac90744ec /tests/auto/widgets/widgets | |
parent | 6d78b7a0c46ea04f4bb771d960e2f7dff1362341 (diff) | |
parent | 462f355e4fb16cc7a1838fa2dda0f763eee58c84 (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
src/corelib/io/io.pri
src/corelib/io/qdatastream.cpp
src/corelib/io/qdatastream.h
src/network/socket/qabstractsocket.cpp
src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h
src/widgets/styles/qgtkstyle.cpp
tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro
tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro
tests/auto/dbus/qdbusconnection/qdbusconnection.pro
tests/auto/dbus/qdbuspendingcall/tst_qdbuspendingcall.cpp
tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
Change-Id: I347549a024eb5bfa986699e0a11f96cc55c797a7
Diffstat (limited to 'tests/auto/widgets/widgets')
6 files changed, 58 insertions, 9 deletions
diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp index e8a0916dc5..d41398046f 100644 --- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp +++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp @@ -285,6 +285,7 @@ typedef QList<Qt::Key> KeyList; void tst_QDateTimeEdit::getSetCheck() { QDateTimeEdit obj1; + QCOMPARE(obj1.inputMethodQuery(Qt::ImHints), QVariant(int(Qt::ImhPreferNumbers))); obj1.setDisplayFormat("dd/MM/yyyy hh:mm:ss.zzz d/M/yy h:m:s.z AP"); // Section QDateTimeEdit::currentSection() // void QDateTimeEdit::setCurrentSection(Section) @@ -306,6 +307,11 @@ void tst_QDateTimeEdit::getSetCheck() QCOMPARE(QDateTimeEdit::MonthSection, obj1.currentSection()); obj1.setCurrentSection(QDateTimeEdit::YearSection); QCOMPARE(QDateTimeEdit::YearSection, obj1.currentSection()); + + QDateEdit dateEdit; + QCOMPARE(dateEdit.inputMethodQuery(Qt::ImHints), QVariant(int(Qt::ImhPreferNumbers))); + QTimeEdit timeEdit; + QCOMPARE(timeEdit.inputMethodQuery(Qt::ImHints), QVariant(int(Qt::ImhPreferNumbers))); } tst_QDateTimeEdit::tst_QDateTimeEdit() diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index 802c6c3e2c..396dad4fa5 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -306,6 +306,7 @@ private slots: void clearButton(); void clearButtonVisibleAfterSettingText_QTBUG_45518(); void sideWidgets(); + void sideWidgetsActionEvents(); void shouldShowPlaceholderText_data(); void shouldShowPlaceholderText(); @@ -4320,6 +4321,13 @@ void tst_QLineEdit::clearButtonVisibleAfterSettingText_QTBUG_45518() #endif // QT_BUILD_INTERNAL } +static inline QIcon sideWidgetTestIcon() +{ + QImage image(QSize(20, 20), QImage::Format_ARGB32); + image.fill(Qt::yellow); + return QIcon(QPixmap::fromImage(image)); +} + void tst_QLineEdit::sideWidgets() { QWidget testWidget; @@ -4327,9 +4335,7 @@ void tst_QLineEdit::sideWidgets() QLineEdit *lineEdit = new QLineEdit(&testWidget); l->addWidget(lineEdit); l->addSpacerItem(new QSpacerItem(0, 50, QSizePolicy::Ignored, QSizePolicy::Fixed)); - QImage image(QSize(20, 20), QImage::Format_ARGB32); - image.fill(Qt::yellow); - QAction *iconAction = new QAction(QIcon(QPixmap::fromImage(image)), QString(), lineEdit); + QAction *iconAction = new QAction(sideWidgetTestIcon(), QString(), lineEdit); QWidgetAction *label1Action = new QWidgetAction(lineEdit); label1Action->setDefaultWidget(new QLabel(QStringLiteral("l1"))); QWidgetAction *label2Action = new QWidgetAction(lineEdit); @@ -4356,6 +4362,38 @@ void tst_QLineEdit::sideWidgets() lineEdit->addAction(iconAction); } +void tst_QLineEdit::sideWidgetsActionEvents() +{ + // QTBUG-39660, verify whether action events are handled by the widget. + QWidget testWidget; + QVBoxLayout *l = new QVBoxLayout(&testWidget); + QLineEdit *lineEdit = new QLineEdit(&testWidget); + l->addWidget(lineEdit); + l->addSpacerItem(new QSpacerItem(0, 50, QSizePolicy::Ignored, QSizePolicy::Fixed)); + QAction *iconAction = lineEdit->addAction(sideWidgetTestIcon(), QLineEdit::LeadingPosition); + testWidget.move(300, 300); + testWidget.show(); + QVERIFY(QTest::qWaitForWindowExposed(&testWidget)); + + QWidget *toolButton = Q_NULLPTR; + foreach (QWidget *w, iconAction->associatedWidgets()) { + if (qobject_cast<QToolButton *>(w)) { + toolButton = w; + break; + } + } + QVERIFY(toolButton); + + QVERIFY(toolButton->isVisible()); + QVERIFY(toolButton->isEnabled()); + + iconAction->setEnabled(false); + QVERIFY(!toolButton->isEnabled()); + + iconAction->setVisible(false); + QVERIFY(!toolButton->isVisible()); +} + Q_DECLARE_METATYPE(Qt::AlignmentFlag) void tst_QLineEdit::shouldShowPlaceholderText_data() { diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp index e7de027b22..e23634c515 100644 --- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp @@ -518,7 +518,7 @@ void tst_QMdiArea::subWindowActivated2() #ifdef Q_OS_MAC QSKIP("QTBUG-25298: This test is unstable on Mac."); #endif - if (qApp->platformName().toLower() == QStringLiteral("xcb")) + if (!QGuiApplication::platformName().compare(QLatin1String("xcb"), Qt::CaseInsensitive)) QSKIP("QTBUG-25298: Unstable on some X11 window managers"); QTRY_COMPARE(spy.count(), 1); QVERIFY(!mdiArea.activeSubWindow()); diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp index 843bb3437c..5ae0733965 100644 --- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp +++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp @@ -363,7 +363,7 @@ void tst_QMenu::keyboardNavigation_data() QTest::newRow("data9") << Qt::Key(Qt::Key_Down) << Qt::KeyboardModifiers(Qt::NoModifier) << 3 << 0 << false << false<< true; QTest::newRow("data10") << Qt::Key(Qt::Key_Return) << Qt::KeyboardModifiers(Qt::NoModifier) << 3 << 0 << false << true << false; - if (qApp->platformName().toLower() != QStringLiteral("xcb")) { + if (QGuiApplication::platformName().compare(QLatin1String("xcb"), Qt::CaseInsensitive)) { // Test shortcuts. QTest::newRow("shortcut0") << Qt::Key(Qt::Key_V) << Qt::KeyboardModifiers(Qt::AltModifier) << 5 << 0 << true << true << false; } diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index 9e24f373eb..baf60551c4 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -128,7 +128,7 @@ private slots: void taskQTBUG4965_escapeEaten(); #endif void taskQTBUG11823_crashwithInvisibleActions(); - void closeOnSecondClick(); + void closeOnSecondClickAndOpenOnThirdClick(); void cornerWidgets_data(); void cornerWidgets(); @@ -1312,7 +1312,7 @@ void tst_QMenuBar::taskQTBUG11823_crashwithInvisibleActions() QCOMPARE(menubar.activeAction(), m); //the active action shouldn't have changed } -void tst_QMenuBar::closeOnSecondClick() // QTBUG-32807, menu should close on 2nd click. +void tst_QMenuBar::closeOnSecondClickAndOpenOnThirdClick() // QTBUG-32807, menu should close on 2nd click. { QMainWindow mainWindow; mainWindow.resize(300, 200); @@ -1322,17 +1322,20 @@ void tst_QMenuBar::closeOnSecondClick() // QTBUG-32807, menu should close on 2nd #endif QMenuBar *menuBar = mainWindow.menuBar(); menuBar->setNativeMenuBar(false); - QMenu *fileMenu = menuBar->addMenu(QStringLiteral("closeOnSecondClick")); + QMenu *fileMenu = menuBar->addMenu(QStringLiteral("OpenCloseOpen")); fileMenu->addAction(QStringLiteral("Quit")); mainWindow.show(); QApplication::setActiveWindow(&mainWindow); QVERIFY(QTest::qWaitForWindowActive(&mainWindow)); const QPoint center = menuBar->actionGeometry(fileMenu->menuAction()).center(); + const QPoint globalPos = menuBar->mapToGlobal(center); QTest::mouseMove(menuBar, center); QTest::mouseClick(menuBar, Qt::LeftButton, 0, center); QTRY_VERIFY(fileMenu->isVisible()); - QTest::mouseClick(menuBar, Qt::LeftButton, 0, center); + QTest::mouseClick(fileMenu, Qt::LeftButton, 0, fileMenu->mapFromGlobal(globalPos)); QTRY_VERIFY(!fileMenu->isVisible()); + QTest::mouseClick(menuBar, Qt::LeftButton, 0, center); + QTRY_VERIFY(fileMenu->isVisible()); } Q_DECLARE_METATYPE(Qt::Corner) diff --git a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp index 05dd834c76..34b05c5291 100644 --- a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp +++ b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp @@ -165,6 +165,7 @@ Q_DECLARE_METATYPE(QLocale::Country) void tst_QSpinBox::getSetCheck() { QSpinBox obj1; + QCOMPARE(obj1.inputMethodQuery(Qt::ImHints), QVariant(int(Qt::ImhDigitsOnly))); // int QSpinBox::singleStep() // void QSpinBox::setSingleStep(int) obj1.setSingleStep(0); @@ -202,6 +203,7 @@ void tst_QSpinBox::getSetCheck() QCOMPARE(INT_MAX, obj1.value()); QDoubleSpinBox obj2; + QCOMPARE(obj2.inputMethodQuery(Qt::ImHints), QVariant(int(Qt::ImhFormattedNumbersOnly))); // double QDoubleSpinBox::singleStep() // void QDoubleSpinBox::setSingleStep(double) obj2.setSingleStep(0.0); |