зеркало из https://github.com/mozilla/pjs.git
Add test and some docs for bug 376660. r=biesi
This commit is contained in:
Родитель
7874b04679
Коммит
8d38ea0f4b
|
@ -54,6 +54,9 @@ interface nsIUnicharStreamLoaderObserver : nsISupports
|
|||
* @param aLength the length of aFirstSegment
|
||||
*
|
||||
* @return charset corresponding to this stream
|
||||
*
|
||||
* @note this method will only be called if the stream loader receives an
|
||||
* OnDataAvailable call.
|
||||
*/
|
||||
ACString onDetermineCharset(in nsIUnicharStreamLoader aLoader,
|
||||
in nsISupports aContext,
|
||||
|
@ -72,6 +75,9 @@ interface nsIUnicharStreamLoaderObserver : nsISupports
|
|||
* This method will always be called asynchronously by the
|
||||
* nsUnicharIStreamLoader involved, on the thread that called the
|
||||
* loader's init() method.
|
||||
*
|
||||
* @note If the stream loader does not receive an OnDataAvailable call,
|
||||
* aUnicharData will be null, and aStatus will be a success value.
|
||||
*/
|
||||
void onStreamComplete(in nsIUnicharStreamLoader aLoader,
|
||||
in nsISupports aContext,
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
var Cc = Components.classes;
|
||||
var Ci = Components.interfaces;
|
||||
|
||||
var listener = {
|
||||
QueryInterface: function listener_qi(iid) {
|
||||
if (iid.equals(Ci.nsISupports) ||
|
||||
iid.equals(Ci.nsIUnicharStreamLoaderObserver)) {
|
||||
return this;
|
||||
}
|
||||
throw Components.results.NS_ERROR_NO_INTERFACE;
|
||||
},
|
||||
onDetermineCharset : function onDetermineCharset(loader, context,
|
||||
data, length)
|
||||
{
|
||||
return "us-ascii";
|
||||
},
|
||||
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();
|
||||
}
|
||||
};
|
||||
|
||||
function run_test() {
|
||||
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("data:text/plain,", null, null);
|
||||
chan.asyncOpen(f, null);
|
||||
do_test_pending();
|
||||
}
|
Загрузка…
Ссылка в новой задаче