Fail closed when worker update status is unavailable
This commit is contained in:
@@ -362,3 +362,9 @@ test('explicit playback override clears the worker guard and reloads once',async
|
||||
assert.deepStrictEqual(messages,[{type:'PLAYING',value:false},{type:'SKIP_WAITING'}]);
|
||||
container.fireControllerChange();container.fireControllerChange();assert.equal(reloads,1);
|
||||
});
|
||||
test('an unanswered worker status cannot fall through to an empty legacy refresh',async()=>{
|
||||
const vm=require('node:vm'),fs=require('node:fs');
|
||||
const sandbox={AssetSyncCore:{CACHE:'ytplayer-assets'},navigator:{serviceWorker:{getRegistration:async()=>({active:{postMessage(){}}})}}};
|
||||
vm.runInNewContext(fs.readFileSync(__dirname+'/sw-update.js','utf8'),sandbox);
|
||||
await assert.rejects(sandbox.SwUpdate.refreshShellInPlace({cachesApi:{open:async()=>({}),keys:async()=>[]},fetchFn:async()=>({ok:true,json:async()=>({buildTag:'new'})}),isShellCache:()=>true}),/Worker update status unavailable/);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user