| <script src=../priorities/resources/common.js></script> |
| <script src=../resources/testharness.js></script> |
| <script src=../resources/testharnessreport.js></script> |
| |
| <script> |
| const resource_url = new URL('../resources/dummy.txt', location); |
| |
| const tests = [ |
| // fetch("url", request_init) tests |
| {description: 'fetch() with URL and request_init whose importance is "high" must have no effect on resource load priority', request_info: `${resource_url}?1`, request_init: {importance: 'high'}, expected_priority: kHigh}, |
| {description: 'fetch() with URL and request_init whose importance is "auto" must have no effect on resource load priority', request_info: `${resource_url}?2`, request_init: {importance: 'auto'}, expected_priority: kHigh}, |
| {description: 'fetch() with URL and request_init whose importance is missing must have no effect on resource load priority', request_info: `${resource_url}?3`, request_init: {}, expected_priority: kHigh}, |
| {description: 'fetch() with URL and request_init whose importance is "low" must be fetched with kLow resource load priority', request_info: `${resource_url}?4`, request_init: {importance: 'low'}, expected_priority: kLow}, |
| // fetch(Request, request_init) tests |
| { |
| description: 'fetch() with Request whose importance is "low" and request_init whose importance is "high" must have no effect on resource load priority', |
| request_info: new Request(`${resource_url}?5`, {importance: 'low'}), |
| request_init: {importance: 'high'}, |
| expected_priority: kHigh |
| }, |
| { |
| description: 'fetch() with Request whose importance is "high" and request_init whose importance is "low" must be fetched with kLow resource load priority', |
| request_info: new Request(`${resource_url}?6`, {importance: 'high'}), |
| request_init: {importance: 'low'}, |
| expected_priority: kLow |
| }, |
| // fetch(Request) tests |
| { |
| description: 'fetch() with Request whose importance is "high" and no request_init must have no effect on resource load priority', |
| request_info: new Request(`${resource_url}?7`, {importance: 'high'}), |
| expected_priority: kHigh |
| }, |
| { |
| description: 'fetch() with Request whose importance is "auto" and no request_init must have no effect on resource load priority', |
| request_info: new Request(`${resource_url}?8`, {importance: 'auto'}), |
| expected_priority: kHigh |
| }, |
| { |
| description: 'fetch() with Request whose importance is missing and no request_init must have no effect on resource load priority', |
| request_info: new Request(`${resource_url}?9`), |
| expected_priority: kHigh |
| }, |
| { |
| description: 'fetch() with Request whose importance is "low" and no request_init must be fetched with kLow resource load priority', |
| request_info: new Request(`${resource_url}?10`, {importance: 'low'}), |
| expected_priority: kLow |
| } |
| ]; |
| |
| for (const test of tests) { |
| promise_test(async () => { |
| const url = test.request_info instanceof Request ? |
| test.request_info.url : test.request_info; |
| const priorityPromise = internals.getResourcePriority(url, document); |
| const response = await fetch(test.request_info, test.request_init); |
| const priority = await priorityPromise; |
| assert_equals(priority, test.expected_priority); |
| }, test.description); |
| } |
| </script> |