netwerk/test/unit/test_bug376660.js

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 var Cc = Components.classes;
     2 var Ci = Components.interfaces;
     4 var listener = {
     5   expect_failure: false,
     6   QueryInterface: function listener_qi(iid) {
     7     if (iid.equals(Ci.nsISupports) ||
     8         iid.equals(Ci.nsIUnicharStreamLoaderObserver)) {
     9       return this;
    10     }
    11     throw Components.results.NS_ERROR_NO_INTERFACE;
    12   },
    13   onDetermineCharset : function onDetermineCharset(loader, context, data)
    14   {
    15     return "us-ascii";
    16   },
    17   onStreamComplete : function onStreamComplete (loader, context, status, data)
    18   {
    19     try {
    20       if (this.expect_failure)
    21         do_check_false(Components.isSuccessCode(status));
    22       else
    23         do_check_eq(status, Components.results.NS_OK);
    24       do_check_eq(data, "");
    25       do_check_neq(loader.channel, null);
    26       tests[current_test++]();
    27     } finally {
    28       do_test_finished();
    29     }
    30   }
    31 };
    33 var current_test = 0;
    34 var tests = [test1, test2, done];
    36 function run_test() {
    37   tests[current_test++]();
    38 }
    40 function test1() {
    41   var f =
    42       Cc["@mozilla.org/network/unichar-stream-loader;1"].
    43       createInstance(Ci.nsIUnicharStreamLoader);
    44   f.init(listener);
    46   var ios = Components.classes["@mozilla.org/network/io-service;1"]
    47                       .getService(Components.interfaces.nsIIOService);
    48   var chan = ios.newChannel("data:text/plain,", null, null);
    49   chan.asyncOpen(f, null);
    50   do_test_pending();
    51 }
    53 function test2() {
    54   var f =
    55       Cc["@mozilla.org/network/unichar-stream-loader;1"].
    56       createInstance(Ci.nsIUnicharStreamLoader);
    57   f.init(listener);
    59   var ios = Components.classes["@mozilla.org/network/io-service;1"]
    60                       .getService(Components.interfaces.nsIIOService);
    61   var chan = ios.newChannel("http://localhost:0/", null, null);
    62   listener.expect_failure = true;
    63   chan.asyncOpen(f, null);
    64   do_test_pending();
    65 }
    67 function done() {
    68 }

mercurial