Bug 1770047 [wpt PR 34117] - [Clipboard API] Clipboard Web Custom Formats implementat...
[gecko.git] / testing / web-platform / tests / native-io / close_sync.tentative.https.any.js
bloba063842451f8b7a32158de2ea41d313aae942d26
1 // META: title=Synchronous NativeIO API: close().
2 // META: global=dedicatedworker
3 // META: script=resources/support.js
5 'use strict';
7 test(testCase => {
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');
16 test(testCase => {
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');
26 test(testCase => {
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');
36 test(testCase => {
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');
45 test(testCase => {
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');
54 test(testCase => {
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');