summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-08-26 01:00:16 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-08-26 01:00:16 +0200
commit2cdbe29ef06fbebe6fcb3b9297b43fd764b7833b (patch)
treee0d3fb1cf9608a33343676788cffca3ca9e010af /tests/auto
parentdcf476503e570af327e6e5d68cc66f73d9d6a060 (diff)
parent5a707272a054e677a0577cf136a089891d981a29 (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/animation/qvariantanimation/tst_qvariantanimation.cpp25
-rw-r--r--tests/auto/corelib/tools/qdatetime/BLACKLIST2
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp16
-rw-r--r--tests/auto/corelib/tools/qlocale/BLACKLIST2
-rw-r--r--tests/auto/corelib/tools/qlocale/tst_qlocale.cpp20
-rw-r--r--tests/auto/other/gestures/BLACKLIST2
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp92
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()