Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ulixee
GitHub Repository: ulixee/secret-agent
Path: blob/main/plugins/default-browser-emulator/test/VersionUtils.test.ts
1029 views
1
import * as Path from 'path';
2
import { findClosestVersionMatch } from '../lib/VersionUtils';
3
import DefaultBrowserEmulator from '../index';
4
import DataLoader from '../lib/DataLoader';
5
import getLocalOperatingSystemMeta from '../lib/utils/getLocalOperatingSystemMeta';
6
7
test('it should findClosestVersionMatch even if minor is not matched', async () => {
8
const versionMatch1 = findClosestVersionMatch('10-16', ['11']);
9
const versionMatch2 = findClosestVersionMatch('11-2', ['11']);
10
const versionMatch3 = findClosestVersionMatch('11-3', ['11']);
11
const versionMatch4 = findClosestVersionMatch('11-4', ['11']);
12
13
expect(versionMatch1).toBe('11');
14
expect(versionMatch2).toBe('11');
15
expect(versionMatch3).toBe('11');
16
expect(versionMatch4).toBe('11');
17
}, 60e3);
18
19
test('it should find correct browser meta', async () => {
20
const browserMeta = DefaultBrowserEmulator.selectBrowserMeta(
21
'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36',
22
);
23
const dataLoader = new DataLoader(Path.resolve(__dirname, '../'));
24
const data = dataLoader.as(browserMeta.userAgentOption) as any;
25
const asOsId = data.osDataDir.split('/').pop();
26
expect(asOsId).toEqual('as-mac-os-11');
27
});
28
29
test('it should work with monteray', async () => {
30
const OsMeta = getLocalOperatingSystemMeta('darwin', '500.0.0');
31
expect(OsMeta.version.split('-').map(Number)[0]).toBeGreaterThanOrEqual(11);
32
});
33
34