| // META: script=resources/utils.js | 
 | // META: script=/common/utils.js | 
 |  | 
 | const onload = new Promise(r => window.addEventListener('load', r)); | 
 |  | 
 | // It's weird that browsers do this, but it should continue to work. | 
 | promise_test(async t => { | 
 |   await loadScript('resources/partial-script.py?pretend-offset=90000'); | 
 |   assert_true(self.scriptExecuted); | 
 | }, `Script executed from partial response`); | 
 |  | 
 | promise_test(async () => { | 
 |   const wavURL = new URL('resources/long-wav.py', location); | 
 |   const stashTakeURL = new URL('resources/stash-take.py', location); | 
 |   const stashToken = token(); | 
 |   wavURL.searchParams.set('accept-encoding-key', stashToken); | 
 |   stashTakeURL.searchParams.set('key', stashToken); | 
 |  | 
 |   // The testing framework waits for window onload. If the audio element | 
 |   // is appended before onload, it extends it, and the test times out. | 
 |   await onload; | 
 |  | 
 |   const audio = appendAudio(document, wavURL); | 
 |   await new Promise(r => audio.addEventListener('progress', r)); | 
 |   audio.remove(); | 
 |  | 
 |   const response = await fetch(stashTakeURL); | 
 |   assert_equals(await response.json(), 'identity', `Expect identity accept-encoding on media request`); | 
 | }, `Fetch with range header will be sent with Accept-Encoding: identity`); |