tests/auto/declarative/qdeclarativexmlhttprequest/data/element.qml
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/data/element.qml	Thu Jul 22 16:41:55 2010 +0100
@@ -0,0 +1,145 @@
+import Qt 4.7
+
+QtObject {
+    property bool xmlTest: false
+    property bool dataOK: false
+
+    function checkElement(e, person, fruit)
+    {
+        if (e.tagName != "root")
+            return;
+
+        if (e.nodeName != "root")
+            return;
+
+        if (e.nodeValue != null)
+            return;
+
+        if (e.nodeType != 1)
+            return;
+
+        var childTagNames = [ "person", "fruit" ];
+
+        if (e.childNodes.length != childTagNames.length)
+            return;
+
+        for (var ii = 0; ii < childTagNames.length; ++ii) {
+            if (e.childNodes[ii].tagName != childTagNames[ii])
+                return;
+        }
+
+        if (e.childNodes[childTagNames.length + 1] != null)
+            return;
+
+        // Check writing fails
+        e.childNodes[0] = null;
+        if (e.childNodes[0] == null)
+            return;
+
+        e.childNodes[10] = 10;
+        if (e.childNodes[10] != null)
+            return;
+
+        if (e.firstChild.tagName != e.childNodes[0].tagName)
+            return;
+
+        if (e.lastChild.tagName != e.childNodes[1].tagName)
+            return;
+
+        if (e.previousSibling != null)
+            return;
+
+        if (e.nextSibling != null)
+            return;
+
+        if (e.attributes == null)
+            return;
+
+        if (e.attributes.length != 2)
+            return;
+
+        var attr1 = e.attributes["attr"];
+        if (attr1.nodeValue != "value")
+            return;
+
+        var attrIdx = e.attributes[0];
+        if (attrIdx.nodeValue != "value")
+            return;
+
+        var attr2 = e.attributes["attr2"];
+        if (attr2.nodeValue != "value2")
+            return;
+
+        var attr3 = e.attributes["attr3"];
+        if (attr3 != null)
+            return;
+
+        var attrIdx2 = e.attributes[11];
+        if (attrIdx2 != null)
+            return;
+
+        // Check writing fails
+        e.attributes[0] = null;
+        if (e.attributes[0] == null)
+            return;
+
+        e.attributes["attr"] = null;
+        if (e.attributes["attr"] == null)
+            return;
+
+        e.attributes["attr3"] = 10;
+        if (e.attributes["attr3"] != null)
+            return;
+
+        // Check person and fruit sub elements
+        if (person.parentNode.nodeName != "root")
+            return;
+
+        if (person.previousSibling != null)
+            return;
+
+        if (person.nextSibling.nodeName != "fruit")
+            return;
+
+        if (fruit.parentNode.nodeName != "root")
+            return;
+
+        if (fruit.previousSibling.nodeName != "person")
+            return;
+
+        if (fruit.nextSibling != null)
+            return;
+
+        xmlTest = true;
+    }
+
+    function checkXML(document)
+    {
+        checkElement(document.documentElement, 
+                     document.documentElement.childNodes[0], 
+                     document.documentElement.childNodes[1]);
+    }
+
+    Component.onCompleted: {
+        var x = new XMLHttpRequest;
+
+        x.open("GET", "element.xml");
+
+        // Test to the end
+        x.onreadystatechange = function() {
+            if (x.readyState == XMLHttpRequest.DONE) {
+
+                dataOK = true;
+
+                if (x.responseXML != null)
+                    checkXML(x.responseXML);
+
+            }
+        }
+
+        x.send()
+    }
+}
+
+
+