Backed out changeset b71c8c052463 (bug 1943846) for causing mass failures. CLOSED...
[gecko.git] / netwerk / test / unit / test_bug654926_test_seek.js
blob8ebd68c5991f88c84bdcc227b741c391677e20c8
1 "use strict";
3 function gen_1MiB() {
4 var i;
5 var data = "x";
6 for (i = 0; i < 20; i++) {
7 data += data;
9 return data;
12 function write_and_check(str, data, len) {
13 var written = str.write(data, len);
14 if (written != len) {
15 do_throw(
16 "str.write has not written all data!\n" +
17 " Expected: " +
18 len +
19 "\n" +
20 " Actual: " +
21 written +
22 "\n"
27 function write_datafile(status, entry) {
28 Assert.equal(status, Cr.NS_OK);
29 var data = gen_1MiB();
30 var os = entry.openOutputStream(0, data.length);
32 write_and_check(os, data, data.length);
34 os.close();
36 // try to open the entry for appending
37 asyncOpenCacheEntry(
38 "http://data/",
39 "disk",
40 Ci.nsICacheStorage.OPEN_NORMALLY,
41 null,
42 open_for_readwrite
46 function open_for_readwrite(status, entry) {
47 Assert.equal(status, Cr.NS_OK);
48 var os = entry.openOutputStream(entry.dataSize, -1);
50 // Opening the entry for appending data calls nsDiskCacheStreamIO::Seek()
51 // which initializes mFD. If no data is written then mBufDirty is false and
52 // mFD won't be closed in nsDiskCacheStreamIO::Flush().
54 os.close();
56 do_test_finished();
59 function run_test() {
60 do_get_profile();
62 // clear the cache
63 evict_cache_entries();
65 asyncOpenCacheEntry(
66 "http://data/",
67 "disk",
68 Ci.nsICacheStorage.OPEN_NORMALLY,
69 null,
70 write_datafile
73 do_test_pending();