|
1 function run_test() { |
|
2 do_test_pending(); |
|
3 |
|
4 function StreamListener() {} |
|
5 |
|
6 StreamListener.prototype = { |
|
7 QueryInterface: function(aIID) { |
|
8 if (aIID.equals(Components.interfaces.nsIStreamListener) || |
|
9 aIID.equals(Components.interfaces.nsIRequestObserver) || |
|
10 aIID.equals(Components.interfaces.nsISupports)) |
|
11 return this; |
|
12 throw Components.results.NS_NOINTERFACE; |
|
13 }, |
|
14 |
|
15 onStartRequest: function(aRequest, aContext) {}, |
|
16 |
|
17 onStopRequest: function(aRequest, aContext, aStatusCode) { |
|
18 // Make sure we can catch the error NS_ERROR_FILE_NOT_FOUND here. |
|
19 do_check_eq(aStatusCode, Components.results.NS_ERROR_FILE_NOT_FOUND); |
|
20 do_test_finished(); |
|
21 }, |
|
22 |
|
23 onDataAvailable: function(aRequest, aContext, aStream, aOffset, aCount) { |
|
24 do_throw("The channel must not call onDataAvailable()."); |
|
25 } |
|
26 }; |
|
27 |
|
28 let listener = new StreamListener(); |
|
29 let ios = Components.classes["@mozilla.org/network/io-service;1"] |
|
30 .getService(Components.interfaces.nsIIOService); |
|
31 |
|
32 // This file does not exist. |
|
33 let file = do_get_file("_NOT_EXIST_.txt", true); |
|
34 do_check_false(file.exists()); |
|
35 |
|
36 let channel = ios.newChannelFromURI(ios.newFileURI(file)); |
|
37 channel.asyncOpen(listener, null); |
|
38 } |