diff options
Diffstat (limited to 'tests/auto/qquickstyle/tst_qquickstyle.cpp')
-rw-r--r-- | tests/auto/qquickstyle/tst_qquickstyle.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/qquickstyle/tst_qquickstyle.cpp b/tests/auto/qquickstyle/tst_qquickstyle.cpp index 555e1686..324d0b08 100644 --- a/tests/auto/qquickstyle/tst_qquickstyle.cpp +++ b/tests/auto/qquickstyle/tst_qquickstyle.cpp @@ -55,6 +55,8 @@ private slots: void commandLineArgument(); void environmentVariables(); void availableStyles(); + void qrcStylePaths_data(); + void qrcStylePaths(); private: void loadControls(); @@ -167,6 +169,43 @@ void tst_QQuickStyle::availableStyles() } } +void tst_QQuickStyle::qrcStylePaths_data() +{ + QTest::addColumn<QString>("stylePath"); + QTest::addColumn<QString>("expectedStyleName"); + + QTest::addRow("qrc:/qrcStyles1") << QString::fromLatin1("qrc:/qrcStyles1") << QString::fromLatin1("QrcStyle1"); + QTest::addRow(":/qrcStyles2") << QString::fromLatin1(":/qrcStyles2") << QString::fromLatin1("QrcStyle2"); +} + +void tst_QQuickStyle::qrcStylePaths() +{ + QFETCH(QString, stylePath); + QFETCH(QString, expectedStyleName); + + QQuickStyle::addStylePath(stylePath); + + const QStringList paths = QQuickStylePrivate::stylePaths(); + QString expectedStylePath = stylePath; + if (expectedStylePath.startsWith(QLatin1String("qrc"))) + expectedStylePath.remove(0, 3); + if (!paths.contains(expectedStylePath)) { + QString message; + QDebug stream(&message); + stream.nospace() << "QQuickStylePrivate::stylePaths() doesn't contain " << expectedStylePath << ":\n" << paths; + QFAIL(qPrintable(message)); + } + + const QStringList styles = QQuickStyle::availableStyles(); + QVERIFY(!styles.isEmpty()); + if (!styles.contains(expectedStyleName)) { + QString message; + QDebug stream(&message); + stream.nospace() << "QQuickStyle::availableStyles() doesn't contain " << expectedStyleName << ":\n" << styles; + QFAIL(qPrintable(message)); + } +} + QTEST_MAIN(tst_QQuickStyle) #include "tst_qquickstyle.moc" |