ua-parser-js 0.7.19 → 0.7.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ua-parser-js might be problematic. Click here for more details.

@@ -16,6 +16,24 @@
16
16
  "type": "tablet"
17
17
  }
18
18
  },
19
+ {
20
+ "desc": "Asus ZenPad 10",
21
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; P00C Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Safari/537.36",
22
+ "expect": {
23
+ "vendor": "Asus",
24
+ "model": "P00C",
25
+ "type": "tablet"
26
+ }
27
+ },
28
+ {
29
+ "desc": "Acer Iconia A1-810",
30
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; A1-810 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36",
31
+ "expect": {
32
+ "vendor": "Acer",
33
+ "model": "A1-810",
34
+ "type": "tablet"
35
+ }
36
+ },
19
37
  {
20
38
  "desc": "Desktop (IE11 with Tablet string)",
21
39
  "ua": "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; GWX:MANAGED; rv:11.0) like Gecko",
@@ -34,6 +52,15 @@
34
52
  "type": "mobile"
35
53
  }
36
54
  },
55
+ {
56
+ "desc": "HTC Desire 820",
57
+ "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",
58
+ "expect": {
59
+ "vendor": "HTC",
60
+ "model": "Desire 820",
61
+ "type": "mobile"
62
+ }
63
+ },
37
64
  {
38
65
  "desc": "HTC Evo Shift 4G",
39
66
  "ua": "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0",
@@ -88,6 +115,15 @@
88
115
  "type": "mobile"
89
116
  }
90
117
  },
118
+ {
119
+ "desc": "iPad using UCBrowser",
120
+ "ua": "Mozilla/5.0 (iPad; U; CPU OS 11_2 like Mac OS X; zh-CN; iPad5,3) AppleWebKit/534.46 (KHTML, like Gecko) UCBrowser/3.0.1.776 U3/ Mobile/10A403 Safari/7543.48.3",
121
+ "expect": {
122
+ "vendor": "Apple",
123
+ "model": "iPad",
124
+ "type": "tablet"
125
+ }
126
+ },
91
127
  {
92
128
  "desc": "iPod",
93
129
  "ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
@@ -97,6 +133,15 @@
97
133
  "type": "mobile"
98
134
  }
99
135
  },
136
+ {
137
+ "desc": "Lenovo Tab 2",
138
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; Lenovo TAB 2 A7-30HC Build/LRX21M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.157 Safari/537.36",
139
+ "expect": {
140
+ "vendor": "Lenovo",
141
+ "model": "TAB 2 A7",
142
+ "type": "tablet"
143
+ }
144
+ },
100
145
  {
101
146
  "desc": "LG Nexus 4",
102
147
  "ua": "Mozilla/5.0 (Linux; Android 4.2.1; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
@@ -115,13 +160,31 @@
115
160
  "type": "mobile"
116
161
  }
117
162
  },
163
+ {
164
+ "desc": "LG Smart TV",
165
+ "ua": "Mozilla/5.0 (DirectFB; U; Linux mips; en) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) LG Browser (; LG NetCast.TV-2011)",
166
+ "expect": {
167
+ "vendor": "LG",
168
+ "model": "undefined",
169
+ "type": "smarttv"
170
+ }
171
+ },
172
+ {
173
+ "desc": "LG Smart TV",
174
+ "ua": "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/53.0.2785 34 Safari/537.31 SmartTV/8.5",
175
+ "expect": {
176
+ "vendor": "LG",
177
+ "model": "undefined",
178
+ "type": "smarttv"
179
+ }
180
+ },
118
181
  {
119
182
  "desc": "Meizu M5 Note",
120
183
  "ua": "Mozilla/5.0 (Linux; Android 6.0; M5 Note Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043024 Safari/537.36 MicroMessenger/6.5.7.1040 NetType/WIFI Language/zh_CN",
121
184
  "expect": {
122
185
  "vendor": "Meizu",
123
186
  "model": "M5 Note",
124
- "type": "tablet"
187
+ "type": "mobile"
125
188
  }
126
189
  },
127
190
  {
@@ -234,6 +297,24 @@
234
297
  "type": "mobile"
235
298
  }
236
299
  },
300
+ {
301
+ "desc": "OnePlus 6",
302
+ "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
303
+ "expect": {
304
+ "vendor": "OnePlus",
305
+ "model": "A6003",
306
+ "type": "mobile"
307
+ }
308
+ },
309
+ {
310
+ "desc": "OnePlus 6T",
311
+ "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6010) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
312
+ "expect": {
313
+ "vendor": "OnePlus",
314
+ "model": "A6010",
315
+ "type": "mobile"
316
+ }
317
+ },
237
318
  {
238
319
  "desc": "OPPO R7s",
239
320
  "ua": "Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; OPPO R7s Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 Chrome/37.0.0.0 MQQBrowser/7.1 Mobile Safari/537.36",
@@ -261,6 +342,15 @@
261
342
  "type": "tablet"
262
343
  }
263
344
  },
345
+ {
346
+ "desc": "Kindle Fire HD",
347
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true",
348
+ "expect": {
349
+ "vendor": "Amazon",
350
+ "model": "KFTT",
351
+ "type": "tablet"
352
+ }
353
+ },
264
354
  {
265
355
  "desc": "Samsung Galaxy Note 8",
266
356
  "ua": "Mozilla/5.0 (Linux; Android 4.2.2; GT-N5100 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Safari/537.36",
@@ -288,6 +378,15 @@
288
378
  "type": "tablet"
289
379
  }
290
380
  },
381
+ {
382
+ "desc": "Samsung Galaxy Tab 6 Lite",
383
+ "ua": "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-P610) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/12.0 Chrome/79.0.3945.136 Safari/537.36",
384
+ "expect": {
385
+ "vendor": "Samsung",
386
+ "model": "SM-P610",
387
+ "type": "tablet"
388
+ }
389
+ },
291
390
  {
292
391
  "desc": "Samsung SM-T700",
293
392
  "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T700 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
@@ -315,6 +414,15 @@
315
414
  "type": "smarttv"
316
415
  }
317
416
  },
417
+ {
418
+ "desc": "Samsung Note 10.1",
419
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SM-P605) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
420
+ "expect": {
421
+ "vendor": "Samsung",
422
+ "model": "SM-P605",
423
+ "type": "tablet"
424
+ }
425
+ },
318
426
  {
319
427
  "desc": "Samsung SmartTV2012",
320
428
  "ua": "HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit",
@@ -333,6 +441,15 @@
333
441
  "type": "smarttv"
334
442
  }
335
443
  },
444
+ {
445
+ "desc": "Samsung SmartTV",
446
+ "ua": "Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/537.42 (KHTML, like Gecko) Safari/537.42",
447
+ "expect": {
448
+ "vendor": "undefined",
449
+ "model": "undefined",
450
+ "type": "smarttv"
451
+ }
452
+ },
336
453
  {
337
454
  "desc": "Samsung SmartTV",
338
455
  "ua": "Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1",
@@ -342,6 +459,15 @@
342
459
  "type": "smarttv"
343
460
  }
344
461
  },
462
+ {
463
+ "desc": "Sony G8141 (Xperia XZ Premium)",
464
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; G8141) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36",
465
+ "expect": {
466
+ "vendor": "Sony",
467
+ "model": "G8141",
468
+ "type": "mobile"
469
+ }
470
+ },
345
471
  {
346
472
  "desc": "Sony C5303 (Xperia SP)",
347
473
  "ua": "Mozilla/5.0 (Linux; Android 4.3; C5303 Build/12.1.A.1.205) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Mobile Safari/537.36",
@@ -468,6 +594,15 @@
468
594
  "type": "mobile"
469
595
  }
470
596
  },
597
+ {
598
+ "desc": "Xiaomi Mi A1",
599
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; Mi A1 Build/OPR1.170623.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
600
+ "expect": {
601
+ "vendor": "Xiaomi",
602
+ "model": "Mi A1",
603
+ "type": "mobile"
604
+ }
605
+ },
471
606
  {
472
607
  "desc": "Xiaomi Mi Note",
473
608
  "ua": "Mozilla/5.0 (Linux; Android 4.4.4; MI NOTE LTE Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36",
@@ -486,6 +621,69 @@
486
621
  "type": "mobile"
487
622
  }
488
623
  },
624
+ {
625
+ "desc": "Xiaomi MI PAD 2",
626
+ "ua": "Mozilla/5.0 (Linux; Android 5.1; MI PAD 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Safari/537.36 [FB_IAB/FB4A;FBAV/137.0.0.24.91;]",
627
+ "expect": {
628
+ "vendor": "Xiaomi",
629
+ "model": "MI PAD 2",
630
+ "type": "tablet"
631
+ }
632
+ },
633
+ {
634
+ "desc": "Xiaomi MI PAD 4 PLUS",
635
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; MI PAD 4 PLUS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36",
636
+ "expect": {
637
+ "vendor": "Xiaomi",
638
+ "model": "MI PAD 4 PLUS",
639
+ "type": "tablet"
640
+ }
641
+ },
642
+ {
643
+ "desc": "Xiaomi Redmi 4A",
644
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; Redmi 4A Build/MMB29M; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
645
+ "expect": {
646
+ "vendor": "Xiaomi",
647
+ "model": "Redmi 4A",
648
+ "type": "mobile"
649
+ }
650
+ },
651
+ {
652
+ "desc": "Xiaomi Redmi K30 5G",
653
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi K30 5G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
654
+ "expect": {
655
+ "vendor": "Xiaomi",
656
+ "model": "Redmi K30 5G",
657
+ "type": "mobile"
658
+ }
659
+ },
660
+ {
661
+ "desc": "Xiaomi Redmi K30 Pro",
662
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi K30 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
663
+ "expect": {
664
+ "vendor": "Xiaomi",
665
+ "model": "Redmi K30 Pro",
666
+ "type": "mobile"
667
+ }
668
+ },
669
+ {
670
+ "desc": "Xiaomi Redmi Note 3",
671
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 3 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Mobile Safari/537.36",
672
+ "expect": {
673
+ "vendor": "Xiaomi",
674
+ "model": "Redmi Note 3",
675
+ "type": "mobile"
676
+ }
677
+ },
678
+ {
679
+ "desc": "Xiaomi Redmi Note 9 Pro Max",
680
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi Note 9 Pro Max) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36",
681
+ "expect": {
682
+ "vendor": "Xiaomi",
683
+ "model": "Redmi Note 9 Pro Max",
684
+ "type": "mobile"
685
+ }
686
+ },
489
687
  {
490
688
  "desc": "PlayStation 4",
491
689
  "ua": "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)",
@@ -504,6 +702,15 @@
504
702
  "type": "mobile"
505
703
  }
506
704
  },
705
+ {
706
+ "desc": "Samsung Galaxy C9 Pro",
707
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; SAMSUNG SM-C900F Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.2 Chrome/44.0.2403.133 Mobile Safari/537.36",
708
+ "expect": {
709
+ "vendor": "Samsung",
710
+ "model": "SM-C900F",
711
+ "type": "mobile"
712
+ }
713
+ },
507
714
  {
508
715
  "desc": "Samsung Galaxy S5",
509
716
  "ua": "Mozilla/5.0 (Linux; Android 5.0; SM-G900F Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36",
@@ -554,7 +761,8 @@
554
761
  "ua": "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.84 Safari/537.36 CrKey/1.22.79313",
555
762
  "expect": {
556
763
  "vendor": "Google",
557
- "model": "Chromecast"
764
+ "model": "Chromecast",
765
+ "type": "smarttv"
558
766
  }
559
767
  },
560
768
  {
@@ -593,6 +801,15 @@
593
801
  "type": "mobile"
594
802
  }
595
803
  },
804
+ {
805
+ "desc": "Google Pixel XL",
806
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
807
+ "expect": {
808
+ "vendor": "Google",
809
+ "model": "Pixel XL",
810
+ "type": "mobile"
811
+ }
812
+ },
596
813
  {
597
814
  "desc": "Google Pixel 2",
598
815
  "ua": "Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 Build/OPM1.171019.013) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Safari/537.36",
@@ -611,6 +828,15 @@
611
828
  "type": "mobile"
612
829
  }
613
830
  },
831
+ {
832
+ "desc": "Google Pixel 2 XL",
833
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 2 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
834
+ "expect": {
835
+ "vendor": "Google",
836
+ "model": "Pixel 2 XL",
837
+ "type": "mobile"
838
+ }
839
+ },
614
840
  {
615
841
  "desc": "Google Pixel 3",
616
842
  "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
@@ -629,14 +855,91 @@
629
855
  "type": "mobile"
630
856
  }
631
857
  },
858
+ {
859
+ "desc": "Google Pixel 3 XL",
860
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
861
+ "expect": {
862
+ "vendor": "Google",
863
+ "model": "Pixel 3 XL",
864
+ "type": "mobile"
865
+ }
866
+ },
867
+ {
868
+ "desc": "Google Pixel 3a",
869
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 3a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
870
+ "expect": {
871
+ "vendor": "Google",
872
+ "model": "Pixel 3a",
873
+ "type": "mobile"
874
+ }
875
+ },
876
+ {
877
+ "desc": "Google Pixel 3a XL",
878
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 3a XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
879
+ "expect": {
880
+ "vendor": "Google",
881
+ "model": "Pixel 3a XL",
882
+ "type": "mobile"
883
+ }
884
+ },
885
+ {
886
+ "desc": "Google Pixel 4",
887
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
888
+ "expect": {
889
+ "vendor": "Google",
890
+ "model": "Pixel 4",
891
+ "type": "mobile"
892
+ }
893
+ },
894
+ {
895
+ "desc": "Google Pixel 4 XL",
896
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
897
+ "expect": {
898
+ "vendor": "Google",
899
+ "model": "Pixel 4 XL",
900
+ "type": "mobile"
901
+ }
902
+ },
632
903
  {
633
904
  "desc": "Generic Android Device",
634
- "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; i980 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
905
+ "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; i980 Build/MRA58K)",
635
906
  "expect": {
636
907
  "vendor": "Generic",
637
908
  "model": "Android 6.0.1"
638
909
  }
639
910
  },
911
+ {
912
+ "desc": "Android Phone Unidentified Vendor (docomo F-04K)",
913
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; F-04K Build/V15R060P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36",
914
+ "expect": {
915
+ "model": "F-04K",
916
+ "type": "mobile"
917
+ }
918
+ },
919
+ {
920
+ "desc": "Android Phone Unidentified Vendor (docomo SH-02M)",
921
+ "ua": "Mozilla/5.0 (Linux; Android 9; SH-02M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
922
+ "expect": {
923
+ "model": "SH-02M",
924
+ "type": "mobile"
925
+ }
926
+ },
927
+ {
928
+ "desc": "Android Tablet Unidentified Vendor (docomo F-02K)",
929
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; F-02K Build/V44R059G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36",
930
+ "expect": {
931
+ "model": "F-02K",
932
+ "type": "tablet"
933
+ }
934
+ },
935
+ {
936
+ "desc": "Android Tablet Unidentified Vendor (docomo d-02K)",
937
+ "ua": "Mozilla/5.0 (Linux; Android 9; d-02K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Safari/537.36",
938
+ "expect": {
939
+ "model": "d-02K",
940
+ "type": "tablet"
941
+ }
942
+ },
640
943
  {
641
944
  "desc": "LG VK Series Tablet",
642
945
  "ua": "Mozilla/5.0 (Linux; Android 5.0.2; VK700 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.84 Safari/537.36",
@@ -898,6 +1201,15 @@
898
1201
  "type": "tablet"
899
1202
  }
900
1203
  },
1204
+ {
1205
+ "desc": "Amazon Kindle Fire Tablet",
1206
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.66 like Chrome/39.0.2171.93 Safari/537.36",
1207
+ "expect": {
1208
+ "vendor": "Amazon",
1209
+ "model": "KFSAWI",
1210
+ "type": "tablet"
1211
+ }
1212
+ },
901
1213
  {
902
1214
  "desc": "Amazon Fire TV",
903
1215
  "ua": "Mozilla/5.0 (Linux; Android 4.2.2; AFTB Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.173 Mobile Safari/537.22",
@@ -917,21 +1229,102 @@
917
1229
  }
918
1230
  },
919
1231
  {
920
- "desc": "Redmi Note 3",
921
- "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 3 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Mobile Safari/537.36",
1232
+ "desc": "HUAWEI MediaPad M3 Lite 10",
1233
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; BAH-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36",
922
1234
  "expect": {
923
- "vendor": "Xiaomi",
924
- "model": "Redmi Note 3",
1235
+ "vendor": "Huawei",
1236
+ "model": "BAH-L09",
1237
+ "type": "tablet"
1238
+ }
1239
+ },
1240
+ {
1241
+ "desc": "Huawei P30 Pro",
1242
+ "ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
1243
+ "expect": {
1244
+ "vendor": "Huawei",
1245
+ "model": "VOG-L29",
925
1246
  "type": "mobile"
926
1247
  }
927
1248
  },
928
1249
  {
929
- "desc": "MI PAD 2",
930
- "ua": "Mozilla/5.0 (Linux; Android 5.1; MI PAD 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Safari/537.36 [FB_IAB/FB4A;FBAV/137.0.0.24.91;]",
1250
+ "desc": "Huawei P20 Lite",
1251
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; ANE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
931
1252
  "expect": {
932
- "vendor": "Xiaomi",
933
- "model": "MI PAD 2",
934
- "type": "tablet"
1253
+ "vendor": "Huawei",
1254
+ "model": "ANE-LX1",
1255
+ "type": "mobile"
935
1256
  }
1257
+ },
1258
+ {
1259
+ "desc": "Huawei P20",
1260
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; EML-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36",
1261
+ "expect": {
1262
+ "vendor": "Huawei",
1263
+ "model": "EML-L29",
1264
+ "type": "mobile"
1265
+ }
1266
+ },
1267
+ {
1268
+ "desc": "Huawei P20 Pro",
1269
+ "ua": "Mozilla/5.0 (Linux; Android 9; CLT-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
1270
+ "expect": {
1271
+ "vendor": "Huawei",
1272
+ "model": "CLT-L29",
1273
+ "type": "mobile"
1274
+ }
1275
+ },
1276
+ {
1277
+ "desc": "Huawei Mate 20 Pro",
1278
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
1279
+ "expect": {
1280
+ "vendor": "Huawei",
1281
+ "model": "LYA-L09",
1282
+ "type": "mobile"
1283
+ }
1284
+ },
1285
+ {
1286
+ "desc": "Huawei Mate 20 Pro",
1287
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
1288
+ "expect": {
1289
+ "vendor": "Huawei",
1290
+ "model": "LYA-AL00",
1291
+ "type": "mobile"
1292
+ }
1293
+ },
1294
+ {
1295
+ "desc": "Huawei Mate 20 Pro",
1296
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
1297
+ "expect": {
1298
+ "vendor": "Huawei",
1299
+ "model": "LYA-AL10",
1300
+ "type": "mobile"
1301
+ }
1302
+ },
1303
+ {
1304
+ "desc": "Huawei Mate 20 Pro",
1305
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L0C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
1306
+ "expect": {
1307
+ "vendor": "Huawei",
1308
+ "model": "LYA-L0C",
1309
+ "type": "mobile"
1310
+ }
1311
+ },
1312
+ {
1313
+ "desc": "Huawei Mate 20 Pro",
1314
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
1315
+ "expect": {
1316
+ "vendor": "Huawei",
1317
+ "model": "LYA-L29",
1318
+ "type": "mobile"
1319
+ }
1320
+ },
1321
+ {
1322
+ "desc": "Huawei Mate 20 Pro",
1323
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-TL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
1324
+ "expect": {
1325
+ "vendor": "Huawei",
1326
+ "model": "LYA-TL00",
1327
+ "type": "mobile"
936
1328
  }
1329
+ }
937
1330
  ]
@@ -1,4 +1,13 @@
1
1
  [
2
+ {
3
+ "desc" : "Blink",
4
+ "ua" : "Mozilla/5.0 (Linux; Android 7.0; SM-G920I Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) OculusBrowser/3.4.9 SamsungBrowser/4.0 Chrome/57.0.2987.146 Mobile VR Safari/537.36",
5
+ "expect" :
6
+ {
7
+ "name" : "Blink",
8
+ "version" : "57.0.2987.146"
9
+ }
10
+ },
2
11
  {
3
12
  "desc" : "EdgeHTML",
4
13
  "ua" : "Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 Edge/12.0",
@@ -17,6 +26,15 @@
17
26
  "version" : "2.0b9pre"
18
27
  }
19
28
  },
29
+ {
30
+ "desc" : "Goanna",
31
+ "ua" : "Mozilla/5.0 (Windows NT 5.1; rv:38.9) Gecko/20100101 Goanna/2.2 Firefox/38.9 PaleMoon/26.5.0",
32
+ "expect" :
33
+ {
34
+ "name" : "Goanna",
35
+ "version" : "2.2"
36
+ }
37
+ },
20
38
  {
21
39
  "desc" : "KHTML",
22
40
  "ua" : "Mozilla/5.0 (compatible; Konqueror/4.5; FreeBSD) KHTML/4.5.4 (like Gecko)",
@@ -70,5 +88,14 @@
70
88
  "name" : "WebKit",
71
89
  "version" : "533.19.4"
72
90
  }
91
+ },
92
+ {
93
+ "desc" : "WebKit",
94
+ "ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/27.0.1453.110 Safari/537.36",
95
+ "expect" :
96
+ {
97
+ "name" : "WebKit",
98
+ "version" : "537.36"
99
+ }
73
100
  }
74
101
  ]
package/test/os-test.json CHANGED
@@ -170,6 +170,15 @@
170
170
  "version" : "2.2.2"
171
171
  }
172
172
  },
173
+ {
174
+ "desc" : "Sailfish",
175
+ "ua" : "Mozilla/5.0 (Linux; U; Sailfish 3.0; Mobile; rv:45.0) Gecko/45.0 Firefox/45.0 SailfishBrowser/1.0",
176
+ "expect" :
177
+ {
178
+ "name" : "Sailfish",
179
+ "version" : "3.0"
180
+ }
181
+ },
173
182
  {
174
183
  "desc" : "WebOS",
175
184
  "ua" : "",
@@ -242,6 +251,15 @@
242
251
  "version" : "undefined"
243
252
  }
244
253
  },
254
+ {
255
+ "desc" : "Google Chromecast",
256
+ "ua" : "Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.81 Safari/537.36 CrKey/1.42.183786",
257
+ "expect" :
258
+ {
259
+ "name" : "Chromecast",
260
+ "version" : "1.42.183786"
261
+ }
262
+ },
245
263
  {
246
264
  "desc" : "Nintendo",
247
265
  "ua" : "",
@@ -539,6 +557,15 @@
539
557
  "version" : "R1"
540
558
  }
541
559
  },
560
+ {
561
+ "desc" : "KaiOS",
562
+ "ua" : "Mozilla/5.0 (Mobile; Nokia_8110_4G; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5",
563
+ "expect" :
564
+ {
565
+ "name" : "KAIOS",
566
+ "version" : "2.5"
567
+ }
568
+ },
542
569
  {
543
570
  "desc" : "AIX",
544
571
  "ua" : "",