mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-30 17:27:44 +03:00
Install @playwright/test
to perform test in real browser
This commit is contained in:
@@ -4,7 +4,7 @@ var assert = require('assert');
|
||||
var requirejs = require('requirejs');
|
||||
var parseJS = require('@babel/parser').parse;
|
||||
var traverse = require('@babel/traverse').default;
|
||||
var UAParser = require('./../src/ua-parser');
|
||||
var UAParser = require('../src/ua-parser');
|
||||
var browsers = require('./specs/browser-all.json');
|
||||
var cpus = require('./specs/cpu-all.json');
|
||||
var devices = require('./specs/device-all.json');
|
44
test/playwright-test-browser.spec.mjs
Normal file
44
test/playwright-test-browser.spec.mjs
Normal file
@@ -0,0 +1,44 @@
|
||||
// @ts-check
|
||||
import { test, expect } from '@playwright/test';
|
||||
import path from 'path';
|
||||
import url from 'url';
|
||||
|
||||
test('read client hints data', async ({ page }) => {
|
||||
await page.addInitScript(() => {
|
||||
Object.defineProperty(navigator, 'userAgentData', {
|
||||
value : {
|
||||
brands : [],
|
||||
platform : '',
|
||||
mobile : false,
|
||||
getHighEntropyValues : () => {
|
||||
return Promise.resolve({
|
||||
brands : [
|
||||
{
|
||||
brand : 'Chromium',
|
||||
version : '110'
|
||||
},
|
||||
{
|
||||
brand : 'Not(A:Brand',
|
||||
version : '110'
|
||||
},
|
||||
{
|
||||
brand : 'New Browser',
|
||||
version : '110'
|
||||
}
|
||||
],
|
||||
platform : 'New OS'
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const dirname = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), '../');
|
||||
await page.goto(`file://${dirname}/dist/ua-parser.html`);
|
||||
|
||||
// @ts-ignore
|
||||
const uap = await page.evaluate(async () => await UAParser().withClientHints());
|
||||
|
||||
expect(uap).toHaveProperty('browser.name', 'New Browser');
|
||||
expect(uap).toHaveProperty('os.name', 'New OS');
|
||||
});
|
Reference in New Issue
Block a user