29 lines
1.2 KiB
JavaScript
29 lines
1.2 KiB
JavaScript
// 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`);
|