diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qquickstyle/tst_qquickstyle.cpp | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/tests/auto/qquickstyle/tst_qquickstyle.cpp b/tests/auto/qquickstyle/tst_qquickstyle.cpp index 1ce2a034..9de947a6 100644 --- a/tests/auto/qquickstyle/tst_qquickstyle.cpp +++ b/tests/auto/qquickstyle/tst_qquickstyle.cpp @@ -46,21 +46,41 @@ class tst_QQuickStyle : public QObject Q_OBJECT private slots: - void init(); + void cleanup(); void lookup(); void commandLineArgument(); void environmentVariables(); void availableStyles(); + +private: + void loadControls(); + void unloadControls(); }; -void tst_QQuickStyle::init() +void tst_QQuickStyle::cleanup() { - QQuickStylePrivate::reset(); + unloadControls(); + QGuiApplicationPrivate::styleOverride.clear(); qunsetenv("QT_QUICK_CONTROLS_STYLE"); qunsetenv("QT_QUICK_CONTROLS_FALLBACK_STYLE"); } +void tst_QQuickStyle::loadControls() +{ + QQmlEngine engine; + QQmlComponent component(&engine); + component.setData("import QtQuick 2.0; import QtQuick.Controls 2.1; Control { }", QUrl()); + + QScopedPointer<QObject> object(component.create()); + QVERIFY2(!object.isNull(), qPrintable(component.errorString())); +} + +void tst_QQuickStyle::unloadControls() +{ + qmlClearTypeRegistrations(); +} + void tst_QQuickStyle::lookup() { QVERIFY(QQuickStyle::name().isEmpty()); @@ -70,12 +90,7 @@ void tst_QQuickStyle::lookup() QCOMPARE(QQuickStyle::name(), QString("Material")); QVERIFY(!QQuickStyle::path().isEmpty()); - QQmlEngine engine; - QQmlComponent component(&engine); - component.setData("import QtQuick 2.0; import QtQuick.Controls 2.1; Control { }", QUrl()); - - QScopedPointer<QObject> object(component.create()); - QVERIFY(!object.isNull()); + loadControls(); QCOMPARE(QQuickStyle::name(), QString("Material")); QVERIFY(!QQuickStyle::path().isEmpty()); @@ -84,6 +99,9 @@ void tst_QQuickStyle::lookup() void tst_QQuickStyle::commandLineArgument() { QGuiApplicationPrivate::styleOverride = "CmdLineArgStyle"; + + loadControls(); + QCOMPARE(QQuickStyle::name(), QString("CmdLineArgStyle")); } |