50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
export const testBrowserSupportRelease = {
|
|
appVersion: "1.2.3-test",
|
|
browsers: [
|
|
{ brand: "Google Chrome", fullVersion: "150.0.7339.1" },
|
|
{ brand: "Microsoft Edge", fullVersion: "150.0.4078.99" },
|
|
],
|
|
} as const;
|
|
|
|
interface BrowserIdentityFixture {
|
|
brand: string;
|
|
fullVersion: string;
|
|
platform?: string;
|
|
}
|
|
|
|
function major(version: string) {
|
|
return version.split(".")[0];
|
|
}
|
|
|
|
function serialize(values: Array<{ brand: string; version: string }>) {
|
|
return values.map(({ brand, version }) => `"${brand}";v="${version}"`).join(", ");
|
|
}
|
|
|
|
export function browserSupportFixture(input: BrowserIdentityFixture) {
|
|
const platform = input.platform ?? "Windows";
|
|
const brands = [
|
|
{ brand: "Not_A Brand", version: "99" },
|
|
{ brand: "Chromium", version: major(input.fullVersion) },
|
|
{ brand: input.brand, version: major(input.fullVersion) },
|
|
];
|
|
const fullVersionList = [
|
|
{ brand: "Not_A Brand", version: "99.0.0.0" },
|
|
{ brand: "Chromium", version: input.fullVersion },
|
|
{ brand: input.brand, version: input.fullVersion },
|
|
];
|
|
return {
|
|
body: {
|
|
brands,
|
|
full_version_list: fullVersionList,
|
|
platform,
|
|
},
|
|
headers: {
|
|
host: "127.0.0.1:43121",
|
|
origin: "http://127.0.0.1:43121",
|
|
"sec-ch-ua": serialize(brands),
|
|
"sec-ch-ua-full-version-list": serialize(fullVersionList),
|
|
"sec-ch-ua-platform": `"${platform}"`,
|
|
},
|
|
};
|
|
}
|