{"ScriptPreparationCode":"window.top.test = new Object();","TestCases":[{"Name":"querySelectorAll","Code":"var output = document.querySelectorAll(\u0027a[class^=\u0022te\u0022],div[class^=\u0022te\u0022]\u0027);\r\n\r\nwindow.top.test.querySelectorAll = output;","IsDeferred":false},{"Name":"evaluate (ask for big array, copy elements)","Code":"var tmp = document.evaluate(\r\n \u0027//a/@class[starts-with(string(), \u0022te\u0022)]|//div/@class[starts-with(string(), \u0022te\u0022)]\u0027,\r\n document,\r\n null,\r\n XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,\r\n null\r\n);\r\nvar output = new Array(tmp.snapshotLength);\r\nfor (let index = 0; index \u003C output.length; \u002B\u002Bindex)\r\n output[index] = tmp.snapshotItem(index);\r\n\r\nwindow.top.test.evaluate = output;","IsDeferred":false},{"Name":"evaluate2 (add elements one by one to empty array)","Code":"var tmp = document.evaluate(\r\n \u0027//a/@class[starts-with(string(), \u0022te\u0022)]|//div/@class[starts-with(string(), \u0022te\u0022)]\u0027,\r\n document,\r\n null,\r\n XPathResult.UNORDERED_NODE_ITERATOR_TYPE,\r\n null\r\n);\r\nvar output = new Array();\r\nfor (let node; node = tmp.iterateNext(); )\r\n output.push(node);\r\n\r\nwindow.top.test.evaluate2 = output;","IsDeferred":false},{"Name":"evaluate (ordered)","Code":"var tmp = document.evaluate(\r\n \u0027//a/@class[starts-with(string(), \u0022te\u0022)]|//div/@class[starts-with(string(), \u0022te\u0022)]\u0027,\r\n document,\r\n null,\r\n XPathResult.ORDERED_NODE_ITERATOR_TYPE,\r\n null\r\n);\r\nvar output = new Array();\r\nfor (let node; node = tmp.iterateNext(); )\r\n output.push(node);\r\n\r\nwindow.top.test.evaluateOrdered = output;","IsDeferred":false}]}