diff options
Diffstat (limited to 'tests/auto/qml/qqmlxmlhttprequest/data')
5 files changed, 98 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent.qml b/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent.qml new file mode 100644 index 0000000000..c4ecbd8912 --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent.qml @@ -0,0 +1,23 @@ +import QtQuick 2.0 + +Item { + id: root + property int a: 4 + + Component.onCompleted: { + root.parent.finished(); + triggerXmlHttpRequest(); + } + + function triggerXmlHttpRequest() { + var doc = new XMLHttpRequest(); + doc.onreadystatechange = function() { + if (doc.readyState == XMLHttpRequest.DONE) { + var seqComponent = doc.responseText; + var o = Qt.createQmlObject(seqComponent,root); + } + } + doc.open("GET", "http://127.0.0.1:14445/TestComponent3.qml"); + doc.send(); + } +} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent2.qml b/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent2.qml new file mode 100644 index 0000000000..f27a980f42 --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent2.qml @@ -0,0 +1,7 @@ +import QtQuick 2.0 + +Item { + id: root + property int a: 5 + Component.onCompleted: root.parent.finished() +} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent3.qml b/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent3.qml new file mode 100644 index 0000000000..763ec6de20 --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/TestComponent3.qml @@ -0,0 +1,6 @@ +import QtQuick 2.0 + +Item { + id: root + property int a: 3 +} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/stateChangeCallingContext.qml b/tests/auto/qml/qqmlxmlhttprequest/data/stateChangeCallingContext.qml new file mode 100644 index 0000000000..1f679d829a --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/stateChangeCallingContext.qml @@ -0,0 +1,59 @@ +import QtQuick 2.0 + +Item { + id: root + + property int whichCount: 0 + property bool success: false + + SequentialAnimation { + id: anim + PauseAnimation { duration: 525 } // delay mode is 500 msec. + ScriptAction { script: loadcomponent(0) } + PauseAnimation { duration: 525 } // delay mode is 500 msec. + ScriptAction { script: loadcomponent(1) } + PauseAnimation { duration: 525 } // delay mode is 500 msec. + ScriptAction { script: if (whichCount == 2) root.success = true; else console.log("failed to load testlist"); } + } + + Component.onCompleted: { + updateList(); + anim.start(); + } + + function updateList() { + var xhr = new XMLHttpRequest(); + xhr.open("GET","http://127.0.0.1:14445/testlist"); // list of components + xhr.onreadystatechange = function () { + if (xhr.readyState == XMLHttpRequest.DONE) { + var components = xhr.responseText.split('\n'); + var i; + for (i=0; i<components.length; i++) { + if (components[i].split(";").length == 2) { + componentlist.append({"Name" : components[i].split(";")[0], "url" : components[i].split(";")[1]}) + } + } + } + } + xhr.send() + } + + function loadcomponent(which) { + if (componentlist.count > which) { + loader.source = componentlist.get(which).url; + whichCount += 1; + } + } + + Loader { + id: loader + signal finished + + anchors.fill: parent + onStatusChanged: { + if (status == Loader.Error) { finished(); next(); } + } + } + + ListModel { id: componentlist } +} diff --git a/tests/auto/qml/qqmlxmlhttprequest/data/testlist b/tests/auto/qml/qqmlxmlhttprequest/data/testlist new file mode 100644 index 0000000000..cd9dd14511 --- /dev/null +++ b/tests/auto/qml/qqmlxmlhttprequest/data/testlist @@ -0,0 +1,3 @@ +One;TestComponent.qml +Two;TestComponent2.qml +Three;TestComponent3.qml |