diff options
Diffstat (limited to 'tests/auto/declarative')
5 files changed, 50 insertions, 2 deletions
diff --git a/tests/auto/declarative/qmldom/data/MyComponent.qml b/tests/auto/declarative/qmldom/data/MyComponent.qml new file mode 100644 index 0000000..0940753 --- /dev/null +++ b/tests/auto/declarative/qmldom/data/MyComponent.qml @@ -0,0 +1,2 @@ +Item { +} diff --git a/tests/auto/declarative/qmldom/data/importdir/Bar.qml b/tests/auto/declarative/qmldom/data/importdir/Bar.qml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/auto/declarative/qmldom/data/importdir/Bar.qml diff --git a/tests/auto/declarative/qmldom/data/importlib/sublib/qmldir/Foo.qml b/tests/auto/declarative/qmldom/data/importlib/sublib/qmldir/Foo.qml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/auto/declarative/qmldom/data/importlib/sublib/qmldir/Foo.qml diff --git a/tests/auto/declarative/qmldom/data/top.qml b/tests/auto/declarative/qmldom/data/top.qml new file mode 100644 index 0000000..142d4c8 --- /dev/null +++ b/tests/auto/declarative/qmldom/data/top.qml @@ -0,0 +1,4 @@ +MyComponent { + width: 100 + height: 100 +} diff --git a/tests/auto/declarative/qmldom/tst_qmldom.cpp b/tests/auto/declarative/qmldom/tst_qmldom.cpp index ca8929d..20419fb 100644 --- a/tests/auto/declarative/qmldom/tst_qmldom.cpp +++ b/tests/auto/declarative/qmldom/tst_qmldom.cpp @@ -17,6 +17,7 @@ private slots: void loadProperties(); void loadChildObject(); void loadComposite(); + void loadImports(); void testValueSource(); @@ -52,7 +53,7 @@ void tst_qmldom::loadProperties() QmlDomObject rootObject = document.rootObject(); QVERIFY(rootObject.isValid()); QVERIFY(rootObject.objectId() == "item"); - QVERIFY(rootObject.properties().size() == 2); + QCOMPARE(rootObject.properties().size(), 3); QmlDomProperty xProperty = rootObject.property("x"); QVERIFY(xProperty.propertyName() == "x"); @@ -91,7 +92,7 @@ void tst_qmldom::loadChildObject() void tst_qmldom::loadComposite() { - QFile file(SRCDIR "/top.qml"); + QFile file(SRCDIR "/data/top.qml"); QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text)); QmlDomDocument document; @@ -141,6 +142,47 @@ void tst_qmldom::testValueSource() QVERIFY(sourceValue.toBinding().binding() == "Math.min(Math.max(-130, value*2.2 - 130), 133)"); } +void tst_qmldom::loadImports() +{ + QByteArray qml = "import importlib.sublib 4.7\n" + "import importlib.sublib 4.6 as NewFoo\n" + "import 'import'\n" + "import 'import' as X\n" + "Item {}"; + + QmlEngine engine; + engine.addImportPath(SRCDIR "/data"); + QmlDomDocument document; + QVERIFY(document.load(&engine, qml)); + + QCOMPARE(document.imports().size(), 4); + + QmlDomImport import1 = document.imports().at(0); + QCOMPARE(import1.type(), QmlDomImport::Library); + QCOMPARE(import1.uri(), QLatin1String("importlib.sublib")); + QCOMPARE(import1.qualifier(), QString()); + QCOMPARE(import1.version(), QLatin1String("4.7")); + + QmlDomImport import2 = document.imports().at(1); + QCOMPARE(import2.type(), QmlDomImport::Library); + QCOMPARE(import2.uri(), QLatin1String("importlib.sublib")); + QCOMPARE(import2.qualifier(), QLatin1String("NewFoo")); + QCOMPARE(import2.version(), QLatin1String("4.6")); + + QmlDomImport import3 = document.imports().at(2); + QCOMPARE(import3.type(), QmlDomImport::File); + QCOMPARE(import3.uri(), QLatin1String("import")); + QCOMPARE(import3.qualifier(), QLatin1String("")); + QCOMPARE(import3.version(), QLatin1String("")); + + QmlDomImport import4 = document.imports().at(3); + QCOMPARE(import4.type(), QmlDomImport::File); + QCOMPARE(import4.uri(), QLatin1String("import")); + QCOMPARE(import4.qualifier(), QLatin1String("X")); + QCOMPARE(import4.version(), QLatin1String("")); +} + + QTEST_MAIN(tst_qmldom) #include "tst_qmldom.moc" |