diff options
Diffstat (limited to 'tests/auto/qml/qqmlsettings')
-rw-r--r-- | tests/auto/qml/qqmlsettings/tst_qqmlsettings.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlsettings/tst_qqmlsettings.cpp b/tests/auto/qml/qqmlsettings/tst_qqmlsettings.cpp index 897450823c..7b5ed5e236 100644 --- a/tests/auto/qml/qqmlsettings/tst_qqmlsettings.cpp +++ b/tests/auto/qml/qqmlsettings/tst_qqmlsettings.cpp @@ -65,6 +65,7 @@ private slots: void aliases(); void categories(); void siblings(); + void initial(); }; class CppObject : public QObject @@ -579,6 +580,23 @@ void tst_QQmlSettings::siblings() QCOMPARE(settings.value("alias2").toString(), QStringLiteral("value2")); } +void tst_QQmlSettings::initial() +{ + QSettings qs; + qs.setValue("value", QStringLiteral("initial")); + qs.sync(); + + QQmlEngine engine; + QQmlComponent component(&engine); + component.setData("import Qt.labs.settings 1.0; Settings { property var value }", QUrl()); + QScopedPointer<QObject> settings(component.create()); + QVERIFY(settings.data()); + + // verify that the initial value from QSettings gets properly loaded + // even if no initial value is set in QML + QCOMPARE(settings->property("value").toString(), QStringLiteral("initial")); +} + QTEST_MAIN(tst_QQmlSettings) #include "tst_qqmlsettings.moc" |