gecko-dev/netwerk/test/unit/test_cache2-23-read-over-ch...

35 строки
819 B
JavaScript

"use strict";
function run_test() {
do_get_profile();
const kChunkSize = 256 * 1024;
var payload = "";
for (var i = 0; i < kChunkSize + 10; ++i) {
if (i < kChunkSize - 5) {
payload += "0";
} else {
payload += String.fromCharCode(i + 65);
}
}
asyncOpenCacheEntry(
"http://read/",
"disk",
Ci.nsICacheStorage.OPEN_TRUNCATE,
Services.loadContextInfo.default,
new OpenCallback(NEW | WAITFORWRITE, "", payload, function(entry) {
var is = entry.openInputStream(0);
pumpReadStream(is, function(read) {
Assert.equal(read.length, kChunkSize + 10);
is.close();
Assert.ok(read == payload); // not using do_check_eq since logger will fail for the 1/4MB string
finish_cache2_test();
});
})
);
do_test_pending();
}