summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWarwick Allison <warwick.allison@nokia.com>2009-09-01 03:53:32 (GMT)
committerWarwick Allison <warwick.allison@nokia.com>2009-09-01 03:53:32 (GMT)
commit554fabbcd8888c3f4146ac6f8da2dd7a6d4656b2 (patch)
tree95e589dd34bed6897f83e2533316ee577ec52a1a /tests
parent25aaa830addf7f9082ed22a34d2f5ff8e89cf4f9 (diff)
downloadQt-554fabbcd8888c3f4146ac6f8da2dd7a6d4656b2.zip
Qt-554fabbcd8888c3f4146ac6f8da2dd7a6d4656b2.tar.gz
Qt-554fabbcd8888c3f4146ac6f8da2dd7a6d4656b2.tar.bz2
Rest of 44ab46a6c5dcfb14395baf173a11179839003c4c
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative/qmlparser/lib/com/nokia/installedtest/qmldir1
-rw-r--r--tests/auto/declarative/qmlparser/tst_qmlparser.cpp63
2 files changed, 64 insertions, 0 deletions
diff --git a/tests/auto/declarative/qmlparser/lib/com/nokia/installedtest/qmldir b/tests/auto/declarative/qmlparser/lib/com/nokia/installedtest/qmldir
index f22e179..ba0b42a 100644
--- a/tests/auto/declarative/qmlparser/lib/com/nokia/installedtest/qmldir
+++ b/tests/auto/declarative/qmlparser/lib/com/nokia/installedtest/qmldir
@@ -1,2 +1,3 @@
InstalledTest 1.0-3 InstalledTest.qml
InstalledTest 1.4 InstalledTest2.qml
+Rectangle 1.5 InstalledTest2.qml
diff --git a/tests/auto/declarative/qmlparser/tst_qmlparser.cpp b/tests/auto/declarative/qmlparser/tst_qmlparser.cpp
index c21d672..36471a4 100644
--- a/tests/auto/declarative/qmlparser/tst_qmlparser.cpp
+++ b/tests/auto/declarative/qmlparser/tst_qmlparser.cpp
@@ -54,6 +54,8 @@ private slots:
void importsLocal();
void importsInstalled_data();
void importsInstalled();
+ void importsOrder_data();
+ void importsOrder();
// regression tests for crashes
void crash1();
@@ -153,6 +155,8 @@ void tst_qmlparser::errors_data()
QTest::newRow("failingComponent") << "failingComponentTest.qml" << "failingComponent.errors.txt" << false;
QTest::newRow("missingSignal") << "missingSignal.qml" << "missingSignal.errors.txt" << false;
QTest::newRow("finalOverride") << "finalOverride.qml" << "finalOverride.errors.txt" << false;
+
+ QTest::newRow("importNamespaceConflict") << "importNamespaceConflict.qml" << "importNamespaceConflict.errors.txt" << false;
}
void tst_qmlparser::errors()
@@ -694,6 +698,65 @@ void tst_qmlparser::importsInstalled()
testType(qml,type);
}
+
+void tst_qmlparser::importsOrder_data()
+{
+ QTest::addColumn<QString>("qml");
+ QTest::addColumn<QString>("type");
+
+ QTest::newRow("installed import overrides 1") <<
+ "import com.nokia.installedtest 1.0\n"
+ "import com.nokia.installedtest 1.4\n"
+ "InstalledTest {}"
+ << "QFxText";
+ QTest::newRow("installed import overrides 2") <<
+ "import com.nokia.installedtest 1.4\n"
+ "import com.nokia.installedtest 1.0\n"
+ "InstalledTest {}"
+ << "QFxRect";
+ QTest::newRow("installed import re-overrides 1") <<
+ "import com.nokia.installedtest 1.4\n"
+ "import com.nokia.installedtest 1.0\n"
+ "import com.nokia.installedtest 1.4\n"
+ "InstalledTest {}"
+ << "QFxText";
+ QTest::newRow("installed import re-overrides 2") <<
+ "import com.nokia.installedtest 1.4\n"
+ "import com.nokia.installedtest 1.0\n"
+ "import com.nokia.installedtest 1.4\n"
+ "import com.nokia.installedtest 1.0\n"
+ "InstalledTest {}"
+ << "QFxRect";
+
+ QTest::newRow("installed import versus builtin 1") <<
+ "import com.nokia.installedtest 1.5\n"
+ "import Qt 4.6\n"
+ "Rectangle {}"
+ << "QFxRect";
+ QTest::newRow("installed import versus builtin 2") <<
+ "import Qt 4.6\n"
+ "import com.nokia.installedtest 1.5\n"
+ "Rectangle {}"
+ << "QFxText";
+ QTest::newRow("namespaces cannot be overridden by types 1") <<
+ "import Qt 4.6 as Rectangle\n"
+ "import com.nokia.installedtest 1.5\n"
+ "Rectangle {}"
+ << "";
+ QTest::newRow("namespaces cannot be overridden by types 2") <<
+ "import Qt 4.6 as Rectangle\n"
+ "import com.nokia.installedtest 1.5\n"
+ "Rectangle.Image {}"
+ << "QFxImage";
+}
+
+void tst_qmlparser::importsOrder()
+{
+ QFETCH(QString, qml);
+ QFETCH(QString, type);
+ testType(qml,type);
+}
+
void tst_qmlparser::crash1()
{
QmlComponent component(&engine, "Component {}");