Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
2 Cu.import("resource://testing-common/httpd.js");
4 var httpserver = new HttpServer();
5 var testpath = "/simple";
6 var httpbody = "<?xml version='1.0' ?><root>0123456789</root>";
8 function createXHR(async)
9 {
10 var xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
11 .createInstance(Ci.nsIXMLHttpRequest);
12 xhr.open("GET", "http://localhost:" +
13 httpserver.identity.primaryPort + testpath, async);
14 return xhr;
15 }
17 function checkResults(xhr)
18 {
19 if (xhr.readyState != 4)
20 return false;
22 do_check_eq(xhr.status, 200);
23 do_check_eq(xhr.responseText, httpbody);
25 var root_node = xhr.responseXML.getElementsByTagName('root').item(0);
26 do_check_eq(root_node.firstChild.data, "0123456789");
27 return true;
28 }
30 function run_test()
31 {
32 httpserver.registerPathHandler(testpath, serverHandler);
33 httpserver.start(-1);
35 // Test sync XHR sending
36 var sync = createXHR(false);
37 sync.send(null);
38 checkResults(sync);
40 // Test async XHR sending
41 let async = createXHR(true);
42 async.addEventListener("readystatechange", function(event) {
43 if (checkResults(async))
44 httpserver.stop(do_test_finished);
45 }, false);
46 async.send(null);
47 do_test_pending();
48 }
50 function serverHandler(metadata, response)
51 {
52 response.setHeader("Content-Type", "text/xml", false);
53 response.bodyOutputStream.write(httpbody, httpbody.length);
54 }