aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-07-17 03:00:30 +0200
committerMitch Curtis <mitch.curtis@qt.io>2018-07-17 09:45:48 +0000
commitd96bd6069c6d24c12f0a3d96466e50b4d1a09ac4 (patch)
treeb1250acd86c482fc92cd90d1733f0a436d1c2a78 /tests
parent1567e4581e1f82dae011d6d3b2e4196efc93b0f4 (diff)
parent449c9c2474da0461c14e7d6ea12ff4e35c3c7aae (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts: src/quickcontrols2/qquickstyle.cpp src/quicktemplates2/qquickscrollview.cpp tests/auto/qquickstyle/tst_qquickstyle.cpp Change-Id: I9afddf07a956f43cf0445e91b8d1a02f167b6bd5
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/controls/data/tst_tumbler.qml8
-rw-r--r--tests/auto/qquickstyle/tst_qquickstyle.cpp111
2 files changed, 112 insertions, 7 deletions
diff --git a/tests/auto/controls/data/tst_tumbler.qml b/tests/auto/controls/data/tst_tumbler.qml
index f62c62c2..18f63ed4 100644
--- a/tests/auto/controls/data/tst_tumbler.qml
+++ b/tests/auto/controls/data/tst_tumbler.qml
@@ -298,13 +298,7 @@ TestCase {
tryCompare(tumbler, "currentIndex", data.currentIndex);
tumblerView = findView(tumbler);
- // TODO: replace once QTBUG-19708 is fixed.
- for (var delay = 1000; delay >= 0; delay -= 50) {
- if (tumblerView.currentItem)
- break;
- wait(50);
- }
- verify(tumblerView.currentItem);
+ tryVerify(function() { return tumblerView.currentItem });
compare(tumblerView.currentIndex, data.currentIndex);
compare(tumblerView.currentItem.text, data.currentIndex.toString());
diff --git a/tests/auto/qquickstyle/tst_qquickstyle.cpp b/tests/auto/qquickstyle/tst_qquickstyle.cpp
index 324d0b08..2210bf69 100644
--- a/tests/auto/qquickstyle/tst_qquickstyle.cpp
+++ b/tests/auto/qquickstyle/tst_qquickstyle.cpp
@@ -57,6 +57,8 @@ private slots:
void availableStyles();
void qrcStylePaths_data();
void qrcStylePaths();
+ void qrcInQtQuickControlsStylePathEnvVar_data();
+ void qrcInQtQuickControlsStylePathEnvVar();
private:
void loadControls();
@@ -69,6 +71,7 @@ void tst_QQuickStyle::cleanup()
QGuiApplicationPrivate::styleOverride.clear();
qunsetenv("QT_QUICK_CONTROLS_STYLE");
+ qunsetenv("QT_QUICK_CONTROLS_STYLE_PATH");
qunsetenv("QT_QUICK_CONTROLS_FALLBACK_STYLE");
qunsetenv("QT_QUICK_CONTROLS_CONF");
}
@@ -206,6 +209,114 @@ void tst_QQuickStyle::qrcStylePaths()
}
}
+void tst_QQuickStyle::qrcInQtQuickControlsStylePathEnvVar_data()
+{
+ QTest::addColumn<QString>("environmentVariable");
+ QTest::addColumn<QStringList>("expectedAvailableStyles");
+
+ const QChar listSeparator = QDir::listSeparator();
+ const QStringList defaultAvailableStyles = QQuickStyle::availableStyles();
+
+ {
+ QString environmentVariable;
+ QDebug stream(&environmentVariable);
+ stream.noquote().nospace() << "/some/bogus/path/" << listSeparator
+ << ":/qrcStyles1";
+
+ QStringList expectedAvailableStyles = defaultAvailableStyles;
+ // We need to move the Default style to the start of the list,
+ // as that's what availableStyles() does.
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle1"));
+
+ QTest::addRow("%s", qPrintable(environmentVariable))
+ << environmentVariable << expectedAvailableStyles;
+ }
+
+ {
+ QString environmentVariable;
+ QDebug stream(&environmentVariable);
+ stream.noquote().nospace() << ":/qrcStyles2" << listSeparator
+ << "/some/bogus/path";
+
+ QStringList expectedAvailableStyles = defaultAvailableStyles;
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle2"));
+
+ QTest::addRow("%s", qPrintable(environmentVariable))
+ << environmentVariable << expectedAvailableStyles;
+ }
+
+ {
+ QString environmentVariable;
+ QDebug stream(&environmentVariable);
+ stream.noquote().nospace() << ":/qrcStyles1" << listSeparator
+ << ":/qrcStyles2" << listSeparator
+ << QFINDTESTDATA("data");
+
+ QStringList expectedAvailableStyles = defaultAvailableStyles;
+ expectedAvailableStyles.insert(1, QLatin1String("DummyStyle"));
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle2"));
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle1"));
+
+ QTest::addRow("%s", qPrintable(environmentVariable))
+ << environmentVariable << expectedAvailableStyles;
+ }
+
+ {
+ QString environmentVariable;
+ QDebug stream(&environmentVariable);
+ stream.noquote().nospace() << QFINDTESTDATA("data") << listSeparator
+ << ":/qrcStyles1" << listSeparator
+ << ":/qrcStyles2";
+
+ QStringList expectedAvailableStyles = defaultAvailableStyles;
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle2"));
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle1"));
+ expectedAvailableStyles.insert(1, QLatin1String("DummyStyle"));
+
+ QTest::addRow("%s", qPrintable(environmentVariable))
+ << environmentVariable << expectedAvailableStyles;
+ }
+
+ {
+ QString environmentVariable;
+ QDebug stream(&environmentVariable);
+ // Same as the last row, except it adds a superfluous separator
+ // to ensure that it handles it gracefully rather than failing an assertion.
+ stream.noquote().nospace() << QFINDTESTDATA("data") << listSeparator
+ << ":/qrcStyles1" << listSeparator
+ << ":/qrcStyles2" << listSeparator;
+
+ QStringList expectedAvailableStyles = defaultAvailableStyles;
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle2"));
+ expectedAvailableStyles.insert(1, QLatin1String("QrcStyle1"));
+ expectedAvailableStyles.insert(1, QLatin1String("DummyStyle"));
+
+ QTest::addRow("%s", qPrintable(environmentVariable))
+ << environmentVariable << expectedAvailableStyles;
+ }
+}
+
+/*
+ Tests that qrc paths work with QT_QUICK_CONTROLS_STYLE_PATH.
+*/
+void tst_QQuickStyle::qrcInQtQuickControlsStylePathEnvVar()
+{
+ QFETCH(QString, environmentVariable);
+ QFETCH(QStringList, expectedAvailableStyles);
+
+ qputenv("QT_QUICK_CONTROLS_STYLE_PATH", environmentVariable.toLocal8Bit());
+
+ const QStringList availableStyles = QQuickStyle::availableStyles();
+ if (availableStyles != expectedAvailableStyles) {
+ QString failureMessage;
+ QDebug stream(&failureMessage);
+ stream << "Mismatch in actual vs expected available styles:"
+ << "\n Expected:" << expectedAvailableStyles
+ << "\n Actual:" << availableStyles;
+ QFAIL(qPrintable(failureMessage));
+ }
+}
+
QTEST_MAIN(tst_QQuickStyle)
#include "tst_qquickstyle.moc"