ua-parser-js 0.7.11 → 0.7.12
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.
- package/bower.json +1 -27
- package/dist/ua-parser.min.js +2 -2
- package/dist/ua-parser.pack.js +2 -2
- package/package.js +1 -1
- package/package.json +2 -1
- package/readme.md +46 -31
- package/src/ua-parser.js +55 -35
- package/test/browser-test.json +60 -0
- package/test/device-test.json +120 -0
- package/test/mediaplayer-test.json +582 -0
- package/test/os-test.json +27 -9
- package/test/test.js +26 -9
- package/ua-parser-js.jquery.json +1 -1
- package/component.json +0 -24
- package/test/browser&mediaplayer-test.json +0 -1232
@@ -0,0 +1,582 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"desc" : "Coremedia",
|
4
|
+
"ua" : "Apple Mac OS X v10.6.4 CoreMedia v1.0.0.10F2108",
|
5
|
+
"expect" :
|
6
|
+
{
|
7
|
+
"name" : "CoreMedia",
|
8
|
+
"version" : "1.0.0.10F2108",
|
9
|
+
"major" : "1"
|
10
|
+
}
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"desc" : "AppleCoreMedia",
|
14
|
+
"ua" : "AppleCoreMedia/1.0.0.10A403 (iPad; U; CPU OS 6_0 like Mac OS X; it_it)",
|
15
|
+
"expect" :
|
16
|
+
{
|
17
|
+
"name" : "AppleCoreMedia",
|
18
|
+
"version" : "1.0.0.10A403",
|
19
|
+
"major" : "1"
|
20
|
+
}
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"desc" : "AppleTv",
|
24
|
+
"ua" : "AppleTV/3.0.2 (Macintosh; Intel Mac OS X 10.4.7) AppleWebKit/528.18",
|
25
|
+
"expect" :
|
26
|
+
{
|
27
|
+
"name" : "WebKit",
|
28
|
+
"version" : "528.18",
|
29
|
+
"major" : "528"
|
30
|
+
}
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"desc" : "Aqualung",
|
34
|
+
"ua" : "Aqualung/R-1114",
|
35
|
+
"expect" :
|
36
|
+
{
|
37
|
+
"name" : "Aqualung",
|
38
|
+
"version" : "R-1114",
|
39
|
+
"major" : "undefined"
|
40
|
+
}
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"desc" : "Ares",
|
44
|
+
"ua" : "Ares 2.2.4.3048",
|
45
|
+
"expect" :
|
46
|
+
{
|
47
|
+
"name" : "Ares",
|
48
|
+
"version" : "2.2.4.3048",
|
49
|
+
"major" : "2"
|
50
|
+
}
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"desc" : "Audacious",
|
54
|
+
"ua" : "Audacious/3.2.2 neon/0.29.3",
|
55
|
+
"expect" :
|
56
|
+
{
|
57
|
+
"name" : "Audacious",
|
58
|
+
"version" : "3.2.2",
|
59
|
+
"major" : "3"
|
60
|
+
}
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"desc" : "AudiMusicStream",
|
64
|
+
"ua" : "AudiMusicStream/3020.130826151911",
|
65
|
+
"expect" :
|
66
|
+
{
|
67
|
+
"name" : "AudiMusicStream",
|
68
|
+
"version" : "3020.130826151911",
|
69
|
+
"major" : "3020"
|
70
|
+
}
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"desc" : "BASS",
|
74
|
+
"ua" : "BASS/2.4",
|
75
|
+
"expect" :
|
76
|
+
{
|
77
|
+
"name" : "BASS",
|
78
|
+
"version" : "2.4",
|
79
|
+
"major" : "2"
|
80
|
+
}
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"desc" : "BSPlayer",
|
84
|
+
"ua" : "BSPlayer/2",
|
85
|
+
"expect" :
|
86
|
+
{
|
87
|
+
"name" : "BSPlayer",
|
88
|
+
"version" : "2",
|
89
|
+
"major" : "2"
|
90
|
+
}
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"desc" : "Core",
|
94
|
+
"ua" : "CORE/6.506.4.1",
|
95
|
+
"expect" :
|
96
|
+
{
|
97
|
+
"name" : "CORE",
|
98
|
+
"version" : "6.506.4.1",
|
99
|
+
"major" : "6"
|
100
|
+
}
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"desc" : "Clementine",
|
104
|
+
"ua" : "Clementine 1.1",
|
105
|
+
"expect" :
|
106
|
+
{
|
107
|
+
"name" : "Clementine",
|
108
|
+
"version" : "1.1",
|
109
|
+
"major" : "1"
|
110
|
+
}
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"desc" : "Dalvik",
|
114
|
+
"ua" : "Dalvik/1.2.0 (Linux; U; Android 2.2.1; GT-S5830L Build/FROYO)",
|
115
|
+
"expect" :
|
116
|
+
{
|
117
|
+
"name" : "Dalvik",
|
118
|
+
"version" : "1.2.0",
|
119
|
+
"major" : "1"
|
120
|
+
}
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"desc" : "NexPlayer",
|
124
|
+
"ua" : "E97510d/ Player/NexPlayer 4.0",
|
125
|
+
"expect" :
|
126
|
+
{
|
127
|
+
"name" : "NexPlayer",
|
128
|
+
"version" : "4.0",
|
129
|
+
"major" : "4"
|
130
|
+
}
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"desc" : "FLRP",
|
134
|
+
"ua" : "FLRP/2.5 CFNetwork/609.1.4 Darwin/13.0.0",
|
135
|
+
"expect" :
|
136
|
+
{
|
137
|
+
"name" : "Flip Player",
|
138
|
+
"version" : "2.5",
|
139
|
+
"major" : "2"
|
140
|
+
}
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"desc" : "FStream",
|
144
|
+
"ua" : "FStream",
|
145
|
+
"expect" :
|
146
|
+
{
|
147
|
+
"name" : "FStream",
|
148
|
+
"version" : "undefined",
|
149
|
+
"major" : "undefined"
|
150
|
+
}
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"desc" : "GStreamer",
|
154
|
+
"ua" : "GStreamer souphttpsrc (compatible; LG NetCast.TV-2012) libsoup/2.34.2",
|
155
|
+
"expect" :
|
156
|
+
{
|
157
|
+
"name" : "GStreamer",
|
158
|
+
"version" : "2.34.2",
|
159
|
+
"major" : "2"
|
160
|
+
}
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"desc" : "GnomeMplayer",
|
164
|
+
"ua" : "GnomeMplayer/1.0.2",
|
165
|
+
"expect" :
|
166
|
+
{
|
167
|
+
"name" : "GnomeMplayer",
|
168
|
+
"version" : "1.0.2",
|
169
|
+
"major" : "1"
|
170
|
+
}
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"desc" : "HTC Streaming Player",
|
174
|
+
"ua" : "HTC Streaming Player htc_asia_wwe / 1.0 / endeavoru / 4.1.1",
|
175
|
+
"expect" :
|
176
|
+
{
|
177
|
+
"name" : "HTC Streaming Player",
|
178
|
+
"version" : "1.0",
|
179
|
+
"major" : "1"
|
180
|
+
}
|
181
|
+
},
|
182
|
+
{
|
183
|
+
"desc" : "HTC One S",
|
184
|
+
"ua" : "HTC_One_S/3.16.111.10",
|
185
|
+
"expect" :
|
186
|
+
{
|
187
|
+
"name" : "HTC One S",
|
188
|
+
"version" : "3.16.111.10",
|
189
|
+
"major" : "3"
|
190
|
+
}
|
191
|
+
},
|
192
|
+
{
|
193
|
+
"desc" : "Java",
|
194
|
+
"ua" : "Java/1.4.1_04",
|
195
|
+
"expect" :
|
196
|
+
{
|
197
|
+
"name" : "Java",
|
198
|
+
"version" : "1.4.1_04",
|
199
|
+
"major" : "1"
|
200
|
+
}
|
201
|
+
},
|
202
|
+
{
|
203
|
+
"desc" : "LG Player",
|
204
|
+
"ua" : "LG Player 1.0; Android",
|
205
|
+
"expect" :
|
206
|
+
{
|
207
|
+
"name" : "LG Player",
|
208
|
+
"version" : "1.0",
|
209
|
+
"major" : "1"
|
210
|
+
}
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"desc" : "NexPlayer",
|
214
|
+
"ua" : "LG-P700/V10k-DEC-12-2012 Player/NexPlayer 4.0 for Android",
|
215
|
+
"expect" :
|
216
|
+
{
|
217
|
+
"name" : "NexPlayer",
|
218
|
+
"version" : "4.0",
|
219
|
+
"major" : "4"
|
220
|
+
}
|
221
|
+
},
|
222
|
+
{
|
223
|
+
"desc" : "LG Player",
|
224
|
+
"ua" : "LGE400/V10b Player/LG Player 1.0",
|
225
|
+
"expect" :
|
226
|
+
{
|
227
|
+
"name" : "LG Player",
|
228
|
+
"version" : "1.0",
|
229
|
+
"major" : "1"
|
230
|
+
}
|
231
|
+
},
|
232
|
+
{
|
233
|
+
"desc" : "Lavf",
|
234
|
+
"ua" : "Lavf52.111.0",
|
235
|
+
"expect" :
|
236
|
+
{
|
237
|
+
"name" : "Lavf",
|
238
|
+
"version" : "52.111.0",
|
239
|
+
"major" : "52"
|
240
|
+
}
|
241
|
+
},
|
242
|
+
{
|
243
|
+
"desc" : "Lyssna",
|
244
|
+
"ua" : "Lyssna/46 CFNetwork/609.1.4 Darwin/13.0.0",
|
245
|
+
"expect" :
|
246
|
+
{
|
247
|
+
"name" : "Lyssna",
|
248
|
+
"version" : "46",
|
249
|
+
"major" : "46"
|
250
|
+
}
|
251
|
+
},
|
252
|
+
{
|
253
|
+
"desc" : "MPlayer",
|
254
|
+
"ua" : "MPlayer 1.1-4.2.1",
|
255
|
+
"expect" :
|
256
|
+
{
|
257
|
+
"name" : "MPlayer",
|
258
|
+
"version" : "1.1-4.2.1",
|
259
|
+
"major" : ""
|
260
|
+
}
|
261
|
+
},
|
262
|
+
{
|
263
|
+
"desc" : "MPlayer SVN",
|
264
|
+
"ua" : "MPlayer SVN-r33713-4.6.1",
|
265
|
+
"expect" :
|
266
|
+
{
|
267
|
+
"name" : "MPlayer",
|
268
|
+
"version" : "r33713-4.6.1",
|
269
|
+
"major" : "undefined"
|
270
|
+
}
|
271
|
+
},
|
272
|
+
{
|
273
|
+
"desc" : "MPlayer ubuntu",
|
274
|
+
"ua" : "MPlayer svn r34540 (Ubuntu), built with gcc-4.6",
|
275
|
+
"expect" :
|
276
|
+
{
|
277
|
+
"name" : "MPlayer",
|
278
|
+
"version" : "r34540",
|
279
|
+
"major" : "undefined"
|
280
|
+
}
|
281
|
+
},
|
282
|
+
{
|
283
|
+
"desc" : "MoC",
|
284
|
+
"ua" : "Music On Console/2.5.0-beta1",
|
285
|
+
"expect" :
|
286
|
+
{
|
287
|
+
"name" : "Music On Console",
|
288
|
+
"version" : "2.5.0-beta1",
|
289
|
+
"major" : "2"
|
290
|
+
}
|
291
|
+
},
|
292
|
+
{
|
293
|
+
"desc" : "MPD",
|
294
|
+
"ua" : "Music Player Daemon 0.17.4",
|
295
|
+
"expect" :
|
296
|
+
{
|
297
|
+
"name" : "Music Player Daemon",
|
298
|
+
"version" : "0.17.4",
|
299
|
+
"major" : "0"
|
300
|
+
}
|
301
|
+
},
|
302
|
+
{
|
303
|
+
"desc" : "NSPlayer",
|
304
|
+
"ua" : "NSPlayer/11.0.5358.4827 WMFSDK/11.0",
|
305
|
+
"expect" :
|
306
|
+
{
|
307
|
+
"name" : "NSPlayer",
|
308
|
+
"version" : "11.0.5358.4827",
|
309
|
+
"major" : "11"
|
310
|
+
}
|
311
|
+
},
|
312
|
+
{
|
313
|
+
"desc" : "Nero Home",
|
314
|
+
"ua" : "Nero Home/1.5.3.0 (compatible; Nero AG; Nero Home 1.5.3.0)",
|
315
|
+
"expect" :
|
316
|
+
{
|
317
|
+
"name" : "Nero Home",
|
318
|
+
"version" : "1.5.3.0",
|
319
|
+
"major" : "1"
|
320
|
+
}
|
321
|
+
},
|
322
|
+
{
|
323
|
+
"desc" : "NexPlayer",
|
324
|
+
"ua" : "NexPlayer 4.0 for Android( stagefright alternative )",
|
325
|
+
"expect" :
|
326
|
+
{
|
327
|
+
"name" : "NexPlayer",
|
328
|
+
"version" : "4.0",
|
329
|
+
"major" : "4"
|
330
|
+
}
|
331
|
+
},
|
332
|
+
{
|
333
|
+
"desc" : "Nokia3xx",
|
334
|
+
"ua" : "Nokia303/14.87 CLDC-1.1",
|
335
|
+
"expect" :
|
336
|
+
{
|
337
|
+
"name" : "Nokia303",
|
338
|
+
"version" : "14.87",
|
339
|
+
"major" : "14"
|
340
|
+
}
|
341
|
+
},
|
342
|
+
{
|
343
|
+
"desc" : "MPlayer SVN Sherpya",
|
344
|
+
"ua" : "MPlayer Sherpya-SVN-r33124-4.2.5",
|
345
|
+
"expect" :
|
346
|
+
{
|
347
|
+
"name" : "MPlayer",
|
348
|
+
"version" : "r33124-4.2.5",
|
349
|
+
"major" : "undefined"
|
350
|
+
}
|
351
|
+
},
|
352
|
+
{
|
353
|
+
"desc" : "Philips Songbird",
|
354
|
+
"ua" : "NotMoz/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.2.3) Gecko/20101207 Philips-Songbird/5.4.1980 Songbird/1.9.4 (20110302030555)",
|
355
|
+
"expect" :
|
356
|
+
{
|
357
|
+
"name" : "Songbird",
|
358
|
+
"version" : "1.9.4",
|
359
|
+
"major" : "1"
|
360
|
+
}
|
361
|
+
},
|
362
|
+
{
|
363
|
+
"desc" : "Ossproxy",
|
364
|
+
"ua" : "OSSProxy 1.3.336.320 (Build 336.320 Win32 en-us)(Aug 16 2013 17:38:43)",
|
365
|
+
"expect" :
|
366
|
+
{
|
367
|
+
"name" : "OSSProxy",
|
368
|
+
"version" : "1.3.336.320",
|
369
|
+
"major" : "1"
|
370
|
+
}
|
371
|
+
},
|
372
|
+
{
|
373
|
+
"desc" : "Winamp3",
|
374
|
+
"ua" : "Nullsoft Winamp3 version 3.0 (compatible)",
|
375
|
+
"expect" :
|
376
|
+
{
|
377
|
+
"name" : "Winamp",
|
378
|
+
"version" : "3.0",
|
379
|
+
"major" : "3"
|
380
|
+
}
|
381
|
+
},
|
382
|
+
{
|
383
|
+
"desc" : "PSP",
|
384
|
+
"ua" : "PSP-InternetRadioPlayer/1.00",
|
385
|
+
"expect" :
|
386
|
+
{
|
387
|
+
"name" : "PSP-InternetRadioPlayer",
|
388
|
+
"version" : "1.00",
|
389
|
+
"major" : "1"
|
390
|
+
}
|
391
|
+
},
|
392
|
+
{
|
393
|
+
"desc" : "urllib",
|
394
|
+
"ua" : "Python-urllib/2.7",
|
395
|
+
"expect" :
|
396
|
+
{
|
397
|
+
"name" : "Python-urllib",
|
398
|
+
"version" : "2.7",
|
399
|
+
"major" : "2"
|
400
|
+
}
|
401
|
+
},
|
402
|
+
{
|
403
|
+
"desc" : "QuickTime",
|
404
|
+
"ua" : "QuickTime/7.5.6 (qtver=7.5.6;cpu=IA32;os=Mac 10.5.8)",
|
405
|
+
"expect" :
|
406
|
+
{
|
407
|
+
"name" : "QuickTime",
|
408
|
+
"version" : "7.5.6",
|
409
|
+
"major" : "7"
|
410
|
+
}
|
411
|
+
},
|
412
|
+
{
|
413
|
+
"desc" : "RMA",
|
414
|
+
"ua" : "RMA/1.0 (compatible; RealMedia)",
|
415
|
+
"expect" :
|
416
|
+
{
|
417
|
+
"name" : "RMA",
|
418
|
+
"version" : "1.0",
|
419
|
+
"major" : "1"
|
420
|
+
}
|
421
|
+
},
|
422
|
+
{
|
423
|
+
"desc" : "RadioApp",
|
424
|
+
"ua" : "RadioApp/1.0 CFNetwork/609.1.4 Darwin/11.4.2",
|
425
|
+
"expect" :
|
426
|
+
{
|
427
|
+
"name" : "RadioApp",
|
428
|
+
"version" : "1.0",
|
429
|
+
"major" : "1"
|
430
|
+
}
|
431
|
+
},
|
432
|
+
{
|
433
|
+
"desc" : "RadioClientApplication",
|
434
|
+
"ua" : "RadioClientApplication/20 CFNetwork/609.1.4 Darwin/13.0.0",
|
435
|
+
"expect" :
|
436
|
+
{
|
437
|
+
"name" : "RadioClientApplication",
|
438
|
+
"version" : "20",
|
439
|
+
"major" : "undefined"
|
440
|
+
}
|
441
|
+
},
|
442
|
+
{
|
443
|
+
"desc" : "stagefright",
|
444
|
+
"ua" : "Samsung GT-I9070 stagefright/1.1 (Linux;Android 2.3.6)",
|
445
|
+
"expect" :
|
446
|
+
{
|
447
|
+
"name" : "stagefright",
|
448
|
+
"version" : "1.1",
|
449
|
+
"major" : "1"
|
450
|
+
}
|
451
|
+
},
|
452
|
+
{
|
453
|
+
"desc" : "Soundtap",
|
454
|
+
"ua" : "Soundtap/1.2.4 CFNetwork/672.0.2 Darwin/14.0.0",
|
455
|
+
"expect" :
|
456
|
+
{
|
457
|
+
"name" : "Soundtap",
|
458
|
+
"version" : "1.2.4",
|
459
|
+
"major" : "1"
|
460
|
+
}
|
461
|
+
},
|
462
|
+
{
|
463
|
+
"desc" : "Streamium",
|
464
|
+
"ua" : "Streamium/1.0",
|
465
|
+
"expect" :
|
466
|
+
{
|
467
|
+
"name" : "Streamium",
|
468
|
+
"version" : "1.0",
|
469
|
+
"major" : "1"
|
470
|
+
}
|
471
|
+
},
|
472
|
+
{
|
473
|
+
"desc" : "Totem",
|
474
|
+
"ua" : "Totem/3.0.1",
|
475
|
+
"expect" :
|
476
|
+
{
|
477
|
+
"name" : "Totem",
|
478
|
+
"version" : "3.0.1",
|
479
|
+
"major" : "3"
|
480
|
+
}
|
481
|
+
},
|
482
|
+
{
|
483
|
+
"desc" : "VLC",
|
484
|
+
"ua" : "VLC media player - version 0.8.6c Janus - (c) 1996-2007 the VideoLAN team",
|
485
|
+
"expect" :
|
486
|
+
{
|
487
|
+
"name" : "VLC",
|
488
|
+
"version" : "0.8.6c",
|
489
|
+
"major" : "0"
|
490
|
+
}
|
491
|
+
},
|
492
|
+
{
|
493
|
+
"desc" : "VLC",
|
494
|
+
"ua" : "VLC/2.0.0 LibVLC/2.0.0",
|
495
|
+
"expect" :
|
496
|
+
{
|
497
|
+
"name" : "VLC",
|
498
|
+
"version" : "2.0.0",
|
499
|
+
"major" : "2"
|
500
|
+
}
|
501
|
+
},
|
502
|
+
{
|
503
|
+
"desc" : "Videos",
|
504
|
+
"ua" : "Videos/3.8.2",
|
505
|
+
"expect" :
|
506
|
+
{
|
507
|
+
"name" : "Video",
|
508
|
+
"version" : "3.8.2",
|
509
|
+
"major" : "3"
|
510
|
+
}
|
511
|
+
},
|
512
|
+
{
|
513
|
+
"desc" : "Wget",
|
514
|
+
"ua" : "Wget/1.12 (darwin10.7.0)",
|
515
|
+
"expect" :
|
516
|
+
{
|
517
|
+
"name" : "Wget",
|
518
|
+
"version" : "1.12",
|
519
|
+
"major" : "1"
|
520
|
+
}
|
521
|
+
},
|
522
|
+
{
|
523
|
+
"desc" : "Winamp",
|
524
|
+
"ua" : "Winamp 2.81",
|
525
|
+
"expect" :
|
526
|
+
{
|
527
|
+
"name" : "Winamp",
|
528
|
+
"version" : "2.81",
|
529
|
+
"major" : "2"
|
530
|
+
}
|
531
|
+
},
|
532
|
+
{
|
533
|
+
"desc" : "Winamp",
|
534
|
+
"ua" : "WinampMPEG/2.00",
|
535
|
+
"expect" :
|
536
|
+
{
|
537
|
+
"name" : "Winamp",
|
538
|
+
"version" : "2.00",
|
539
|
+
"major" : "2"
|
540
|
+
}
|
541
|
+
},
|
542
|
+
{
|
543
|
+
"desc" : "Windows Media Player",
|
544
|
+
"ua" : "Windows-Media-Player/10.00.00.4019",
|
545
|
+
"expect" :
|
546
|
+
{
|
547
|
+
"name" : "Windows Media Player",
|
548
|
+
"version" : "10.00.00.4019",
|
549
|
+
"major" : "10"
|
550
|
+
}
|
551
|
+
},
|
552
|
+
{
|
553
|
+
"desc" : "XBMC",
|
554
|
+
"ua" : "XBMC/12.0 Git:20130127-fb595f2 (Windows NT 6.1;WOW64;Win64;x64; http://www.xbmc.org)",
|
555
|
+
"expect" :
|
556
|
+
{
|
557
|
+
"name" : "XBMC",
|
558
|
+
"version" : "12.0",
|
559
|
+
"major" : "12"
|
560
|
+
}
|
561
|
+
},
|
562
|
+
{
|
563
|
+
"desc" : "rad.io",
|
564
|
+
"ua" : "rad.io 1.18.1 rv:593 (iPhone 4S; iPhone OS 7.0.4; it_IT)",
|
565
|
+
"expect" :
|
566
|
+
{
|
567
|
+
"name" : "rad.io",
|
568
|
+
"version" : "1.18.1",
|
569
|
+
"major" : "1"
|
570
|
+
}
|
571
|
+
},
|
572
|
+
{
|
573
|
+
"desc" : "BE-Test",
|
574
|
+
"ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)",
|
575
|
+
"expect" :
|
576
|
+
{
|
577
|
+
"name" : "BE Test",
|
578
|
+
"version" : "1.0",
|
579
|
+
"major" : "1"
|
580
|
+
}
|
581
|
+
}
|
582
|
+
]
|
package/test/os-test.json
CHANGED
@@ -107,6 +107,15 @@
|
|
107
107
|
"version" : "6.1"
|
108
108
|
}
|
109
109
|
},
|
110
|
+
{
|
111
|
+
"desc" : "Windows Phone",
|
112
|
+
"ua" : "Opera/9.80 (Windows Phone; Opera Mini/7.6.8/35.7518; U; ru) Presto/2.8.119 Version/11.10",
|
113
|
+
"expect" :
|
114
|
+
{
|
115
|
+
"name" : "Windows Phone",
|
116
|
+
"version" : "undefined"
|
117
|
+
}
|
118
|
+
},
|
110
119
|
{
|
111
120
|
"desc" : "Windows Phone OS",
|
112
121
|
"ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; DELL; Venue Pro)",
|
@@ -145,11 +154,11 @@
|
|
145
154
|
},
|
146
155
|
{
|
147
156
|
"desc" : "Tizen",
|
148
|
-
"ua" : "",
|
157
|
+
"ua" : "Mozilla/5.0 (Linux; Tizen 2.3; SAMSUNG SM-Z130H) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.3 Mobile Safari/537.3",
|
149
158
|
"expect" :
|
150
159
|
{
|
151
|
-
"name" : "",
|
152
|
-
"version" : ""
|
160
|
+
"name" : "Tizen",
|
161
|
+
"version" : "2.3"
|
153
162
|
}
|
154
163
|
},
|
155
164
|
{
|
@@ -280,11 +289,20 @@
|
|
280
289
|
},
|
281
290
|
{
|
282
291
|
"desc" : "Ubuntu",
|
283
|
-
"ua" : "",
|
292
|
+
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.22+ (KHTML, like Gecko) Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/535.22+ Ubuntu/12.04 (3.4.1-0ubuntu1) Epiphany/3.4.1",
|
284
293
|
"expect" :
|
285
294
|
{
|
286
|
-
"name" : "",
|
287
|
-
"version" : ""
|
295
|
+
"name" : "Ubuntu",
|
296
|
+
"version" : "12.04"
|
297
|
+
}
|
298
|
+
},
|
299
|
+
{
|
300
|
+
"desc" : "Ubuntu",
|
301
|
+
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.63 Chrome/31.0.1650.63 Safari/537.36",
|
302
|
+
"expect" :
|
303
|
+
{
|
304
|
+
"name" : "Ubuntu",
|
305
|
+
"version" : "undefined"
|
288
306
|
}
|
289
307
|
},
|
290
308
|
{
|
@@ -496,11 +514,11 @@
|
|
496
514
|
},
|
497
515
|
{
|
498
516
|
"desc" : "Haiku",
|
499
|
-
"ua" : "",
|
517
|
+
"ua" : "Mozilla/5.0 (Macintosh; Intel Haiku R1 x86) AppleWebKit/602.1.1 (KHTML, like Gecko) WebPositive/1.2 Version/8.0 Safari/602.1.1",
|
500
518
|
"expect" :
|
501
519
|
{
|
502
|
-
"name" : "",
|
503
|
-
"version" : ""
|
520
|
+
"name" : "Haiku",
|
521
|
+
"version" : "R1"
|
504
522
|
}
|
505
523
|
},
|
506
524
|
{
|
package/test/test.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
var assert = require('assert');
|
2
|
+
var requirejs = require('requirejs');
|
2
3
|
var UAParser = require('./../src/ua-parser');
|
3
4
|
var browsers = require('./browser-test.json');
|
4
5
|
var cpus = require('./cpu-test.json');
|
@@ -43,15 +44,6 @@ describe('UAParser()', function () {
|
|
43
44
|
assert.deepEqual(UAParser(ua), new UAParser().setUA(ua).getResult());
|
44
45
|
});
|
45
46
|
|
46
|
-
describe('Injected Browser', function () {
|
47
|
-
var uaString = 'ownbrowser/1.3';
|
48
|
-
var ownBrowser = [[/(ownbrowser)\/((\d+)?[\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, UAParser.BROWSER.MAJOR]];
|
49
|
-
var parser = new UAParser(uaString, {browser: ownBrowser});
|
50
|
-
assert.equal(parser.getBrowser().name, 'ownbrowser');
|
51
|
-
assert.equal(parser.getBrowser().major, '1');
|
52
|
-
assert.equal(parser.getBrowser().version, '1.3');
|
53
|
-
});
|
54
|
-
|
55
47
|
for (var i in methods) {
|
56
48
|
describe(methods[i]['title'], function () {
|
57
49
|
for (var j in methods[i]['list']) {
|
@@ -72,3 +64,28 @@ for (var i in methods) {
|
|
72
64
|
}
|
73
65
|
});
|
74
66
|
}
|
67
|
+
|
68
|
+
describe('Extending Regex', function () {
|
69
|
+
var uaString = 'Mozilla/5.0 MyOwnBrowser/1.3';
|
70
|
+
var myOwnBrowser = [[/(myownbrowser)\/((\d+)?[\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, UAParser.BROWSER.MAJOR]];
|
71
|
+
var parser = new UAParser(uaString, {browser: myOwnBrowser});
|
72
|
+
assert.equal(parser.getBrowser().name, 'MyOwnBrowser');
|
73
|
+
assert.equal(parser.getBrowser().version, '1.3');
|
74
|
+
assert.equal(parser.getBrowser().major, '1');
|
75
|
+
});
|
76
|
+
|
77
|
+
describe('Using Require.js', function () {
|
78
|
+
it('should loaded automatically', function(done) {
|
79
|
+
requirejs.config({
|
80
|
+
baseUrl : 'dist',
|
81
|
+
paths : {
|
82
|
+
'ua-parser-js' : 'ua-parser.min'
|
83
|
+
}
|
84
|
+
});
|
85
|
+
requirejs(['ua-parser-js'], function(ua) {
|
86
|
+
var parser = new ua('Dillo/1.0');
|
87
|
+
assert.deepEqual(parser.getBrowser().name, 'Dillo');
|
88
|
+
done();
|
89
|
+
});
|
90
|
+
});
|
91
|
+
});
|