mirror of
https://github.com/servo/servo.git
synced 2025-08-12 00:45:33 +01:00
Update web-platform-tests to revision 00397ad68f593288bd56a98fc980485fd87d42a9
This commit is contained in:
parent
5fcc10a263
commit
e5c0a0cc08
123 changed files with 814 additions and 390 deletions
|
@ -8,22 +8,23 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<body>
|
||||
<link id="link-web-bundle" rel="webbundle" href="../resources/wbn/subresource.wbn"
|
||||
resources="http://web-platform.test:8001/root.js http://web-platform.test:8001/submodule.js" />
|
||||
resources="http://web-platform.test:8001/web-bundle/resources/wbn/root.js
|
||||
http://web-platform.test:8001/web-bundle/resources/wbn/submodule.js" />
|
||||
<script>
|
||||
promise_test(async () => {
|
||||
const module = await import('http://web-platform.test:8001/root.js');
|
||||
const module = await import('http://web-platform.test:8001/web-bundle/resources/wbn/root.js');
|
||||
assert_equals(module.result, 'OK');
|
||||
}, "Subresource loading with WebBundle");
|
||||
|
||||
promise_test(async () => {
|
||||
const response = await fetch('http://web-platform.test:8001/root.js');
|
||||
const response = await fetch('http://web-platform.test:8001/web-bundle/resources/wbn/root.js');
|
||||
const text = await response.text();
|
||||
assert_equals(text, "export * from './submodule.js';\n");
|
||||
}, "Subresource loading with WebBundle (Fetch API)");
|
||||
|
||||
promise_test(t => {
|
||||
const url =
|
||||
'/common/redirect.py?location=http://web-platform.test:8001/root.js';
|
||||
'/common/redirect.py?location=http://web-platform.test:8001/web-bundle/resources/wbn/root.js';
|
||||
return promise_rejects_js(t, TypeError, import(url));
|
||||
}, "Subresource loading with WebBundle shouldn't affect redirect");
|
||||
|
||||
|
@ -31,35 +32,35 @@
|
|||
const link = document.createElement("link");
|
||||
link.rel = "webbundle";
|
||||
link.href = "../resources/wbn/dynamic1.wbn";
|
||||
link.resources.add('http://web-platform.test:8001/web-bundle/resources/dynamic/resource1.js',
|
||||
'http://web-platform.test:8001/web-bundle/resources/dynamic/resource2.js',
|
||||
'http://web-platform.test:8001/web-bundle/resources/dynamic/resource4.js');
|
||||
link.resources.add('http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource1.js',
|
||||
'http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource2.js',
|
||||
'http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource4.js');
|
||||
document.body.appendChild(link);
|
||||
|
||||
const module = await import('http://web-platform.test:8001/web-bundle/resources/dynamic/resource1.js');
|
||||
const module = await import('http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource1.js');
|
||||
assert_equals(module.result, 'resource1 from dynamic1.wbn');
|
||||
|
||||
link.href = "../resources/wbn/dynamic2.wbn";
|
||||
const module2 = await import('http://web-platform.test:8001/web-bundle/resources/dynamic/resource2.js');
|
||||
const module2 = await import('http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource2.js');
|
||||
assert_equals(module2.result, 'resource2 from dynamic2.wbn');
|
||||
|
||||
// A resource not specified in the resources attribute, but in the bundle.
|
||||
const module3 = await import('http://web-platform.test:8001/web-bundle/resources/dynamic/resource3.js');
|
||||
const module3 = await import('http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource3.js');
|
||||
assert_equals(module3.result, 'resource3 from network');
|
||||
|
||||
document.body.removeChild(link);
|
||||
const module4 = await import('http://web-platform.test:8001/web-bundle/resources/dynamic/resource4.js');
|
||||
const module4 = await import('http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource4.js');
|
||||
assert_equals(module4.result, 'resource4 from network');
|
||||
|
||||
// Module scripts are stored to the Document's module map once loaded.
|
||||
// So import()ing the same module script will reuse the previously loaded
|
||||
// script.
|
||||
const module_second = await import('http://web-platform.test:8001/web-bundle/resources/dynamic/resource1.js');
|
||||
const module_second = await import('http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/resource1.js');
|
||||
assert_equals(module_second.result, 'resource1 from dynamic1.wbn');
|
||||
}, 'Dynamically adding / updating / removing "<link rel=webbundle>"');
|
||||
|
||||
promise_test(async () => {
|
||||
const classic_script_url = 'http://web-platform.test:8001/web-bundle/resources/dynamic/classic_script.js';
|
||||
const classic_script_url = 'http://web-platform.test:8001/web-bundle/resources/wbn/dynamic/classic_script.js';
|
||||
const link = document.createElement("link");
|
||||
link.rel = "webbundle";
|
||||
link.href = "../resources/wbn/dynamic1.wbn";
|
||||
|
@ -93,7 +94,7 @@
|
|||
const link = document.createElement('link');
|
||||
link.rel = 'webbundle';
|
||||
link.href = '../resources/wbn/dynamic1-crossorigin.wbn';
|
||||
link.resources = 'https://web-platform.test:8444/web-bundle/resources/dynamic/resource1.js';
|
||||
link.resources = 'https://web-platform.test:8444/web-bundle/resources/wbn/dynamic/resource1.js';
|
||||
document.body.appendChild(link);
|
||||
const module = await import(link.resources);
|
||||
assert_equals(module.result, 'resource1 from network');
|
||||
|
@ -101,7 +102,7 @@
|
|||
|
||||
promise_test(async () => {
|
||||
const wbn_url = 'http://web-platform.test:8001/web-bundle/resources/wbn/subresource.wbn?test-resources-update';
|
||||
const resource_url = 'http://web-platform.test:8001/submodule.js';
|
||||
const resource_url = 'http://web-platform.test:8001/web-bundle/resources/wbn/submodule.js';
|
||||
const link = await addLinkAndWaitForLoad(wbn_url);
|
||||
link.resources.add(resource_url);
|
||||
const resp = await fetch(resource_url, {cache: 'no-store'});
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Path restriction on subresource loading with WebBundles</title>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://github.com/WICG/webpackage/blob/master/explainers/subresource-loading.md"
|
||||
/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<body>
|
||||
<link
|
||||
rel="webbundle"
|
||||
href="../resources/wbn/path-restriction.wbn"
|
||||
resources="http://web-platform.test:8001/web-bundle/resources/wbn/resource.js
|
||||
http://web-platform.test:8001/web-bundle/resources/wbn/sub/resource.js
|
||||
http://web-platform.test:8001/web-bundle/resources/wbn-resource.js
|
||||
http://web-platform.test:8001/web-bundle/resources/wbn1/resource.js
|
||||
http://web-platform.test:8001/web-bundle/resources/other/resource.js
|
||||
http://web-platform.test:8001/web-bundle/resources/resource.js"
|
||||
/>
|
||||
<script>
|
||||
promise_test(async () => {
|
||||
const resources = [
|
||||
"http://web-platform.test:8001/web-bundle/resources/wbn/resource.js",
|
||||
"http://web-platform.test:8001/web-bundle/resources/wbn/sub/resource.js",
|
||||
];
|
||||
for (const resource of resources) {
|
||||
const response = await fetch(resource);
|
||||
assert_true(response.ok, resource + " should be loaded");
|
||||
}
|
||||
}, "Subresources should be loaded.");
|
||||
|
||||
promise_test(async () => {
|
||||
const resources = [
|
||||
"http://web-platform.test:8001/web-bundle/resources/wbn-resource.js",
|
||||
"http://web-platform.test:8001/web-bundle/resources/wbn1/resource.js",
|
||||
"http://web-platform.test:8001/web-bundle/resources/other/resource.js",
|
||||
"http://web-platform.test:8001/web-bundle/resources/resource.js",
|
||||
];
|
||||
for (const resource of resources) {
|
||||
const response = await fetch(resource);
|
||||
assert_false(response.ok, resource + " should not be loaded");
|
||||
}
|
||||
}, "Subresources should not be loaded due to path restriction.");
|
||||
</script>
|
||||
</body>
|
Loading…
Add table
Add a link
Reference in a new issue