tor-browser

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

file_handlers-member.js (1220B)


      1 // Since this is a manual test, disable the automatic timeout.
      2 setup({explicit_timeout: true});
      3 
      4 // Redirect to https if using http, because File System Access API (previously
      5 // Native FileSystem API) isn't supported in http.
      6 if (location.protocol !== 'https:') {
      7  location.replace(
      8    `https:${location.href.substring(location.protocol.length)}`
      9  );
     10 }
     11 
     12 test(function() {
     13  assert_true('serviceWorker' in navigator);
     14 }, 'serviceWorker exists')
     15 
     16 navigator.serviceWorker.register(
     17    'file_handlers-member-service-worker.js');
     18 
     19 test(function() {
     20  assert_true('launchQueue' in window);
     21 }, 'File Handling API enabled');
     22 
     23 test(function() {
     24  assert_true('showOpenFilePicker' in window);
     25 }, 'File System Access API enabled');
     26 
     27 promise_test(async t => {
     28  const launchParams = await new Promise(resolve => {
     29    window.launchQueue.setConsumer(resolve);
     30  });
     31 
     32  assert_equals(launchParams.files.length, 1, 'Wrong number of files found');
     33 
     34  const readHandle = await launchParams.files[0].getFile();
     35  assert_equals(readHandle.name, 'file_handlers-sample-file.txt');
     36 
     37  const fileContents = await readHandle.text();
     38  assert_equals(fileContents, 'File handling WPT - Hello world!\n');
     39 }, 'launchQueue works as expected');