tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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');