util.js (730B)
1 async function ch_sw_test(t, worker, url, response) { 2 r = await service_worker_unregister_and_register(t, worker, url); 3 await wait_for_state(t, r.installing, 'activated') 4 var popup_window = window.open("/common/blank.html"); 5 assert_not_equals(popup_window, null, "Popup windows not allowed?"); 6 7 t.add_cleanup(async _=>{ 8 popup_window.close(); 9 await r.unregister(); 10 }); 11 12 popup_load = new Promise((resolve, reject) => { 13 popup_window.addEventListener('load', t.step_func((e) => { 14 if(popup_window.location.pathname != "/blank.html") { 15 assert_equals(popup_window.document.body.textContent, response); 16 resolve(); 17 } 18 })) 19 }); 20 21 popup_window.location = url; 22 await popup_load; 23 }