Automatic update from web-platform-tests Fix typo 'Decompresion' in fetch/compression-dictionary tests. `find fetch/compression-dictionary -type f | xargs sed -i 's/ompresion/ompression/g'` -- wpt-commits: e805473d4f531b47618169edc7dbf4aebe7ed8cc wpt-pr: 60342
83 lines
3.4 KiB
HTML
83 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="timeout" content="long"/>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/common/get-host-info.sub.js"></script>
|
|
<script src="./resources/compression-dictionary-util.sub.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
|
|
compression_dictionary_promise_test(async (t) => {
|
|
const dict = await (await fetch(kRegisterDictionaryPath)).text();
|
|
assert_equals(dict, kDefaultDictionaryContent);
|
|
// Wait until `available-dictionary` header is available.
|
|
assert_equals(
|
|
await waitUntilAvailableDictionaryHeader(t, {}),
|
|
kDefaultDictionaryHashBase64);
|
|
|
|
// Check if the data compressed using Brotli with the dictionary can be
|
|
// decompressed.
|
|
const data_url = `${kCompressedDataPath}?content_encoding=dcb`;
|
|
assert_equals(await (await fetch(data_url)).text(), kExpectedCompressedData);
|
|
}, 'Decompression using Brotli with the dictionary works as expected');
|
|
|
|
compression_dictionary_promise_test(async (t) => {
|
|
const dict = await (await fetch(kRegisterDictionaryPath)).text();
|
|
assert_equals(dict, kDefaultDictionaryContent);
|
|
// Wait until `available-dictionary` header is available.
|
|
assert_equals(
|
|
await waitUntilAvailableDictionaryHeader(t, {}),
|
|
kDefaultDictionaryHashBase64);
|
|
|
|
// Check if the data compressed using Zstandard with the dictionary can be
|
|
// decompressed.
|
|
const data_url = `${kCompressedDataPath}?content_encoding=dcz`;
|
|
assert_equals(await (await fetch(data_url)).text(), kExpectedCompressedData);
|
|
}, 'Decompression using Zstandard with the dictionary works as expected');
|
|
|
|
compression_dictionary_promise_test(async (t) => {
|
|
const dict =
|
|
await (await fetch(getRemoteHostUrl(kRegisterDictionaryPath))).text();
|
|
assert_equals(dict, kDefaultDictionaryContent);
|
|
// Wait until `available-dictionary` header is available.
|
|
assert_equals(
|
|
await waitUntilAvailableDictionaryHeader(t, {check_remote: true}),
|
|
kDefaultDictionaryHashBase64);
|
|
|
|
// Check if the data compressed using Brotli with the dictionary can be
|
|
// decompressed.
|
|
const data_url =
|
|
getRemoteHostUrl(`${kCompressedDataPath}?content_encoding=dcb`);
|
|
assert_equals(await (await fetch(data_url)).text(), kExpectedCompressedData);
|
|
}, 'Decompression of a cross origin resource works as expected');
|
|
|
|
compression_dictionary_promise_test(async (t) => {
|
|
const dict = await (await fetch(kRegisterDictionaryPath)).text();
|
|
assert_equals(dict, kDefaultDictionaryContent);
|
|
assert_equals(
|
|
await waitUntilAvailableDictionaryHeader(t, {}),
|
|
kDefaultDictionaryHashBase64);
|
|
|
|
const data_url = `${kCompressedDataPath}?content_encoding=dcb&hash_mismatch=true`;
|
|
const res = await fetch(data_url);
|
|
await promise_rejects_js(t, TypeError, res.text());
|
|
}, 'Decompression using Brotli fails when dictionary hash mismatches');
|
|
|
|
compression_dictionary_promise_test(async (t) => {
|
|
const dict = await (await fetch(kRegisterDictionaryPath)).text();
|
|
assert_equals(dict, kDefaultDictionaryContent);
|
|
assert_equals(
|
|
await waitUntilAvailableDictionaryHeader(t, {}),
|
|
kDefaultDictionaryHashBase64);
|
|
|
|
const data_url = `${kCompressedDataPath}?content_encoding=dcz&hash_mismatch=true`;
|
|
const res = await fetch(data_url);
|
|
await promise_rejects_js(t, TypeError, res.text());
|
|
}, 'Decompression using Zstandard fails when dictionary hash mismatches');
|
|
|
|
</script>
|
|
</body>
|