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