mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-10-01 01:37:43 +03:00
[helpers] Add new method: unfreezeUA()
, construct new unfreezed user-agent string using real data from client hints
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
const { isFrozenUA } = require('ua-parser-js/helpers');
|
||||
const { isFrozenUA } = require('@ua-parser-js/helpers');
|
||||
const assert = require('assert');
|
||||
|
||||
describe('isFrozenUA', () => {
|
||||
|
47
test/playwright-test-helpers.spec.mjs
Normal file
47
test/playwright-test-helpers.spec.mjs
Normal file
@@ -0,0 +1,47 @@
|
||||
// @ts-check
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { unfreezeUA } from '@ua-parser-js/helpers';
|
||||
|
||||
test('test for unfreezeUA() method', async ({ page }) => {
|
||||
|
||||
|
||||
await page.addInitScript(() => {
|
||||
Object.defineProperty(navigator, 'userAgentData', {
|
||||
value: {
|
||||
brands: [],
|
||||
platform: 'Windows',
|
||||
mobile: false,
|
||||
getHighEntropyValues: () => {
|
||||
return Promise.resolve({
|
||||
architecture: 'x86',
|
||||
bitness: '64',
|
||||
fullVersionList: [
|
||||
{
|
||||
brand: 'New Browser',
|
||||
version: '110.1.2.3'
|
||||
},
|
||||
{
|
||||
brand: 'Chromium',
|
||||
version: '110.1.2.3'
|
||||
},
|
||||
{
|
||||
brand: 'Not(A:Brand',
|
||||
version: '110'
|
||||
}
|
||||
],
|
||||
platform: 'Windows',
|
||||
platformVersion: '0.3'
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
Object.defineProperty(navigator, 'userAgent', {
|
||||
value: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.0.0 Safari/537.36'
|
||||
});
|
||||
});
|
||||
await page.goto('about:blank');
|
||||
await page.addScriptTag({ path: './src/helpers/ua-parser-helpers.js' });
|
||||
// @ts-ignore
|
||||
const ua = await page.evaluate(async () => await unfreezeUA());
|
||||
expect(ua).toBe('Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) New Browser/110.1.2.3 Chromium/110.1.2.3 Safari/537.36');
|
||||
});
|
Reference in New Issue
Block a user