Skip to content

Commit

Permalink
Bug 1839319 - Refine the tests for Fetch() API with fetchpriority. r=…
Browse files Browse the repository at this point in the history
…fredw

This is to be in line with the comment at D200920. This change is also based on D200921.

Differential Revision: https://phabricator.services.mozilla.com/D202223
  • Loading branch information
ziransun committed Feb 21, 2024
1 parent 18fd151 commit eb8cbda
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 30 deletions.
@@ -1,11 +1,12 @@
export const kTestFolderName = "fetch-tests";

// Use RequestInit's priority if specified, or RequestionInfo's priority otherwise.
const kExpectedRequestsOfFetchAPI = [
{ fileNameAndSuffix: "dummy.css?1",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_LOW
},
{ fileNameAndSuffix: "dummy.css?2",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
},
{ fileNameAndSuffix: "dummy.css?3",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
Expand All @@ -14,23 +15,41 @@ const kExpectedRequestsOfFetchAPI = [
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_LOW
},
{ fileNameAndSuffix: "dummy.css?5",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_LOW
},
{ fileNameAndSuffix: "dummy.css?6",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_LOW
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
},
{ fileNameAndSuffix: "dummy.css?7",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
},
{ fileNameAndSuffix: "dummy.css?8",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
},
{ fileNameAndSuffix: "dummy.css?9",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_LOW
},
{ fileNameAndSuffix: "dummy.css?10",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
},
{ fileNameAndSuffix: "dummy.css?11",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
},
{ fileNameAndSuffix: "dummy.css?12",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
},
{ fileNameAndSuffix: "dummy.css?13",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_LOW
}
},
{ fileNameAndSuffix: "dummy.css?14",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_HIGH
},
{ fileNameAndSuffix: "dummy.css?15",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
},
{ fileNameAndSuffix: "dummy.css?16",
internalPriority: SpecialPowers.Ci.nsISupportsPriority.PRIORITY_NORMAL
},
];

export const kTestData = [
Expand Down
Expand Up @@ -10,51 +10,66 @@
onload = function() {
const kData = [
{
description: 'fetch() with URL and request_init whose priority is "high" must be fetched with high load priority',
request_info: `${resource_url}?1`,
request_info: new Request(`${resource_url}?1`, {priority: 'low'}),
request_init: {priority: 'low'}
},
{
request_info: new Request(`${resource_url}?2`, {priority: 'low'}),
request_init: {priority: 'high'}
},
{
description: 'fetch() with URL and request_init whose priority is "auto" must have no effect on resource load priority',
request_info: `${resource_url}?2`,
request_info: new Request(`${resource_url}?3`, {priority: 'low'}),
request_init: {priority: 'auto'}
},
{
description: 'fetch() with URL and request_init whose priority is missing must have no effect on resource load priority',
request_info: `${resource_url}?3`,
request_init: {}
request_info: new Request(`${resource_url}?4`, {priority: 'low'})
},
{
description: 'fetch() with URL and request_init whose priority is "low" must be fetched with low resource load priority',
request_info: `${resource_url}?4`,
request_info: new Request(`${resource_url}?5`, {priority: 'high'}),
request_init: {priority: 'low'}
},
{
description: 'fetch() with Request whose priority is "low" and request_init whose priority is "high" must have no effect on resource load priority',
request_info: new Request(`${resource_url}?5`, {priority: 'low'}),
request_info: new Request(`${resource_url}?6`, {priority: 'high'}),
request_init: {priority: 'high'}
},
{
description: 'fetch() with Request whose priority is "high" and request_init whose priority is "low" must be fetched with low resource load priority',
request_info: new Request(`${resource_url}?6`, {priority: 'high'}),
request_info: new Request(`${resource_url}?7`, {priority: 'high'}),
request_init: {priority: 'auto'}
},
{
request_info: new Request(`${resource_url}?8`, {priority: 'high'})
},
{
request_info: new Request(`${resource_url}?9`, {priority: 'auto'}),
request_init: {priority: 'low'}
},
{
description: 'fetch() with Request whose priority is "high" and no request_init must be fetched with high resource load priority',
request_info: new Request(`${resource_url}?7`, {priority: 'high'})
request_info: new Request(`${resource_url}?10`, {priority: 'auto'}),
request_init: {priority: 'high'}
},
{
request_info: new Request(`${resource_url}?11`, {priority: 'auto'}),
request_init: {priority: 'auto'}
},
{
request_info: new Request(`${resource_url}?12`, {priority: 'auto'}),
},
{
request_info: `${resource_url}?13`,
request_init: {priority: 'low'}
},
{
description: 'fetch() with Request whose priority is "auto" and no request_init must have no effect on resource load priority',
request_info: new Request(`${resource_url}?8`, {priority: 'auto'})
request_info: `${resource_url}?14`,
request_init: {priority: 'high'}
},
{
description: 'fetch() with Request whose priority is missing and no request_init must have no effect on resource load priority',
request_info: new Request(`${resource_url}?9`)
request_info: `${resource_url}?15`,
request_init: {priority: 'auto'}
},
{
description: 'fetch() with Request whose priority is "low" and no request_init must be fetched with low resource load priority',
request_info: new Request(`${resource_url}?10`, {priority: 'low'})
}
request_info: `${resource_url}?16`,
request_init: {}
},
];
for (const data of kData) {
const response = fetch(data.request_info, data.request_init);
Expand Down

0 comments on commit eb8cbda

Please sign in to comment.