mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 01:48:05 +00:00
extend test for bug 376660: also test failure cases. r=bz
This commit is contained in:
parent
dd7bd738e0
commit
ea7c508abd
@ -2,6 +2,7 @@ var Cc = Components.classes;
|
||||
var Ci = Components.interfaces;
|
||||
|
||||
var listener = {
|
||||
expect_failure: false,
|
||||
QueryInterface: function listener_qi(iid) {
|
||||
if (iid.equals(Ci.nsISupports) ||
|
||||
iid.equals(Ci.nsIUnicharStreamLoaderObserver)) {
|
||||
@ -16,14 +17,28 @@ var listener = {
|
||||
},
|
||||
onStreamComplete : function onStreamComplete (loader, context, status, data)
|
||||
{
|
||||
do_check_eq(status, Components.results.NS_OK);
|
||||
do_check_eq(data, null);
|
||||
do_check_neq(loader.channel, null);
|
||||
do_test_finished();
|
||||
try {
|
||||
if (this.expect_failure)
|
||||
do_check_false(Components.isSuccessCode(status));
|
||||
else
|
||||
do_check_eq(status, Components.results.NS_OK);
|
||||
do_check_eq(data, null);
|
||||
do_check_neq(loader.channel, null);
|
||||
tests[current_test++]();
|
||||
} finally {
|
||||
do_test_finished();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var current_test = 0;
|
||||
var tests = [test1, test2, done];
|
||||
|
||||
function run_test() {
|
||||
tests[current_test++]();
|
||||
}
|
||||
|
||||
function test1() {
|
||||
var f =
|
||||
Cc["@mozilla.org/network/unichar-stream-loader;1"].
|
||||
createInstance(Ci.nsIUnicharStreamLoader);
|
||||
@ -35,3 +50,20 @@ function run_test() {
|
||||
chan.asyncOpen(f, null);
|
||||
do_test_pending();
|
||||
}
|
||||
|
||||
function test2() {
|
||||
var f =
|
||||
Cc["@mozilla.org/network/unichar-stream-loader;1"].
|
||||
createInstance(Ci.nsIUnicharStreamLoader);
|
||||
f.init(listener, 4096);
|
||||
|
||||
var ios = Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService);
|
||||
var chan = ios.newChannel("http://localhost:0/", null, null);
|
||||
listener.expect_failure = true;
|
||||
chan.asyncOpen(f, null);
|
||||
do_test_pending();
|
||||
}
|
||||
|
||||
function done() {
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user