FileSystemObserver-writable-file-stream.js (1681B)
1 'use strict'; 2 3 // This script depends on the following scripts: 4 // resources/test-helpers.js 5 // resources/collecting-file-system-observer.js 6 // script-tests/FileSystemObserver-writable-file-stream.js 7 8 directory_test(async (t, root_dir) => { 9 const file = await root_dir.getFileHandle(getUniqueName(), {create: true}); 10 11 const observer = new CollectingFileSystemObserver(t, root_dir); 12 await observer.observe([file]); 13 14 // Write to `file` through a `FileSystemWritableFileStream`. 15 const writable = await createWFSWithCleanup(t, file); 16 await writable.write('contents'); 17 await writable.close(); 18 19 // Expect one "modified" event to happen on `file`. 20 const records = await observer.getRecords(); 21 await assert_records_equal(file, records, [modifiedEvent(file, [])]); 22 }, 'Closing a FileSystemWritableFileStream that\'s modified the file produces a "modified" event'); 23 24 directory_test(async (t, root_dir) => { 25 const file = await root_dir.getFileHandle(getUniqueName(), {create: true}); 26 27 const observer = new CollectingFileSystemObserver(t, root_dir); 28 await observer.observe([file]); 29 30 // Write to `file`. 31 const writable = await createWFSWithCleanup(t, file); 32 await writable.write('contents'); 33 await writable.truncate(1); 34 await writable.seek(1); 35 36 { 37 // Expect no events to happen. 38 const records = await observer.getRecords(); 39 await assert_records_equal(file, records, []); 40 } 41 42 await writable.abort(); 43 44 { 45 // Expect no events to happen. 46 const records = await observer.getRecords(); 47 await assert_records_equal(file, records, []); 48 } 49 }, 'All FileSystemWritableFileStream methods that aren\'t closed don\'t produce events');