OLD | NEW |
(Empty) | |
| 1 function getXMLOfType(testcase) |
| 2 { |
| 3 var request = new XMLHttpRequest(); |
| 4 function failure() |
| 5 { |
| 6 testFailed(testcase.xmlType) |
| 7 runNextTest(); |
| 8 } |
| 9 function checkResult() |
| 10 { |
| 11 var statusText = ""; |
| 12 if (request.responseXML) { |
| 13 var typeElement = request.responseXML.firstChild; |
| 14 if (testcase.expectPass && typeElement) { |
| 15 if (typeElement.textContent !== testcase.xmlType) |
| 16 statusText = "Incorrect content: " + typeElement.textContent
; |
| 17 } else { |
| 18 statusText = "Document type: " + request.getResponseHeader("Cont
ent-type"); |
| 19 } |
| 20 } else if (testcase.expectPass) { |
| 21 statusText = "Response type: " + request.getResponseHeader("Content-
type"); |
| 22 } |
| 23 if (statusText) |
| 24 testFailed(testcase.xmlType + " -- " + statusText + "; responseXML:
" + new XMLSerializer().serializeToString(request.responseXML)); |
| 25 else |
| 26 testPassed(testcase.xmlType); |
| 27 |
| 28 runNextTest(); |
| 29 } |
| 30 |
| 31 var escapedType = escape(testcase.xmlType).replace(/\+/g, "^^PLUS^^"); // Pe
rl CGI module seems replace + with a space |
| 32 request.open("GET", "supported-xml-content-types.cgi?type=" + escapedType, t
rue); |
| 33 request.onerror = checkResult; |
| 34 request.onload = checkResult; |
| 35 request.send(null); |
| 36 } |
| 37 |
| 38 var tests = []; |
| 39 |
| 40 function testXMLType(type, expected) |
| 41 { |
| 42 tests.push({xmlType: type, expectPass: expected}); |
| 43 } |
| 44 |
| 45 function runNextTest() |
| 46 { |
| 47 if (tests.length) |
| 48 getXMLOfType(tests.shift()); |
| 49 else |
| 50 finishJSTest(); |
| 51 } |
OLD | NEW |