Skip to content

Commit 09aa910

Browse files
committed
Add new device & browser: Tesla
1 parent 557cc21 commit 09aa910

File tree

4 files changed

+56
-6
lines changed

4 files changed

+56
-6
lines changed

readme.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ Mozilla, NetFront, NetSurf, Netfront, Netscape, NokiaBrowser, Oculus Browser,
4747
OmniWeb, Opera Coast, Opera [Mini/Mobi/Tablet], PaleMoon, PhantomJS, Phoenix,
4848
Polaris, Puffin, QQ, QQBrowser, QQBrowserLite, Quark, QupZilla, RockMelt, Safari,
4949
Sailfish Browser, Samsung Browser, SeaMonkey, Silk, Skyfire, Sleipnir, Slim,
50-
SlimBrowser, Swiftfox, Tizen Browser, UCBrowser, Vivaldi, Waterfox, WeChat, Weibo,
51-
Yandex, baidu, iCab, w3m, Whale Browser...
50+
SlimBrowser, Swiftfox, Tesla, Tizen Browser, UCBrowser, Vivaldi, Waterfox, WeChat,
51+
Weibo, Yandex, baidu, iCab, w3m, Whale Browser...
5252

5353
# 'browser.version' determined dynamically
5454
```
@@ -65,7 +65,7 @@ Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, BlackBerry, Dell,
6565
Essential, GeeksPhone, Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu,
6666
Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, OPPO, Ouya,
6767
Palm, Panasonic, Pebble, Polytron, Realme, RIM, Samsung, Sharp, Siemens,
68-
Sony[Ericsson], Sprint, Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...
68+
Sony[Ericsson], Sprint, Tesla, Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...
6969

7070
# 'device.model' determined dynamically
7171
```

src/ua-parser.js

+13-3
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,8 @@
239239
/(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer
240240

241241
// Webkit/KHTML based
242-
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,
243-
// Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
242+
/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,
243+
// Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
244244
/(rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([\w\.]+)/i, // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
245245
/(weibo)__([\d\.]+)/i // Weibo
246246
], [NAME, VERSION], [
@@ -291,7 +291,10 @@
291291
], [[NAME, 'Facebook']], [
292292
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
293293
/safari\s(line)\/([\w\.]+)/i, // Line App for iOS
294-
/\b(line)\/([\w\.]+)\/iab/i // Line App for Android
294+
/\b(line)\/([\w\.]+)\/iab/i, // Line App for Android
295+
/(tesla)(?:\sqtcarbrowser|\/(20[12]\d\.[\w\.-]+))/i, // Tesla
296+
297+
/(chromium)\/([\w\.-]+)/i // Chromium
295298
], [NAME, VERSION], [
296299
/\bgsa\/([\w\.]+)\s.*safari\//i // Google Search Appliance on iOS
297300
], [VERSION, [NAME, 'GSA']], [
@@ -641,6 +644,13 @@
641644
/droid\s[\d\.]+;\s(wt63?0{2,3})\)/i
642645
], [MODEL, [VENDOR, 'Zebra'], [TYPE, WEARABLE]], [
643646

647+
///////////////////
648+
// EMBEDDED
649+
///////////////////
650+
651+
/(tesla)(?:\sqtcarbrowser|\/20[12]\d\.[\w\.-]+)/i // Tesla
652+
], [VENDOR, [TYPE, EMBEDDED]], [
653+
644654
////////////////////
645655
// MIXED (GENERIC)
646656
///////////////////

test/browser-test.json

+20
Original file line numberDiff line numberDiff line change
@@ -998,6 +998,26 @@
998998
"major" : "undefined"
999999
}
10001000
},
1001+
{
1002+
"desc" : "Tesla",
1003+
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
1004+
"expect" :
1005+
{
1006+
"name" : "Tesla",
1007+
"version" : "undefined",
1008+
"major" : "undefined"
1009+
}
1010+
},
1011+
{
1012+
"desc" : "Tesla",
1013+
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/79.0.3945.130 Chrome/79.0.3945.130 Safari/537.36 Tesla/2020.16.2.1-e99c70fff409",
1014+
"expect" :
1015+
{
1016+
"name" : "Tesla",
1017+
"version" : "2020.16.2.1-e99c70fff409",
1018+
"major" : "2020"
1019+
}
1020+
},
10011021
{
10021022
"desc" : "Tizen Browser",
10031023
"ua" : "Mozilla/5.0 (Linux; U; Tizen/1.0 like Android; en-us; AppleWebKit/534.46 (KHTML, like Gecko) Tizen Browser/1.0 Mobile",

test/device-test.json

+20
Original file line numberDiff line numberDiff line change
@@ -1161,6 +1161,26 @@
11611161
"type": "tablet"
11621162
}
11631163
},
1164+
{
1165+
"desc" : "Tesla",
1166+
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
1167+
"expect" :
1168+
{
1169+
"vendor": "Tesla",
1170+
"model": "undefined",
1171+
"type": "embedded"
1172+
}
1173+
},
1174+
{
1175+
"desc" : "Tesla",
1176+
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/79.0.3945.130 Chrome/79.0.3945.130 Safari/537.36 Tesla/2020.16.2.1-e99c70fff409",
1177+
"expect" :
1178+
{
1179+
"vendor": "Tesla",
1180+
"model": "undefined",
1181+
"type": "embedded"
1182+
}
1183+
},
11641184
{
11651185
"desc": "Xiaomi 2013023",
11661186
"ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; en-US; 2013023 Build/HM2013023) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/10.0.1.512 U3/0.8.0 Mobile Safari/533.1",

0 commit comments

Comments
 (0)