mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
Install @playwright/test
to perform test in real browser
This commit is contained in:
parent
625ece73e2
commit
05747dba37
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,6 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
|
playwright-report/
|
||||||
|
|
||||||
### vim ###
|
### vim ###
|
||||||
.*.s[a-w][a-z]
|
.*.s[a-w][a-z]
|
||||||
|
@ -164,12 +164,13 @@
|
|||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "uglifyjs src/ua-parser.js -o dist/ua-parser.min.js --comments '/^ UA/' && uglifyjs src/ua-parser.js -o dist/ua-parser.pack.js --comments '/^ UA/' --compress --mangle && node script/build-module.js",
|
"build": "uglifyjs src/ua-parser.js -o dist/ua-parser.min.js --comments '/^ UA/' && uglifyjs src/ua-parser.js -o dist/ua-parser.pack.js --comments '/^ UA/' --compress --mangle && node script/build-module.js",
|
||||||
"test": "jshint src/ && mocha -R nyan test",
|
"test": "jshint src && mocha -R nyan test/mocha*js && npx playwright test",
|
||||||
"test-ci": "jshint src/ && mocha -R spec test"
|
"test-ci": "jshint src && mocha -R spec test/mocha*js && npx playwright test"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/parser": "7.15.8",
|
"@babel/parser": "7.15.8",
|
||||||
"@babel/traverse": "7.15.4",
|
"@babel/traverse": "7.15.4",
|
||||||
|
"@playwright/test": "^1.32.2",
|
||||||
"jshint": "~2.12.0",
|
"jshint": "~2.12.0",
|
||||||
"mocha": "~8.2.0",
|
"mocha": "~8.2.0",
|
||||||
"requirejs": "^2.3.2",
|
"requirejs": "^2.3.2",
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
/*///////////////
|
/*///////////////
|
||||||
|
@ -4,7 +4,7 @@ var assert = require('assert');
|
|||||||
var requirejs = require('requirejs');
|
var requirejs = require('requirejs');
|
||||||
var parseJS = require('@babel/parser').parse;
|
var parseJS = require('@babel/parser').parse;
|
||||||
var traverse = require('@babel/traverse').default;
|
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 browsers = require('./specs/browser-all.json');
|
||||||
var cpus = require('./specs/cpu-all.json');
|
var cpus = require('./specs/cpu-all.json');
|
||||||
var devices = require('./specs/device-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');
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user