[chore] Update CLI import & unit test

This commit is contained in:
Faisal Salman
2025-10-08 13:13:17 +07:00
parent 5349bb52ed
commit 5f1ed83225
2 changed files with 10 additions and 10 deletions

View File

@@ -6,8 +6,8 @@ try {
const { performance } = require('node:perf_hooks'); const { performance } = require('node:perf_hooks');
const readline = require('node:readline'); const readline = require('node:readline');
const { parseArgs } = require('node:util'); const { parseArgs } = require('node:util');
const UAParser = require('ua-parser-js'); const UAParser = require('../src/main/ua-parser');
const { Bots, Emails, ExtraDevices, InApps, Vehicles } = require('ua-parser-js/extensions'); const { Bots, Emails, ExtraDevices, InApps, Vehicles } = require('../src/extensions/ua-parser-extensions');
if (!process.argv[2].startsWith('-')) { if (!process.argv[2].startsWith('-')) {

View File

@@ -4,6 +4,12 @@ const fs = require('node:fs');
const { UAParser } = require('../../../src/main/ua-parser'); const { UAParser } = require('../../../src/main/ua-parser');
const uap = new UAParser(); const uap = new UAParser();
const input = [
'Opera/9.25 (Windows NT 6.0; U; ru)',
'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
];
const output = input.map(x => uap.setUA(x).getResult());
describe('npx ua-parser-js <string>', () => { describe('npx ua-parser-js <string>', () => {
it ('print result to stdout', () => { it ('print result to stdout', () => {
exec('npx ua-parser-js "TEST"', (err, stdout, stderr) => { exec('npx ua-parser-js "TEST"', (err, stdout, stderr) => {
@@ -15,10 +21,7 @@ describe('npx ua-parser-js <string>', () => {
describe('npx ua-parser-js --input-file=<filepath>', () => { describe('npx ua-parser-js --input-file=<filepath>', () => {
it ('load file and print result to stdout', () => { it ('load file and print result to stdout', () => {
exec('npx ua-parser-js --input-file="../test/unit/cli/input.txt"', (err, stdout, stderr) => { exec('npx ua-parser-js --input-file="../test/unit/cli/input.txt"', (err, stdout, stderr) => {
assert.deepEqual(JSON.parse(stdout), JSON.parse(JSON.stringify([ assert.deepEqual(JSON.parse(stdout), JSON.parse(JSON.stringify(output)));
uap.setUA('Opera/9.25 (Windows NT 6.0; U; ru)').getResult(),
uap.setUA('Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)').getResult()
])));
}); });
}); });
}); });
@@ -27,10 +30,7 @@ describe('npx ua-parser-js --input-file=<filepath> --output-file=<filepath>', ()
it ('load file and save result to file', () => { it ('load file and save result to file', () => {
exec('npx ua-parser-js --input-file="../test/unit/cli/input.txt" --output-file="../test/unit/cli/output.json"', (err, stdout, stderr) => { exec('npx ua-parser-js --input-file="../test/unit/cli/input.txt" --output-file="../test/unit/cli/output.json"', (err, stdout, stderr) => {
fs.readFile('test/unit/cli/output.json', (err, data) => { fs.readFile('test/unit/cli/output.json', (err, data) => {
assert.deepEqual(JSON.parse(data), JSON.parse(JSON.stringify([ assert.deepEqual(JSON.parse(data), JSON.parse(JSON.stringify(output)));
uap.setUA('Opera/9.25 (Windows NT 6.0; U; ru)').getResult(),
uap.setUA('Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)').getResult()
])));
}); });
}); });
}); });