blob: 5660114afdfc71a4ca46387dd8d9404e60ea82ea [file] [log] [blame]
<script src=resources/common.js></script>
<script src=../resources/testharness.js></script>
<script src=../resources/testharnessreport.js></script>
<script>
const priority_tests = [
{
promise: internals.getResourcePriority(new URL('../resources/dummy.js', location), document),
expected_priority: kHigh,
description: 'high importance on module <script> has no effect'
},
{
promise: internals.getResourcePriority(new URL('../resources/dummy.js?1', location), document),
expected_priority: kLow,
description: 'low importance on module <script> lowers the priority to kLow'
},
{
promise: internals.getResourcePriority(new URL('../resources/dummy.js?2', location), document),
expected_priority: kHigh,
description: 'auto importance on module <script> has no effect'
},
{
promise: internals.getResourcePriority(new URL('../resources/dummy.js?3', location), document),
expected_priority: kHigh,
description: 'invalid importance on module <script> has no effect'
},
{
promise: internals.getResourcePriority(new URL('../resources/dummy.js?3', location), document),
expected_priority: kHigh,
description: 'missing importance on module <script> has no effect'
}
];
</script>
<script id=script1 type=module importance=high src=../resources/dummy.js></script>
<script id=script2 type=module importance=low src=../resources/dummy.js?1></script>
<script id=script3 type=module importance=auto src=../resources/dummy.js?2></script>
<script id=script4 type=module importance=xyz src=../resources/dummy.js?3></script>
<script id=script5 type=module src=../resources/dummy.js?4></script>
<script>
promise_test(async (t) => {
await new Promise(resolve => {
addEventListener('DOMContentLoaded', resolve);
});
const base_msg = ' was fetched by the preload scanner';
assert_true(internals.isPreloaded(script1.src), script1.src + base_msg);
assert_true(internals.isPreloaded(script2.src), script2.src + base_msg);
assert_true(internals.isPreloaded(script3.src), script3.src + base_msg);
assert_true(internals.isPreloaded(script4.src), script4.src + base_msg);
assert_true(internals.isPreloaded(script5.src), script5.src + base_msg);
}, 'all scripts were fetched by the preload scanner');
// Setup the tests described by |priority_tests|.
for (test of priority_tests) {
promise_test(async () => {
const priority = await test.promise;
assert_equals(priority, test.expected_priority);
}, test.description);
}
</script>