mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 16:08:47 +03:00
[extensions] Improve inapp browser detection: Slack, Yahoo! Japan
This commit is contained in:
parent
baeac63ebe
commit
8a05328ce0
@ -253,10 +253,12 @@ const Fetchers = Object.freeze({
|
|||||||
const InApps = Object.freeze({
|
const InApps = Object.freeze({
|
||||||
browser : [
|
browser : [
|
||||||
// Slack
|
// Slack
|
||||||
[/chatlyio\/([\d\.]+)/i], [VERSION, 'Slack', [TYPE, INAPP]],
|
[/(?:slack(?=.+electron|.+ios)|chatlyio)\/([\d\.]+)/i],
|
||||||
|
[VERSION, [NAME, 'Slack'], [TYPE, INAPP]],
|
||||||
|
|
||||||
// Yahoo! Japan
|
// Yahoo! Japan
|
||||||
[/jp\.co\.yahoo\.android\.yjtop\/([\d\.]+)/i], [VERSION, 'Yahoo! Japan', [TYPE, INAPP]]
|
[/jp\.co\.yahoo\.(?:android\.yjtop|ipn\.appli)\/([\d\.]+)/i],
|
||||||
|
[VERSION, [NAME, 'Yahoo! Japan'], [TYPE, INAPP]]
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
32
test/data/ua/extension/inapp.json
Normal file
32
test/data/ua/extension/inapp.json
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"desc" : "Slack on mac",
|
||||||
|
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Slack/4.39.90 Chrome/127.0.6533.72 Electron/13.1.9 Safari/537.36",
|
||||||
|
"expect" :
|
||||||
|
{
|
||||||
|
"name" : "Slack",
|
||||||
|
"version" : "4.39.90",
|
||||||
|
"type" : "inapp"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"desc" : "Yahoo! Japan on Android",
|
||||||
|
"ua" : "Mozilla/5.0 (Linux; Android 13; SH-M20 Build/TKQ1.220915.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/132.0.6834.163 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.187.0",
|
||||||
|
"expect" :
|
||||||
|
{
|
||||||
|
"name" : "Yahoo! Japan",
|
||||||
|
"version" : "3.187.0",
|
||||||
|
"type" : "inapp"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"desc" : "Yahoo! Japan on iOS",
|
||||||
|
"ua" : "Mozilla/5.0 (iPad; CPU OS 18_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 YJApp-IOS jp.co.yahoo.ipn.appli/4.131.0",
|
||||||
|
"expect" :
|
||||||
|
{
|
||||||
|
"name" : "Yahoo! Japan",
|
||||||
|
"version" : "4.131.0",
|
||||||
|
"type" : "inapp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
@ -8,8 +8,9 @@ const clis = require('../data/ua/extension/cli.json');
|
|||||||
const crawlers = require('../data/ua/extension/crawler.json');
|
const crawlers = require('../data/ua/extension/crawler.json');
|
||||||
const emails = require('../data/ua/extension/email.json');
|
const emails = require('../data/ua/extension/email.json');
|
||||||
const fetchers = require('../data/ua/extension/fetcher.json');
|
const fetchers = require('../data/ua/extension/fetcher.json');
|
||||||
|
const inapps = require('../data/ua/extension/inapp.json');
|
||||||
const libraries = require('../data/ua/extension/library.json');
|
const libraries = require('../data/ua/extension/library.json');
|
||||||
const { Bots, CLIs, Crawlers, Emails, Fetchers, Libraries } = require('../../src/extensions/ua-parser-extensions');
|
const { Bots, CLIs, Crawlers, Emails, Fetchers, InApps, Libraries } = require('../../src/extensions/ua-parser-extensions');
|
||||||
|
|
||||||
describe('Extensions', () => {
|
describe('Extensions', () => {
|
||||||
[
|
[
|
||||||
@ -17,6 +18,7 @@ describe('Extensions', () => {
|
|||||||
['Crawlers', crawlers, Crawlers],
|
['Crawlers', crawlers, Crawlers],
|
||||||
['Emails', emails, Emails],
|
['Emails', emails, Emails],
|
||||||
['Fetchers', fetchers, Fetchers],
|
['Fetchers', fetchers, Fetchers],
|
||||||
|
['InApps', inapps, InApps],
|
||||||
['Libraries', libraries, Libraries]
|
['Libraries', libraries, Libraries]
|
||||||
]
|
]
|
||||||
.forEach((list) => {
|
.forEach((list) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user