netwerk/test/unit/test_xmlhttprequest.js

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     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 }

mercurial