blob: 7ddf553533f063769ff06c5e685c679c02dfbf71 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
const allowCreate = { create: true };
exported_symbols.test0 = async function() {
let root = await navigator.storage.getDirectory();
Assert.ok(!!root, "Can we access the root directory?");
const testFile = await root.getFileHandle("test.txt", allowCreate);
Assert.ok(!!testFile, "Can't access existing file");
let writable = await testFile.createWritable();
Assert.ok(!!writable, "Can't create WritableFileStream to existing file");
// Write a sentence to the end of the file.
const encoder = new TextEncoder();
const writeBuffer = encoder.encode("Thank you for reading this.");
try {
dump("Trying to write...\n");
await writable.write(writeBuffer);
dump("closing...\n");
await writable.close();
} catch (e) {
Assert.ok(false, "Couldn't write to WritableFileStream: " + e);
}
// Read it back
// Get size of the file.
let file = await testFile.getFile();
Assert.ok(
!!file,
"Can't create File to file written with WritableFileStream"
);
let fileSize = file.size;
Assert.ok(fileSize == writeBuffer.byteLength);
};
for (const [key, value] of Object.entries(exported_symbols)) {
Object.defineProperty(value, "name", {
value: key,
writable: false,
});
}
|