1 // META: title=Synchronous NativeIO API: close().
2 // META: global=dedicatedworker
3 // META: script=resources/support.js
8 reserveAndCleanupCapacitySync(testCase);
10 const file = createFileSync(testCase, 'file_name');
11 assert_equals(undefined, file.close());
13 assert_equals(undefined, file.close());
14 }, 'NativeIOFileSync.close is idempotent');
17 reserveAndCleanupCapacitySync(testCase);
19 const file = createFileSync(testCase, 'file_name');
20 assert_equals(undefined, file.close());
22 const readBuffer = new Uint8Array(4);
23 assert_throws_dom('InvalidStateError', () => file.read(readBuffer, 4));
24 }, 'NativeIOFileSync.read fails after NativeIOFileSync.close');
27 reserveAndCleanupCapacitySync(testCase);
29 const file = createFileSync(testCase, 'file_name');
30 assert_equals(undefined, file.close());
32 const writeBuffer = Uint8Array.from([96, 97, 98, 99]);
33 assert_throws_dom('InvalidStateError', () => file.write(writeBuffer, 4));
34 }, 'NativeIOFile.write fails after NativeIOFile.close');
37 reserveAndCleanupCapacitySync(testCase);
39 const file = createFileSync(testCase, 'file_name');
40 assert_equals(undefined, file.close());
42 assert_throws_dom('InvalidStateError', () => file.getLength());
43 }, 'NativeIOFileSync.getLength fails after NativeIOFileSync.close');
46 reserveAndCleanupCapacitySync(testCase);
48 const file = createFileSync(testCase, 'file_name');
49 assert_equals(undefined, file.close());
51 assert_throws_dom('InvalidStateError', () => file.flush());
52 }, 'NativeIOFileSync.flush fails after NativeIOFileSync.close');
55 reserveAndCleanupCapacitySync(testCase);
57 const file = createFileSync(testCase, 'file_name');
58 assert_equals(undefined, file.close());
60 assert_throws_dom('InvalidStateError', () => file.setLength(4));
61 }, 'NativeIOFileSync.setLength fails after NativeIOFileSync.close');