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({
|
||||
browser : [
|
||||
// Slack
|
||||
[/chatlyio\/([\d\.]+)/i], [VERSION, 'Slack', [TYPE, INAPP]],
|
||||
[/(?:slack(?=.+electron|.+ios)|chatlyio)\/([\d\.]+)/i],
|
||||
[VERSION, [NAME, 'Slack'], [TYPE, INAPP]],
|
||||
|
||||
// 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 emails = require('../data/ua/extension/email.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 { 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', () => {
|
||||
[
|
||||
@ -17,6 +18,7 @@ describe('Extensions', () => {
|
||||
['Crawlers', crawlers, Crawlers],
|
||||
['Emails', emails, Emails],
|
||||
['Fetchers', fetchers, Fetchers],
|
||||
['InApps', inapps, InApps],
|
||||
['Libraries', libraries, Libraries]
|
||||
]
|
||||
.forEach((list) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user