Skip to content

Commit d141915

Browse files
committed
Merge branch 'develop'
2 parents 896bdd0 + 8483ac0 commit d141915

File tree

5 files changed

+62
-6
lines changed

5 files changed

+62
-6
lines changed

.github/workflows/run-test.yml

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ name: ua-parser-js-run-test
22

33
on: [push, pull_request]
44

5+
permissions:
6+
contents: read
7+
58
jobs:
69
run-test:
710
runs-on: ubuntu-latest

package.json

+4
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,10 @@
141141
"Zach Bjornson <[email protected]>"
142142
],
143143
"main": "src/ua-parser.js",
144+
"files": [
145+
"dist",
146+
"src"
147+
],
144148
"scripts": {
145149
"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",
146150
"test": "jshint src/ua-parser.js && mocha -R nyan test/test.js",

src/ua-parser.js

+8-6
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
MOTOROLA = 'Motorola',
5555
OPERA = 'Opera',
5656
SAMSUNG = 'Samsung',
57+
SHARP = 'Sharp',
5758
SONY = 'Sony',
5859
XIAOMI = 'Xiaomi',
5960
ZEBRA = 'Zebra',
@@ -301,9 +302,9 @@
301302
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia
302303
], [NAME, VERSION], [
303304

304-
/version\/([\w\.]+) .*mobile\/\w+ (safari)/i // Mobile Safari
305+
/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i // Mobile Safari
305306
], [VERSION, [NAME, 'Mobile Safari']], [
306-
/version\/([\w\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile
307+
/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile
307308
], [VERSION, NAME], [
308309
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i // Safari < 3.0
309310
], [NAME, [VERSION, strMapper, oldSafariMap]], [
@@ -504,7 +505,7 @@
504505

505506
// Sharp
506507
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
507-
], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [
508+
], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [
508509

509510
// MIXED
510511
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,
@@ -616,9 +617,10 @@
616617
], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [
617618
/droid.+aft(\w)( bui|\))/i // Fire TV
618619
], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [
619-
/\(dtv[\);].+(aquos)/i // Sharp
620-
], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [
621-
/(bravia[\w- ]+) bui/i // Sony
620+
/\(dtv[\);].+(aquos)/i,
621+
/(aquos-tv[\w ]+)\)/i // Sharp
622+
], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[
623+
/(bravia[\w ]+)( bui|\))/i // Sony
622624
], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [
623625
/(mitv-\w{5}) bui/i // Xiaomi
624626
], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [

test/browser-test.json

+20
Original file line numberDiff line numberDiff line change
@@ -1571,5 +1571,25 @@
15711571
{
15721572
"name" : "LinkedIn"
15731573
}
1574+
},
1575+
{
1576+
"desc" : "Safari including comma in minor version number",
1577+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6,2 Safari/605.1.15",
1578+
"expect" :
1579+
{
1580+
"name" : "Safari",
1581+
"version" : "15.6,2",
1582+
"major" : "15"
1583+
}
1584+
},
1585+
{
1586+
"desc" : "Mobile Safari including comma in minor version number",
1587+
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 15_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6,2 Mobile/15E148 Safari/604.1",
1588+
"expect" :
1589+
{
1590+
"name" : "Mobile Safari",
1591+
"version" : "15.6,2",
1592+
"major" : "15"
1593+
}
15741594
}
15751595
]

test/device-test.json

+27
Original file line numberDiff line numberDiff line change
@@ -1710,6 +1710,15 @@
17101710
"type": "smarttv"
17111711
}
17121712
},
1713+
{
1714+
"desc": "Sharp AQUOS-TVX19B",
1715+
"ua": "Mozilla/5.0 (Linux; Android 9; AQUOS-TVX19B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36",
1716+
"expect": {
1717+
"vendor": "Sharp",
1718+
"model": "AQUOS-TVX19B",
1719+
"type": "smarttv"
1720+
}
1721+
},
17131722
{
17141723
"desc": "Sharp Aquos B10",
17151724
"ua": "Mozilla/5.0 (Linux; Android 7.0; SH-A01) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Mobile Safari/537.36",
@@ -1890,6 +1899,24 @@
18901899
"type": "smarttv"
18911900
}
18921901
},
1902+
{
1903+
"desc": "Sony BRAVIA 4K GB ATV3",
1904+
"ua": "Mozilla/5.0 (Linux; Android 9; BRAVIA 4K GB ATV3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36",
1905+
"expect": {
1906+
"vendor": "Sony",
1907+
"model": "BRAVIA 4K GB ATV3",
1908+
"type": "smarttv"
1909+
}
1910+
},
1911+
{
1912+
"desc": "Sony Bravia 4k UR2",
1913+
"ua": "Mozilla/5.0 (Linux: Andr0id 9: BRAVIA 4K UR2 Build/PTT1.190515.001.S104) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36 OPR/46.0.2207.0 OMI/4.13.5.431.DIA5HBBTV.250 Model/Sony-BRAVIA-4K-UR2",
1914+
"expect": {
1915+
"vendor": "Sony",
1916+
"model": "BRAVIA 4K UR2",
1917+
"type": "smarttv"
1918+
}
1919+
},
18931920
{
18941921
"desc" : "Tesla",
18951922
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",

0 commit comments

Comments
 (0)