summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/packages/browsers/src/browser-data
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/packages/browsers/src/browser-data')
-rw-r--r--remote/test/puppeteer/packages/browsers/src/browser-data/browser-data.ts20
-rw-r--r--remote/test/puppeteer/packages/browsers/src/browser-data/chrome-headless-shell.ts4
-rw-r--r--remote/test/puppeteer/packages/browsers/src/browser-data/chrome.ts20
-rw-r--r--remote/test/puppeteer/packages/browsers/src/browser-data/chromedriver.ts4
-rw-r--r--remote/test/puppeteer/packages/browsers/src/browser-data/chromium.ts4
-rw-r--r--remote/test/puppeteer/packages/browsers/src/browser-data/firefox.ts9
6 files changed, 52 insertions, 9 deletions
diff --git a/remote/test/puppeteer/packages/browsers/src/browser-data/browser-data.ts b/remote/test/puppeteer/packages/browsers/src/browser-data/browser-data.ts
index 67bb4990b2..3e78030aa7 100644
--- a/remote/test/puppeteer/packages/browsers/src/browser-data/browser-data.ts
+++ b/remote/test/puppeteer/packages/browsers/src/browser-data/browser-data.ts
@@ -43,6 +43,14 @@ export const executablePathByBrowser = {
[Browser.FIREFOX]: firefox.relativeExecutablePath,
};
+export const versionComparators = {
+ [Browser.CHROMEDRIVER]: chromedriver.compareVersions,
+ [Browser.CHROMEHEADLESSSHELL]: chromeHeadlessShell.compareVersions,
+ [Browser.CHROME]: chrome.compareVersions,
+ [Browser.CHROMIUM]: chromium.compareVersions,
+ [Browser.FIREFOX]: firefox.compareVersions,
+};
+
export {Browser, BrowserPlatform, ChromeReleaseChannel};
/**
@@ -185,3 +193,15 @@ export function resolveSystemExecutablePath(
return chrome.resolveSystemExecutablePath(platform, channel);
}
}
+
+/**
+ * Returns a version comparator for the given browser that can be used to sort
+ * browser versions.
+ *
+ * @public
+ */
+export function getVersionComparator(
+ browser: Browser
+): (a: string, b: string) => number {
+ return versionComparators[browser];
+}
diff --git a/remote/test/puppeteer/packages/browsers/src/browser-data/chrome-headless-shell.ts b/remote/test/puppeteer/packages/browsers/src/browser-data/chrome-headless-shell.ts
index b1c6178de8..f5f65cdbd4 100644
--- a/remote/test/puppeteer/packages/browsers/src/browser-data/chrome-headless-shell.ts
+++ b/remote/test/puppeteer/packages/browsers/src/browser-data/chrome-headless-shell.ts
@@ -25,7 +25,7 @@ function folder(platform: BrowserPlatform): string {
export function resolveDownloadUrl(
platform: BrowserPlatform,
buildId: string,
- baseUrl = 'https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing'
+ baseUrl = 'https://storage.googleapis.com/chrome-for-testing-public'
): string {
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
}
@@ -66,4 +66,4 @@ export function relativeExecutablePath(
}
}
-export {resolveBuildId} from './chrome.js';
+export {resolveBuildId, compareVersions} from './chrome.js';
diff --git a/remote/test/puppeteer/packages/browsers/src/browser-data/chrome.ts b/remote/test/puppeteer/packages/browsers/src/browser-data/chrome.ts
index c6329255c3..c7975163fc 100644
--- a/remote/test/puppeteer/packages/browsers/src/browser-data/chrome.ts
+++ b/remote/test/puppeteer/packages/browsers/src/browser-data/chrome.ts
@@ -6,6 +6,8 @@
import path from 'path';
+import semver from 'semver';
+
import {getJSON} from '../httpUtil.js';
import {BrowserPlatform, ChromeReleaseChannel} from './types.js';
@@ -28,7 +30,7 @@ function folder(platform: BrowserPlatform): string {
export function resolveDownloadUrl(
platform: BrowserPlatform,
buildId: string,
- baseUrl = 'https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing'
+ baseUrl = 'https://storage.googleapis.com/chrome-for-testing-public'
): string {
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
}
@@ -193,3 +195,19 @@ export function resolveSystemExecutablePath(
`Unable to detect browser executable path for '${channel}' on ${platform}.`
);
}
+
+export function compareVersions(a: string, b: string): number {
+ if (!semver.valid(a)) {
+ throw new Error(`Version ${a} is not a valid semver version`);
+ }
+ if (!semver.valid(b)) {
+ throw new Error(`Version ${b} is not a valid semver version`);
+ }
+ if (semver.gt(a, b)) {
+ return 1;
+ } else if (semver.lt(a, b)) {
+ return -1;
+ } else {
+ return 0;
+ }
+}
diff --git a/remote/test/puppeteer/packages/browsers/src/browser-data/chromedriver.ts b/remote/test/puppeteer/packages/browsers/src/browser-data/chromedriver.ts
index 290598d0d7..2f1242b249 100644
--- a/remote/test/puppeteer/packages/browsers/src/browser-data/chromedriver.ts
+++ b/remote/test/puppeteer/packages/browsers/src/browser-data/chromedriver.ts
@@ -25,7 +25,7 @@ function folder(platform: BrowserPlatform): string {
export function resolveDownloadUrl(
platform: BrowserPlatform,
buildId: string,
- baseUrl = 'https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing'
+ baseUrl = 'https://storage.googleapis.com/chrome-for-testing-public'
): string {
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
}
@@ -53,4 +53,4 @@ export function relativeExecutablePath(
}
}
-export {resolveBuildId} from './chrome.js';
+export {resolveBuildId, compareVersions} from './chrome.js';
diff --git a/remote/test/puppeteer/packages/browsers/src/browser-data/chromium.ts b/remote/test/puppeteer/packages/browsers/src/browser-data/chromium.ts
index 09cfc987a8..820e76d018 100644
--- a/remote/test/puppeteer/packages/browsers/src/browser-data/chromium.ts
+++ b/remote/test/puppeteer/packages/browsers/src/browser-data/chromium.ts
@@ -86,3 +86,7 @@ export async function resolveBuildId(
)
);
}
+
+export function compareVersions(a: string, b: string): number {
+ return Number(a) - Number(b);
+}
diff --git a/remote/test/puppeteer/packages/browsers/src/browser-data/firefox.ts b/remote/test/puppeteer/packages/browsers/src/browser-data/firefox.ts
index ccc30fa1b5..87e3804c8f 100644
--- a/remote/test/puppeteer/packages/browsers/src/browser-data/firefox.ts
+++ b/remote/test/puppeteer/packages/browsers/src/browser-data/firefox.ts
@@ -235,10 +235,6 @@ function defaultProfilePreferences(
// Disable the GFX sanity window
'media.sanity-test.disabled': true,
- // Prevent various error message on the console
- // jest-puppeteer asserts that no error message is emitted by the console
- 'network.cookie.cookieBehavior': 0,
-
// Disable experimental feature that is only available in Nightly
'network.cookie.sameSite.laxByDefault': false,
@@ -328,3 +324,8 @@ async function writePreferences(options: ProfileOptions): Promise<void> {
await fs.promises.copyFile(prefsPath, prefsBackupPath);
}
}
+
+export function compareVersions(a: string, b: string): number {
+ // TODO: this is a not very reliable check.
+ return parseInt(a.replace('.', ''), 16) - parseInt(b.replace('.', ''), 16);
+}