| 'use strict'; |
| |
| // This script depends on the following scripts: |
| // resources/test-helpers.js |
| // resources/collecting-file-system-observer.js |
| // script-tests/FileSystemObserver-writable-file-stream.js |
| |
| directory_test(async (t, root_dir) => { |
| const file = await root_dir.getFileHandle(getUniqueName(), {create: true}); |
| |
| const observer = new CollectingFileSystemObserver(t, root_dir); |
| await observer.observe([file]); |
| |
| // Write to `file` through a `FileSystemWritableFileStream`. |
| const writable = await createWFSWithCleanup(t, file); |
| await writable.write('contents'); |
| await writable.close(); |
| |
| // Expect one "modified" event to happen on `file`. |
| const records = await observer.getRecords(); |
| await assert_records_equal(file, records, [modifiedEvent(file, [])]); |
| }, 'Closing a FileSystemWritableFileStream that\'s modified the file produces a "modified" event'); |
| |
| directory_test(async (t, root_dir) => { |
| const file = await root_dir.getFileHandle(getUniqueName(), {create: true}); |
| |
| const observer = new CollectingFileSystemObserver(t, root_dir); |
| await observer.observe([file]); |
| |
| // Write to `file`. |
| const writable = await createWFSWithCleanup(t, file); |
| await writable.write('contents'); |
| await writable.truncate(1); |
| await writable.seek(1); |
| |
| { |
| // Expect no events to happen. |
| const records = await observer.getRecords(); |
| await assert_records_equal(file, records, []); |
| } |
| |
| await writable.abort(); |
| |
| { |
| // Expect no events to happen. |
| const records = await observer.getRecords(); |
| await assert_records_equal(file, records, []); |
| } |
| }, 'All FileSystemWritableFileStream methods that aren\'t closed don\'t produce events'); |