68 lines
2.2 KiB
HTML
68 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
let log = [];
|
|
</script>
|
|
<script type="importmap">
|
|
{
|
|
"imports": {
|
|
"./resources/log.js?pipe=sub&name=A": "./resources/log.js?pipe=sub&name=B",
|
|
"./resources/log.js?pipe=sub&name=C": "./resources/log.js?pipe=sub&name=D"
|
|
},
|
|
"integrity": {
|
|
"./resources/log.js?pipe=sub&name=B": "sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7",
|
|
"./resources/log.js?pipe=sub&name=D": "sha384-rxZqznFuOnvObm6JJKVmwzBXrsRG25IepqKDFHGhtitRu9YPjxPpRPMIu2hzvtxF",
|
|
"./resources/log.js?pipe=sub&name=X": "sha384-mCon9M46vUfNK2Wb3yjvBmpBw/3hwB+wMYS8IzDBng+7//R5Qao35E1azo4gFVzx",
|
|
"./resources/log.js?pipe=sub&name=Y": "sha384-u0yaFlBF39Au++qcn+MGL/Ml7UmuVfLymNJAz6Yyi4RqyUfWelcuAzVyE8Shs9xn",
|
|
"./resources/log.js?pipe=sub&name=Z": "sha384-u0yaFlBF39Au++qcn+MGL/Ml7UmuVfLymNJAz6Yyi4RqyUfWelcuAzVyE8Shs9xn"
|
|
}
|
|
}
|
|
</script>
|
|
<script type="module">
|
|
import './resources/log.js?pipe=sub&name=A';
|
|
</script>
|
|
<script type="module">
|
|
test(t => {
|
|
assert_array_equals(log, []);
|
|
}, 'Static script did not load as it failed its integrity check');
|
|
log = [];
|
|
</script>
|
|
<script type="module">
|
|
import './resources/log.js?pipe=sub&name=C';
|
|
</script>
|
|
<script type="module">
|
|
test(t => {
|
|
assert_array_equals(log, ["log:D"]);
|
|
}, 'Static script loaded as its integrity check passed');
|
|
log = [];
|
|
</script>
|
|
<script type="module">
|
|
import './resources/log.js?pipe=sub&name=X';
|
|
</script>
|
|
<script type="module">
|
|
test(t => {
|
|
assert_array_equals(log, []);
|
|
}, 'Static script did not load as it failed its integrity check, even' +
|
|
' without an import defined');
|
|
log = [];
|
|
</script>
|
|
<script type="module">
|
|
import './resources/log.js?pipe=sub&name=Y';
|
|
</script>
|
|
<script type="module">
|
|
test(t => {
|
|
assert_array_equals(log, ["log:Y"]);
|
|
}, 'Static script loaded as its integrity check passed without an import' +
|
|
' defined');
|
|
log = [];
|
|
</script>
|
|
<script type="module" src="./resources/log.js?pipe=sub&name=Z">;
|
|
</script>
|
|
<script type="module">
|
|
test(t => {
|
|
assert_array_equals(log, []);
|
|
}, 'HTML-based module script did not load as its integrity check failed.');
|
|
log = [];
|
|
</script>
|