diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-08-26 01:00:16 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-08-26 01:00:16 +0200 |
commit | 2cdbe29ef06fbebe6fcb3b9297b43fd764b7833b (patch) | |
tree | e0d3fb1cf9608a33343676788cffca3ca9e010af /tests/auto | |
parent | dcf476503e570af327e6e5d68cc66f73d9d6a060 (diff) | |
parent | 5a707272a054e677a0577cf136a089891d981a29 (diff) |
Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I9c2a18f5110adf3d8f630718238866aef47bb782
Diffstat (limited to 'tests/auto')
7 files changed, 127 insertions, 32 deletions
diff --git a/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp b/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp index 00962afa72..ac20fb35ec 100644 --- a/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp +++ b/tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp @@ -43,6 +43,7 @@ private slots: void keyValueAt(); void keyValues(); void duration(); + void interpolation(); }; class TestableQVariantAnimation : public QVariantAnimation @@ -129,6 +130,30 @@ void tst_QVariantAnimation::duration() QCOMPARE(anim.duration(), 500); } +void tst_QVariantAnimation::interpolation() +{ + QVariantAnimation unsignedAnim; + unsignedAnim.setStartValue(100u); + unsignedAnim.setEndValue(0u); + unsignedAnim.setDuration(100); + unsignedAnim.setCurrentTime(50); + QCOMPARE(unsignedAnim.currentValue().toUInt(), 50u); + + QVariantAnimation signedAnim; + signedAnim.setStartValue(100); + signedAnim.setEndValue(0); + signedAnim.setDuration(100); + signedAnim.setCurrentTime(50); + QCOMPARE(signedAnim.currentValue().toInt(), 50); + + QVariantAnimation pointAnim; + pointAnim.setStartValue(QPoint(100, 100)); + pointAnim.setEndValue(QPoint(0, 0)); + pointAnim.setDuration(100); + pointAnim.setCurrentTime(50); + QCOMPARE(pointAnim.currentValue().toPoint(), QPoint(50, 50)); +} + QTEST_MAIN(tst_QVariantAnimation) #include "tst_qvariantanimation.moc" diff --git a/tests/auto/corelib/tools/qdatetime/BLACKLIST b/tests/auto/corelib/tools/qdatetime/BLACKLIST new file mode 100644 index 0000000000..3a42ee066b --- /dev/null +++ b/tests/auto/corelib/tools/qdatetime/BLACKLIST @@ -0,0 +1,2 @@ +[timeZoneAbbreviation] +osx diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp index c0b7674f22..d460beafde 100644 --- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp @@ -2726,15 +2726,15 @@ void tst_QDateTime::timeZoneAbbreviation() qDebug("(Skipped some CET-only tests)"); } - QString cet(QStringLiteral("CET")), cest(QStringLiteral("CEST")); #ifdef Q_OS_ANDROID // Only reports (general) zones as offsets (QTBUG-68837) - cet = QStringLiteral("GMT+01:00"); - cest = QStringLiteral("GMT+02:00"); -#elif defined Q_OS_DARWIN // Lacked real names until 10.13, High Sierra - if (QOperatingSystemVersion::current() < QOperatingSystemVersion::MacOSHighSierra) { - cet = QStringLiteral("GMT+1"); - cest = QStringLiteral("GMT+2"); - } + const QString cet(QStringLiteral("GMT+01:00")); + const QString cest(QStringLiteral("GMT+02:00")); +#elif defined Q_OS_DARWIN + const QString cet(QStringLiteral("GMT+1")); + const QString cest(QStringLiteral("GMT+2")); +#else + const QString cet(QStringLiteral("CET")); + const QString cest(QStringLiteral("CEST")); #endif QDateTime dt5(QDate(2013, 1, 1), QTime(0, 0, 0), QTimeZone("Europe/Berlin")); diff --git a/tests/auto/corelib/tools/qlocale/BLACKLIST b/tests/auto/corelib/tools/qlocale/BLACKLIST new file mode 100644 index 0000000000..3eac7c10ed --- /dev/null +++ b/tests/auto/corelib/tools/qlocale/BLACKLIST @@ -0,0 +1,2 @@ +[formatTimeZone] +osx diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp index 9e9ba03a60..6132dabeea 100644 --- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp @@ -1623,15 +1623,15 @@ void tst_QLocale::formatTimeZone() qDebug("(Skipped some CET-only tests)"); } - QString cet(QStringLiteral("CET")), cest(QStringLiteral("CEST")); #ifdef Q_OS_ANDROID // Only reports (general) zones as offsets (QTBUG-68837) - cet = QStringLiteral("GMT+01:00"); - cest = QStringLiteral("GMT+02:00"); -#elif defined Q_OS_DARWIN // Lacked real names until 10.13, High Sierra - if (QOperatingSystemVersion::current() < QOperatingSystemVersion::MacOSHighSierra) { - cet = QStringLiteral("GMT+1"); - cest = QStringLiteral("GMT+2"); - } + const QString cet(QStringLiteral("GMT+01:00")); + const QString cest(QStringLiteral("GMT+02:00")); +#elif defined Q_OS_DARWIN + const QString cet(QStringLiteral("GMT+1")); + const QString cest(QStringLiteral("GMT+2")); +#else + const QString cet(QStringLiteral("CET")); + const QString cest(QStringLiteral("CEST")); #endif QDateTime dt6(QDate(2013, 1, 1), QTime(0, 0, 0), QTimeZone("Europe/Berlin")); @@ -2467,6 +2467,10 @@ void tst_QLocale::currency() QCOMPARE(de_DE.toCurrencyString(double(-1234.56), QLatin1String("BAZ")), QString::fromUtf8("-1.234,56\xc2\xa0" "BAZ")); + const QLocale es_CR(QLocale::Spanish, QLocale::CostaRica); + QCOMPARE(es_CR.toCurrencyString(double(1565.25)), + QString::fromUtf8("\xE2\x82\xA1" "1\xC2\xA0" "565,25")); + const QLocale system = QLocale::system(); QVERIFY(system.toCurrencyString(1, QLatin1String("FOO")).contains(QLatin1String("FOO"))); } diff --git a/tests/auto/other/gestures/BLACKLIST b/tests/auto/other/gestures/BLACKLIST index 0cb80fc42f..7f36054c6e 100644 --- a/tests/auto/other/gestures/BLACKLIST +++ b/tests/auto/other/gestures/BLACKLIST @@ -12,3 +12,5 @@ ubuntu-18.04 ubuntu-18.04 [explicitGraphicsObjectTarget] ubuntu-18.04 +[autoCancelGestures2] +ubuntu-18.04 diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp index eee649847f..ae8e4f7e04 100644 --- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp @@ -49,6 +49,7 @@ #include <qsortfilterproxymodel.h> #include <qlineedit.h> #include <qlayout.h> +#include <qtemporarydir.h> #include <private/qfiledialog_p.h> #if defined QT_BUILD_INTERNAL #include <private/qsidebar_p.h> @@ -1310,57 +1311,116 @@ void tst_QFiledialog::saveButtonText() QCOMPARE(button->text(), caption); } +// Predicate for use with QTRY_VERIFY() that checks whether the file dialog list +// has been populated (contains an entry). +class DirPopulatedPredicate +{ +public: + explicit DirPopulatedPredicate(QListView *list, const QString &needle) : + m_list(list), m_needle(needle) {} + + operator bool() const + { + const auto model = m_list->model(); + const auto root = m_list->rootIndex(); + for (int r = 0, count = model->rowCount(root); r < count; ++r) { + if (m_needle == model->index(r, 0, root).data(Qt::DisplayRole).toString()) + return true; + } + return false; + } + +private: + QListView *m_list; + QString m_needle; +}; + +// A predicate for use with QTRY_VERIFY() that ensures an entry of the file dialog +// list is selected by pressing cursor down. +class SelectDirTestPredicate +{ +public: + explicit SelectDirTestPredicate(QListView *list, const QString &needle) : + m_list(list), m_needle(needle) {} + + operator bool() const + { + if (m_needle == m_list->currentIndex().data(Qt::DisplayRole).toString()) + return true; + QCoreApplication::processEvents(); + QTest::keyClick(m_list, Qt::Key_Down); + return false; + } + +private: + QListView *m_list; + QString m_needle; +}; + void tst_QFiledialog::clearLineEdit() { - QFileDialog fd(0, "caption", "foo"); + // Play it really safe by creating a directory which should show first in + // a temporary dir + QTemporaryDir workDir(QDir::tempPath() + QLatin1String("/tst_qfd_clearXXXXXX")); + QVERIFY2(workDir.isValid(), qPrintable(workDir.errorString())); + const QString workDirPath = workDir.path(); + const QString dirName = QLatin1String("aaaaa"); + QVERIFY(QDir(workDirPath).mkdir(dirName)); + + QFileDialog fd(nullptr, + QLatin1String(QTest::currentTestFunction()) + QLatin1String(" AnyFile"), + "foo"); fd.setViewMode(QFileDialog::List); fd.setFileMode(QFileDialog::AnyFile); fd.show(); - //play it really safe by creating a directory - QDir::home().mkdir("_____aaaaaaaaaaaaaaaaaaaaaa"); - QLineEdit *lineEdit = fd.findChild<QLineEdit*>("fileNameEdit"); QVERIFY(lineEdit); QCOMPARE(lineEdit->text(), QLatin1String("foo")); - fd.setDirectory(QDir::home()); QListView* list = fd.findChild<QListView*>("listView"); QVERIFY(list); - // saving a file the text shouldn't be cleared - fd.setDirectory(QDir::home()); + // When in AnyFile mode, lineEdit's text shouldn't be cleared when entering + // a directory by activating one in the list + fd.setDirectory(workDirPath); + DirPopulatedPredicate dirPopulated(list, dirName); + QTRY_VERIFY(dirPopulated); #ifdef QT_KEYPAD_NAVIGATION list->setEditFocus(true); #endif - QTest::keyClick(list, Qt::Key_Down); + + SelectDirTestPredicate selectTestDir(list, dirName); + QTRY_VERIFY(selectTestDir); + #ifndef Q_OS_MAC QTest::keyClick(list, Qt::Key_Return); #else QTest::keyClick(list, Qt::Key_O, Qt::ControlModifier); #endif - QTRY_VERIFY(fd.directory().absolutePath() != QDir::home().absolutePath()); + QTRY_VERIFY(fd.directory().absolutePath() != workDirPath); QVERIFY(!lineEdit->text().isEmpty()); - // selecting a dir the text should be cleared so one can just hit ok + // When in Directory mode, lineEdit's text should be cleared when entering + // a directory by activating one in the list so one can just hit ok // and it selects that directory fd.setFileMode(QFileDialog::Directory); - fd.setDirectory(QDir::home()); + fd.setWindowTitle(QLatin1String(QTest::currentTestFunction()) + QLatin1String(" Directory")); + fd.setDirectory(workDirPath); + QTRY_VERIFY(dirPopulated); + + QTRY_VERIFY(selectTestDir); - QTest::keyClick(list, Qt::Key_Down); #ifndef Q_OS_MAC QTest::keyClick(list, Qt::Key_Return); #else QTest::keyClick(list, Qt::Key_O, Qt::ControlModifier); #endif - QTRY_VERIFY(fd.directory().absolutePath() != QDir::home().absolutePath()); + QTRY_VERIFY(fd.directory().absolutePath() != workDirPath); QVERIFY(lineEdit->text().isEmpty()); - - //remove the dir - QDir::home().rmdir("_____aaaaaaaaaaaaaaaaaaaaaa"); } void tst_QFiledialog::enableChooseButton() |