We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 383ca58 + f95aced commit f726dcdCopy full SHA for f726dcd
bower.json
@@ -1,6 +1,6 @@
1
{
2
"name": "ua-parser-js",
3
- "version": "0.7.26",
+ "version": "0.7.27",
4
"authors": [
5
"Faisal Salman <[email protected]>"
6
],
dist/ua-parser.min.js
dist/ua-parser.pack.js
package.js
Package.describe({
name: 'faisalman:ua-parser-js',
- version: '0.7.26',
+ version: '0.7.27',
summary: 'Lightweight JavaScript-based user-agent string parser',
git: 'https://github.com/faisalman/ua-parser-js.git',
documentation: 'readme.md'
package.json
@@ -1,7 +1,7 @@
"title": "UAParser.js",
"author": "Faisal Salman <[email protected]> (http://faisalman.com)",
"description": "Lightweight JavaScript-based user-agent string parser",
7
"keywords": [
readme.md
@@ -62,8 +62,8 @@ console, mobile, tablet, smarttv, wearable, embedded
62
63
# Possible 'device.vendor':
64
Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, BlackBerry, Dell,
65
-Essential, GeeksPhone, Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu,
66
-Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, OPPO, Ouya,
+Essential, Fairphone, GeeksPhone, Google, HP, HTC, Huawei, Jolla, Lenovo, LG,
+Meizu, Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, OPPO, Ouya,
67
Palm, Panasonic, Pebble, Polytron, Realme, RIM, Samsung, Sharp, Siemens,
68
Sony[Ericsson], Sprint, Tesla, Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...
69
src/ua-parser.js
@@ -1,5 +1,5 @@
/*!@license
- * UAParser.js v0.7.26
+ * UAParser.js v0.7.27
* Lightweight JavaScript-based User-Agent string parser
* https://github.com/faisalman/ua-parser-js
*
@@ -16,7 +16,7 @@
16
/////////////
17
18
19
- var LIBVERSION = '0.7.26',
+ var LIBVERSION = '0.7.27',
20
EMPTY = '',
21
UNKNOWN = '?',
22
FUNC_TYPE = 'function',
@@ -541,6 +541,8 @@
541
542
/\s(surface\sduo)\s/i // Surface Duo
543
], [MODEL, [VENDOR, 'Microsoft'], [TYPE, TABLET]], [
544
+ /droid\s[\d\.]+;\s(fp\du?)\sbuild/i
545
+ ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [
546
/\s(u304aa)\sbuild/i // AT&T
547
], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [
548
/sie-(\w*)/i // Siemens
@@ -814,7 +816,7 @@
814
816
return _ua;
815
817
};
818
this.setUA = function (ua) {
- _ua = ua.length > UA_MAX_LENGTH ? util.trim(ua, UA_MAX_LENGTH) : ua;
819
+ _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? util.trim(ua, UA_MAX_LENGTH) : ua;
820
return this;
821
822
this.setUA(_ua);
test/device-test.json
@@ -196,6 +196,15 @@
196
"type": "mobile"
197
}
198
},
199
+ {
200
+ "desc": "Fairphone 1U",
201
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; FP1U Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
202
+ "expect": {
203
+ "vendor": "Fairphone",
204
+ "model": "FP1U",
205
+ "type": "mobile"
206
+ }
207
+ },
208
209
"desc": "HTC Desire 820",
210
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; HTC Desire 820 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36",
test/test.js
@@ -46,6 +46,14 @@ describe('UAParser()', function () {
46
assert.deepStrictEqual(UAParser(ua), new UAParser().setUA(ua).getResult());
47
});
48
49
+describe('UAParser() constructor does not throw with undefined ua argument', function () {
50
+ assert.doesNotThrow(() => new UAParser(undefined).getResult());
51
+});
52
+
53
+describe('UAParser.setUA method does not throw with undefined ua argument', function () {
54
+ assert.doesNotThrow(() => new UAParser().setUA(undefined).getResult());
55
56
57
for (var i in methods) {
58
describe(methods[i]['title'], function () {
59
for (var j in methods[i]['list']) {
0 commit comments