aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlcomponent/data/componentUrlCanonicalization.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qqmlcomponent/data/componentUrlCanonicalization.qml')
-rw-r--r--tests/auto/qml/qqmlcomponent/data/componentUrlCanonicalization.qml31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlcomponent/data/componentUrlCanonicalization.qml b/tests/auto/qml/qqmlcomponent/data/componentUrlCanonicalization.qml
new file mode 100644
index 0000000000..ad4cbbd2a9
--- /dev/null
+++ b/tests/auto/qml/qqmlcomponent/data/componentUrlCanonicalization.qml
@@ -0,0 +1,31 @@
+import QtQuick 2.0
+import "SpecificComponent"
+import "OtherComponent"
+
+Item {
+ id: root
+ property SpecificComponent first
+ property SpecificComponent second
+ property OtherComponent oc: OtherComponent { }
+
+ property bool success: false
+
+ Component.onCompleted: {
+ var c1 = Qt.createComponent("./SpecificComponent/SpecificComponent.qml");
+ var o1 = c1.createObject(root);
+ first = o1;
+ second = oc.sc;
+
+ // We want to ensure that the types are the same, ie, that the
+ // component hasn't been registered twice due to failed
+ // canonicalization of the component path when importing.
+ // The type is reported in the toString() output prior to the
+ // instance pointer value.
+
+ // in our case, the type string should be:
+ // SpecificComponent_QMLTYPE_0
+ var ft = first.toString().substr(0, first.toString().indexOf('('));
+ var st = second.toString().substr(0, second.toString().indexOf('('));
+ if (ft == st) success = true;
+ }
+}