webfontloader 1.5.8 → 1.5.9
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.
- checksums.yaml +4 -4
- data/CHANGELOG +5 -0
- data/README.md +18 -0
- data/lib/webfontloader.rb +1 -1
- data/spec/core/eventdispatcher_spec.js +47 -17
- data/spec/core/useragentparser_spec.js +212 -470
- data/spec/modules/monotype_spec.js +0 -3
- data/spec/modules/typekit_spec.js +14 -38
- data/src/core/eventdispatcher.js +71 -57
- data/src/core/fontruler.js +1 -1
- data/src/core/fontwatcher.js +27 -15
- data/src/core/useragent.js +3 -39
- data/src/core/useragentparser.js +15 -58
- data/src/core/webfont.js +20 -5
- data/src/modules/typekit.js +24 -27
- data/webfontloader.gemspec +3 -2
- data/webfontloader.js +31 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70bf8c6b61ccb3b4e26328fa29c51aff7fc9c3bc
|
4
|
+
data.tar.gz: ed30c08fd73534ba6bc6ceff1b3f3d78f458c1ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a42b3eeea5586f49ea43dc92f32a14c20e1ed5139cdddd2a06963b66f317c5d71e5cf51d87d67562dbe67f4c8565e478e779f7055e0ad4d653eb57089abb3d4a
|
7
|
+
data.tar.gz: 9999410a47c058f6d7d4e23bae27fd1296d69e2be8e5b6709ce886d7a6a0ee4f6230303fe6d8788c4880b0e2d88442c166151665d4d18dedeaaf7c68a71b24fb
|
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -116,6 +116,24 @@ WebFontConfig = {
|
|
116
116
|
|
117
117
|
The `fontloading`, `fontactive` and `fontinactive` callbacks are passed the family name and font variation description of the font that concerns the event.
|
118
118
|
|
119
|
+
It is possible to disable setting classes on the HTML element by setting the `classes` configuration parameter to `false` (defaults to `true`).
|
120
|
+
|
121
|
+
```javascript
|
122
|
+
WebFontConfig = {
|
123
|
+
classes: false
|
124
|
+
};
|
125
|
+
```
|
126
|
+
|
127
|
+
You can also disable font events (callbacks) by setting the `events` parameter to `false` (defaults to `true`).
|
128
|
+
|
129
|
+
```javascript
|
130
|
+
WebFontConfig = {
|
131
|
+
events: false
|
132
|
+
};
|
133
|
+
```
|
134
|
+
|
135
|
+
If both events and classes are disabled, the Web Font Loader does not perform font watching and only acts as a way to insert @font-face rules in the document.
|
136
|
+
|
119
137
|
### Timeouts
|
120
138
|
|
121
139
|
Since the Internet is not 100% reliable, it's possible that a font will fail to load. The `fontinactive` event will be triggered after 5 seconds if the font fails to render. If *at least* one font succesfully renders, the `active` event will be triggered, else the `inactive` event will be triggered.
|
data/lib/webfontloader.rb
CHANGED
@@ -6,29 +6,22 @@ describe('EventDispatcher', function () {
|
|
6
6
|
element = null
|
7
7
|
eventDispatcher = null,
|
8
8
|
namespace = 'ns',
|
9
|
-
font = null
|
10
|
-
nullFn = function () {},
|
11
|
-
callbacks = {
|
12
|
-
loading: nullFn,
|
13
|
-
active: nullFn,
|
14
|
-
inactive: nullFn,
|
15
|
-
fontloading: nullFn,
|
16
|
-
fontactive: nullFn,
|
17
|
-
fontinactive: nullFn
|
18
|
-
};
|
9
|
+
font = null;
|
19
10
|
|
20
11
|
beforeEach(function () {
|
21
12
|
element = domHelper.createElement();
|
13
|
+
callbacks = {
|
14
|
+
loading: jasmine.createSpy('loading'),
|
15
|
+
active: jasmine.createSpy('active'),
|
16
|
+
inactive: jasmine.createSpy('inactive'),
|
17
|
+
fontloading: jasmine.createSpy('fontloading'),
|
18
|
+
fontactive: jasmine.createSpy('fontactive'),
|
19
|
+
fontinactive: jasmine.createSpy('fontinactive')
|
20
|
+
};
|
21
|
+
|
22
22
|
eventDispatcher = new EventDispatcher(domHelper, element, callbacks, namespace);
|
23
23
|
|
24
24
|
font = new Font('My Family', 'n4');
|
25
|
-
|
26
|
-
spyOn(callbacks, 'loading');
|
27
|
-
spyOn(callbacks, 'active');
|
28
|
-
spyOn(callbacks, 'inactive');
|
29
|
-
spyOn(callbacks, 'fontloading');
|
30
|
-
spyOn(callbacks, 'fontactive');
|
31
|
-
spyOn(callbacks, 'fontinactive');
|
32
25
|
});
|
33
26
|
|
34
27
|
describe('#dispatchLoading', function () {
|
@@ -210,4 +203,41 @@ describe('EventDispatcher', function () {
|
|
210
203
|
expect(element.className).toEqual('ns-active');
|
211
204
|
});
|
212
205
|
});
|
206
|
+
|
207
|
+
describe('disable callbacks', function () {
|
208
|
+
beforeEach(function () {
|
209
|
+
eventDispatcher = new EventDispatcher(domHelper, element, callbacks, namespace, false);
|
210
|
+
eventDispatcher.dispatchInactive();
|
211
|
+
eventDispatcher.dispatchActive();
|
212
|
+
eventDispatcher.dispatchLoading();
|
213
|
+
eventDispatcher.dispatchFontInactive(font);
|
214
|
+
eventDispatcher.dispatchFontActive(font);
|
215
|
+
eventDispatcher.dispatchFontLoading(font);
|
216
|
+
});
|
217
|
+
|
218
|
+
it('should not fire any events', function () {
|
219
|
+
expect(callbacks.inactive).not.toHaveBeenCalled();
|
220
|
+
expect(callbacks.active).not.toHaveBeenCalled();
|
221
|
+
expect(callbacks.loading).not.toHaveBeenCalled();
|
222
|
+
expect(callbacks.fontinactive).not.toHaveBeenCalled();
|
223
|
+
expect(callbacks.fontactive).not.toHaveBeenCalled();
|
224
|
+
expect(callbacks.fontloading).not.toHaveBeenCalled();
|
225
|
+
});
|
226
|
+
});
|
227
|
+
|
228
|
+
describe('disable classes', function () {
|
229
|
+
beforeEach(function () {
|
230
|
+
eventDispatcher = new EventDispatcher(domHelper, element, callbacks, namespace, true, false);
|
231
|
+
eventDispatcher.dispatchInactive();
|
232
|
+
eventDispatcher.dispatchActive();
|
233
|
+
eventDispatcher.dispatchLoading();
|
234
|
+
eventDispatcher.dispatchFontInactive(font);
|
235
|
+
eventDispatcher.dispatchFontActive(font);
|
236
|
+
eventDispatcher.dispatchFontLoading(font);
|
237
|
+
});
|
238
|
+
|
239
|
+
it('should not fire any events', function () {
|
240
|
+
expect(element.className).toEqual('');
|
241
|
+
});
|
242
|
+
});
|
213
243
|
});
|
@@ -19,13 +19,8 @@ describe('UserAgentParser', function () {
|
|
19
19
|
return false;
|
20
20
|
}
|
21
21
|
|
22
|
-
if (actual.
|
23
|
-
this.message = msg('parsed version', actual.
|
24
|
-
return false;
|
25
|
-
}
|
26
|
-
|
27
|
-
if (actual.getVersion() !== expected.version) {
|
28
|
-
this.message = msg('version', actual.getVersion(), expected.version);
|
22
|
+
if (actual.getVersion().ne(expected.version)) {
|
23
|
+
this.message = msg('parsed version', actual.getVersion(), expected.version);
|
29
24
|
return false;
|
30
25
|
}
|
31
26
|
|
@@ -34,13 +29,8 @@ describe('UserAgentParser', function () {
|
|
34
29
|
return false;
|
35
30
|
}
|
36
31
|
|
37
|
-
if (actual.
|
38
|
-
this.message = msg('platform parsed version', actual.
|
39
|
-
return false;
|
40
|
-
}
|
41
|
-
|
42
|
-
if (actual.getPlatformVersion() !== expected.platformVersion) {
|
43
|
-
this.message = msg('platform version', actual.getPlatformVersion(), expected.platformVersion);
|
32
|
+
if (actual.getPlatformVersion().ne(expected.platformVersion)) {
|
33
|
+
this.message = msg('platform parsed version', actual.gePlatformVersion(), expected.platformVersion);
|
44
34
|
return false;
|
45
35
|
}
|
46
36
|
|
@@ -49,13 +39,8 @@ describe('UserAgentParser', function () {
|
|
49
39
|
return false;
|
50
40
|
}
|
51
41
|
|
52
|
-
if (actual.
|
53
|
-
this.message = msg('engine parsed version', actual.
|
54
|
-
return false;
|
55
|
-
}
|
56
|
-
|
57
|
-
if (actual.getEngineVersion() !== expected.engineVersion) {
|
58
|
-
this.message = msg('engine version', actual.getEngineVersion(), expected.engineVersion);
|
42
|
+
if (actual.getEngineVersion().ne(expected.engineVersion)) {
|
43
|
+
this.message = msg('engine parsed version', actual.getEngineVersion(), expected.engineVersion);
|
59
44
|
return false;
|
60
45
|
}
|
61
46
|
|
@@ -89,7 +74,7 @@ describe('UserAgentParser', function () {
|
|
89
74
|
return new UserAgentParser(str, {}).getPlatformVersionString_();
|
90
75
|
}
|
91
76
|
|
92
|
-
it('should parse Linux
|
77
|
+
it('should parse Linux versions correctly', function () {
|
93
78
|
expect(parsePlatformVersion('(Linux; U; en-us; KFJWI Build/IML74K)')).toEqual('Unknown');
|
94
79
|
expect(parsePlatformVersion('(Linux i686; U; en)')).toEqual('Unknown');
|
95
80
|
expect(parsePlatformVersion('(X11; Linux i686; U; Linux Mint; nb)')).toEqual('Unknown');
|
@@ -99,7 +84,7 @@ describe('UserAgentParser', function () {
|
|
99
84
|
expect(parsePlatformVersion('(X11; Linux 10.1; U; en-US)')).toEqual('10.1');
|
100
85
|
});
|
101
86
|
|
102
|
-
it('should parse ChromeOS
|
87
|
+
it('should parse ChromeOS versions correctly', function () {
|
103
88
|
expect(parsePlatformVersion('(X11; CrOS i686 1660.57.0)')).toEqual('1660.57.0');
|
104
89
|
});
|
105
90
|
});
|
@@ -114,14 +99,11 @@ describe('UserAgentParser', function () {
|
|
114
99
|
expect(parse('Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5'))
|
115
100
|
.toMatchUserAgent({
|
116
101
|
name: 'AdobeAIR',
|
117
|
-
|
118
|
-
version: '2.5',
|
102
|
+
version: new Version(2, 5),
|
119
103
|
platform: 'Macintosh',
|
120
|
-
|
121
|
-
platformVersion: 'Unknown',
|
104
|
+
platformVersion: new Version(),
|
122
105
|
engine: 'AppleWebKit',
|
123
|
-
|
124
|
-
engineVersion: '531.9',
|
106
|
+
engineVersion: new Version(531, 9),
|
125
107
|
documentMode: undefined,
|
126
108
|
browserInfo: {
|
127
109
|
hasWebFontSupport: true,
|
@@ -135,14 +117,11 @@ describe('UserAgentParser', function () {
|
|
135
117
|
expect(parse('Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.0'))
|
136
118
|
.toMatchUserAgent({
|
137
119
|
name: 'AdobeAIR',
|
138
|
-
|
139
|
-
version: '2.0',
|
120
|
+
version: new Version(2, 0),
|
140
121
|
platform: 'Macintosh',
|
141
|
-
|
142
|
-
platformVersion: 'Unknown',
|
122
|
+
platformVersion: new Version(),
|
143
123
|
engine: 'AppleWebKit',
|
144
|
-
|
145
|
-
engineVersion: '531.9',
|
124
|
+
engineVersion: new Version(531, 9),
|
146
125
|
documentMode: undefined,
|
147
126
|
browserInfo: {
|
148
127
|
hasWebFontSupport: false,
|
@@ -158,14 +137,11 @@ describe('UserAgentParser', function () {
|
|
158
137
|
expect(parse('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1'))
|
159
138
|
.toMatchUserAgent({
|
160
139
|
name: 'Firefox',
|
161
|
-
|
162
|
-
version: '3.6.3',
|
140
|
+
version: new Version(3, 6, 3),
|
163
141
|
platform: 'Macintosh',
|
164
|
-
|
165
|
-
platformVersion: '10.5',
|
142
|
+
platformVersion: new Version(10, 5),
|
166
143
|
engine: 'Gecko',
|
167
|
-
|
168
|
-
engineVersion: '1.9.2.3',
|
144
|
+
engineVersion: new Version(1, 9, 2, 3),
|
169
145
|
documentMode: undefined,
|
170
146
|
browserInfo: {
|
171
147
|
hasWebFontSupport: true,
|
@@ -177,14 +153,11 @@ describe('UserAgentParser', function () {
|
|
177
153
|
expect(parse('Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.9.2a1pre) Gecko/20090405 Ubuntu/9.04 (jaunty) Firefox/3.6a1pre'))
|
178
154
|
.toMatchUserAgent({
|
179
155
|
name: 'Firefox',
|
180
|
-
|
181
|
-
version: '3.6a1pre',
|
156
|
+
version: new Version(3, 6, null, 'a1pre'),
|
182
157
|
platform: 'Linux',
|
183
|
-
|
184
|
-
platformVersion: 'Unknown',
|
158
|
+
platformVersion: new Version(), //'i686'
|
185
159
|
engine: 'Gecko',
|
186
|
-
|
187
|
-
engineVersion: '1.9.2a1pre',
|
160
|
+
engineVersion: new Version(1, 9, 2, 'a1pre'),
|
188
161
|
documentMode: undefined,
|
189
162
|
browserInfo: {
|
190
163
|
hasWebFontSupport: true,
|
@@ -198,14 +171,11 @@ describe('UserAgentParser', function () {
|
|
198
171
|
expect(parse('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:2.0b1) Gecko/20100630 Firefox/4.0b1'))
|
199
172
|
.toMatchUserAgent({
|
200
173
|
name: 'Firefox',
|
201
|
-
|
202
|
-
version: '4.0b1',
|
174
|
+
version: new Version(4, 0, null, 'b1'),
|
203
175
|
platform: 'Macintosh',
|
204
|
-
|
205
|
-
platformVersion: '10.6',
|
176
|
+
platformVersion: new Version(10, 6),
|
206
177
|
engine: 'Gecko',
|
207
|
-
|
208
|
-
engineVersion: '2.0b1',
|
178
|
+
engineVersion: new Version(2, 0, 'b1'),
|
209
179
|
documentMode: undefined,
|
210
180
|
browserInfo: {
|
211
181
|
hasWebFontSupport: true,
|
@@ -216,19 +186,16 @@ describe('UserAgentParser', function () {
|
|
216
186
|
});
|
217
187
|
|
218
188
|
it('should detect Firefox on Android', function () {
|
219
|
-
// This useragent has been slightly doctored with
|
189
|
+
// This useragent has been slightly doctored with versions to ensure the right
|
220
190
|
// info is coming from the right places.
|
221
191
|
expect(parse('Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/15.0 Firefox/14.0'))
|
222
192
|
.toMatchUserAgent({
|
223
193
|
name: 'Firefox',
|
224
|
-
|
225
|
-
version: '14.0',
|
194
|
+
version: new Version(14, 0),
|
226
195
|
platform: 'Android',
|
227
|
-
|
228
|
-
platformVersion: 'Unknown',
|
196
|
+
platformVersion: new Version(),
|
229
197
|
engine: 'Gecko',
|
230
|
-
|
231
|
-
engineVersion: '13.0',
|
198
|
+
engineVersion: new Version(13, 0),
|
232
199
|
documentMode: undefined,
|
233
200
|
browserInfo: {
|
234
201
|
hasWebFontSupport: true,
|
@@ -242,14 +209,11 @@ describe('UserAgentParser', function () {
|
|
242
209
|
expect(parse('Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) Gecko/20081202 Firefox (Debian-2.0.0.19-0etch1)'))
|
243
210
|
.toMatchUserAgent({
|
244
211
|
name: 'Firefox',
|
245
|
-
|
246
|
-
version: '',
|
212
|
+
version: new Version(),
|
247
213
|
platform: 'Linux',
|
248
|
-
|
249
|
-
platformVersion: 'Unknown',
|
214
|
+
platformVersion: new Version(), //'i686'
|
250
215
|
engine: 'Gecko',
|
251
|
-
|
252
|
-
engineVersion: '1.8.1.19',
|
216
|
+
engineVersion: new Version(1, 8, 1, 19),
|
253
217
|
documentMode: undefined,
|
254
218
|
browserInfo: {
|
255
219
|
hasWebFontSupport: false,
|
@@ -265,14 +229,11 @@ describe('UserAgentParser', function () {
|
|
265
229
|
expect(parse('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.9 Safari/533.2'))
|
266
230
|
.toMatchUserAgent({
|
267
231
|
name: 'Chrome',
|
268
|
-
|
269
|
-
version: '5.0.342.9',
|
232
|
+
version: new Version(5, 0, 342, 9),
|
270
233
|
platform: 'Macintosh',
|
271
|
-
|
272
|
-
platformVersion: '10_5_8',
|
234
|
+
platformVersion: new Version(10, 5, 8),
|
273
235
|
engine: 'AppleWebKit',
|
274
|
-
|
275
|
-
engineVersion: '533.2',
|
236
|
+
engineVersion: new Version(533, 2),
|
276
237
|
documentMode: undefined,
|
277
238
|
browserInfo: {
|
278
239
|
hasWebFontSupport: true,
|
@@ -286,14 +247,11 @@ describe('UserAgentParser', function () {
|
|
286
247
|
expect(parse('Mozilla/5.0 (X11; CrOS i686 1660.57.0) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.46 Safari/535.19'))
|
287
248
|
.toMatchUserAgent({
|
288
249
|
name: 'Chrome',
|
289
|
-
|
290
|
-
version: '18.0.1025.46',
|
250
|
+
version: new Version(18, 0, 1025, 46),
|
291
251
|
platform: 'CrOS',
|
292
|
-
|
293
|
-
platformVersion: '1660.57.0',
|
252
|
+
platformVersion: new Version(1660, 57, 0),
|
294
253
|
engine: 'AppleWebKit',
|
295
|
-
|
296
|
-
engineVersion: '535.19',
|
254
|
+
engineVersion: new Version(535, 19),
|
297
255
|
documentMode: undefined,
|
298
256
|
browserInfo: {
|
299
257
|
hasWebFontSupport: true,
|
@@ -307,14 +265,11 @@ describe('UserAgentParser', function () {
|
|
307
265
|
expect(parse('Mozilla/5.0 (CrKey armv71 1.6.16664) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.0 Safari/537.36'))
|
308
266
|
.toMatchUserAgent({
|
309
267
|
name: 'Chrome',
|
310
|
-
|
311
|
-
version: '31.0.1650.0',
|
268
|
+
version: new Version(31, 0, 1650, 0),
|
312
269
|
platform: 'CrKey',
|
313
|
-
|
314
|
-
platformVersion: '1.6.16664',
|
270
|
+
platformVersion: new Version(1, 6, 16664),
|
315
271
|
engine: 'AppleWebKit',
|
316
|
-
|
317
|
-
engineVersion: '537.36',
|
272
|
+
engineVersion: new Version(537, 36),
|
318
273
|
documentMode: undefined,
|
319
274
|
browserInfo: {
|
320
275
|
hasWebFontSupport: true,
|
@@ -328,14 +283,11 @@ describe('UserAgentParser', function () {
|
|
328
283
|
expect(parse('Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; Nexus S Build/IML74K) AppleWebKit/535.7 (KHTML, like Gecko) CrMo/16.0.912.75 Mobile Safari/535.7'))
|
329
284
|
.toMatchUserAgent({
|
330
285
|
name: 'Chrome',
|
331
|
-
|
332
|
-
version: '16.0.912.75',
|
286
|
+
version: new Version(16, 0, 912, 75),
|
333
287
|
platform: 'Android',
|
334
|
-
|
335
|
-
platformVersion: '4.0.3',
|
288
|
+
platformVersion: new Version(4, 0, 3),
|
336
289
|
engine: 'AppleWebKit',
|
337
|
-
|
338
|
-
engineVersion: '535.7',
|
290
|
+
engineVersion: new Version(535, 7),
|
339
291
|
documentMode: undefined,
|
340
292
|
browserInfo: {
|
341
293
|
hasWebFontSupport: true,
|
@@ -347,14 +299,11 @@ describe('UserAgentParser', function () {
|
|
347
299
|
expect(parse('Mozilla/5.0 (Linux; Android 4.2.2; SGH-M919 Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.169 Mobile Safari/537.22'))
|
348
300
|
.toMatchUserAgent({
|
349
301
|
name: 'Chrome',
|
350
|
-
|
351
|
-
version: '25.0.1364.169',
|
302
|
+
version: new Version(25, 0, 1364, 169),
|
352
303
|
platform: 'Android',
|
353
|
-
|
354
|
-
platformVersion: '4.2.2',
|
304
|
+
platformVersion: new Version(4, 2, 2),
|
355
305
|
engine: 'AppleWebKit',
|
356
|
-
|
357
|
-
engineVersion: '537.22',
|
306
|
+
engineVersion: new Version(537, 22),
|
358
307
|
documentMode: undefined,
|
359
308
|
browserInfo: {
|
360
309
|
hasWebFontSupport: true,
|
@@ -368,14 +317,11 @@ describe('UserAgentParser', function () {
|
|
368
317
|
expect(parse('Mozilla/5.0 (iPad; U; CPU OS 5_1_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3'))
|
369
318
|
.toMatchUserAgent({
|
370
319
|
name: 'Chrome',
|
371
|
-
|
372
|
-
version: '19.0.1084.60',
|
320
|
+
version: new Version(19, 0, 1084, 60),
|
373
321
|
platform: 'iPad',
|
374
|
-
|
375
|
-
platformVersion: '5_1_1',
|
322
|
+
platformVersion: new Version(5, 1, 1),
|
376
323
|
engine: 'AppleWebKit',
|
377
|
-
|
378
|
-
engineVersion: '534.46.0',
|
324
|
+
engineVersion: new Version(534, 46, 0),
|
379
325
|
documentMode: undefined,
|
380
326
|
browserInfo: {
|
381
327
|
hasWebFontSupport: true,
|
@@ -389,14 +335,11 @@ describe('UserAgentParser', function () {
|
|
389
335
|
expect(parse('Mozilla/5.0 (iPod; U; CPU iPhone OS 5_1_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3'))
|
390
336
|
.toMatchUserAgent({
|
391
337
|
name: 'Chrome',
|
392
|
-
|
393
|
-
version: '19.0.1084.60',
|
338
|
+
version: new Version(19, 0, 1084, 60),
|
394
339
|
platform: 'iPod',
|
395
|
-
|
396
|
-
platformVersion: '5_1_1',
|
340
|
+
platformVersion: new Version(5, 1, 1),
|
397
341
|
engine: 'AppleWebKit',
|
398
|
-
|
399
|
-
engineVersion: '534.46.0',
|
342
|
+
engineVersion: new Version(534, 46, 0),
|
400
343
|
documentMode: undefined,
|
401
344
|
browserInfo: {
|
402
345
|
hasWebFontSupport: true,
|
@@ -412,14 +355,11 @@ describe('UserAgentParser', function () {
|
|
412
355
|
expect(parse('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10'))
|
413
356
|
.toMatchUserAgent({
|
414
357
|
name: 'Safari',
|
415
|
-
|
416
|
-
version: '4.0.4',
|
358
|
+
version: new Version(4, 0, 4),
|
417
359
|
platform: 'Macintosh',
|
418
|
-
|
419
|
-
platformVersion: '10_5_8',
|
360
|
+
platformVersion: new Version(10, 5, 8),
|
420
361
|
engine: 'AppleWebKit',
|
421
|
-
|
422
|
-
engineVersion: '531.21.8',
|
362
|
+
engineVersion: new Version(531, 21, 8),
|
423
363
|
documentMode: undefined,
|
424
364
|
browserInfo: {
|
425
365
|
hasWebFontSupport: true,
|
@@ -431,14 +371,11 @@ describe('UserAgentParser', function () {
|
|
431
371
|
expect(parse('Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; tr) AppleWebKit/528.4+ (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2'))
|
432
372
|
.toMatchUserAgent({
|
433
373
|
name: 'Safari',
|
434
|
-
|
435
|
-
version: '4.0dp1',
|
374
|
+
version: new Version(4, 0, null, 'dp1'),
|
436
375
|
platform: 'Macintosh',
|
437
|
-
|
438
|
-
platformVersion: '10_4_11',
|
376
|
+
platformVersion: new Version(10, 4, 11),
|
439
377
|
engine: 'AppleWebKit',
|
440
|
-
|
441
|
-
engineVersion: '528.4+',
|
378
|
+
engineVersion: new Version(528, 4),
|
442
379
|
documentMode: undefined,
|
443
380
|
browserInfo: {
|
444
381
|
hasWebFontSupport: true,
|
@@ -452,14 +389,11 @@ describe('UserAgentParser', function () {
|
|
452
389
|
expect(parse('Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16'))
|
453
390
|
.toMatchUserAgent({
|
454
391
|
name: 'Safari',
|
455
|
-
|
456
|
-
version: '4.0',
|
392
|
+
version: new Version(4, 0),
|
457
393
|
platform: 'iPhone',
|
458
|
-
|
459
|
-
platformVersion: '3_1_2',
|
394
|
+
platformVersion: new Version(3, 1, 2),
|
460
395
|
engine: 'AppleWebKit',
|
461
|
-
|
462
|
-
engineVersion: '528.18',
|
396
|
+
engineVersion: new Version(528, 18),
|
463
397
|
documentMode: undefined,
|
464
398
|
browserInfo: {
|
465
399
|
hasWebFontSupport: true,
|
@@ -473,14 +407,11 @@ describe('UserAgentParser', function () {
|
|
473
407
|
expect(parse('Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10'))
|
474
408
|
.toMatchUserAgent({
|
475
409
|
name: 'Safari',
|
476
|
-
|
477
|
-
version: '4.0.4',
|
410
|
+
version: new Version(4, 0, 4),
|
478
411
|
platform: 'iPad',
|
479
|
-
|
480
|
-
platformVersion: '3_2',
|
412
|
+
platformVersion: new Version(3, 2),
|
481
413
|
engine: 'AppleWebKit',
|
482
|
-
|
483
|
-
engineVersion: '531.21.10',
|
414
|
+
engineVersion: new Version(531, 21, 10),
|
484
415
|
documentMode: undefined,
|
485
416
|
browserInfo: {
|
486
417
|
hasWebFontSupport: true,
|
@@ -492,14 +423,11 @@ describe('UserAgentParser', function () {
|
|
492
423
|
expect(parse('Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B360 Safari/531.21.10"'))
|
493
424
|
.toMatchUserAgent({
|
494
425
|
name: 'Safari',
|
495
|
-
|
496
|
-
version: '4.0.4',
|
426
|
+
version: new Version(4, 0, 4),
|
497
427
|
platform: 'iPad',
|
498
|
-
|
499
|
-
platformVersion: '3_2',
|
428
|
+
platformVersion: new Version(3, 2),
|
500
429
|
engine: 'AppleWebKit',
|
501
|
-
|
502
|
-
engineVersion: '531.21.10',
|
430
|
+
engineVersion: new Version(531, 21, 10),
|
503
431
|
documentMode: undefined,
|
504
432
|
browserInfo: {
|
505
433
|
hasWebFontSupport: true,
|
@@ -511,14 +439,11 @@ describe('UserAgentParser', function () {
|
|
511
439
|
expect(parse('Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10'))
|
512
440
|
.toMatchUserAgent({
|
513
441
|
name: 'Safari',
|
514
|
-
|
515
|
-
version: '4.0.4',
|
442
|
+
version: new Version(4, 0, 4),
|
516
443
|
platform: 'iPad',
|
517
|
-
|
518
|
-
platformVersion: '3_2',
|
444
|
+
platformVersion: new Version(3, 2),
|
519
445
|
engine: 'AppleWebKit',
|
520
|
-
|
521
|
-
engineVersion: '531.21.10',
|
446
|
+
engineVersion: new Version(531, 21, 10),
|
522
447
|
documentMode: undefined,
|
523
448
|
browserInfo: {
|
524
449
|
hasWebFontSupport: true,
|
@@ -532,14 +457,11 @@ describe('UserAgentParser', function () {
|
|
532
457
|
expect(parse('Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Mobile/5H11a'))
|
533
458
|
.toMatchUserAgent({
|
534
459
|
name: 'Unknown',
|
535
|
-
|
536
|
-
version: 'Unknown',
|
460
|
+
version: new Version(),
|
537
461
|
platform: 'iPod',
|
538
|
-
|
539
|
-
platformVersion: '2_2_1',
|
462
|
+
platformVersion: new Version(2, 2, 1),
|
540
463
|
engine: 'AppleWebKit',
|
541
|
-
|
542
|
-
engineVersion: '525.18.1',
|
464
|
+
engineVersion: new Version(525, 18, 1),
|
543
465
|
documentMode: undefined,
|
544
466
|
browserInfo: {
|
545
467
|
hasWebFontSupport: true,
|
@@ -551,14 +473,11 @@ describe('UserAgentParser', function () {
|
|
551
473
|
expect(parse('Mozilla/5.0 (iPod; U; CPU iPhone OS 3_1 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7C144 Safari/528.16'))
|
552
474
|
.toMatchUserAgent({
|
553
475
|
name: 'Safari',
|
554
|
-
|
555
|
-
version: '4.0',
|
476
|
+
version: new Version(4, 0),
|
556
477
|
platform: 'iPod',
|
557
|
-
|
558
|
-
platformVersion: '3_1',
|
478
|
+
platformVersion: new Version(3, 1),
|
559
479
|
engine: 'AppleWebKit',
|
560
|
-
|
561
|
-
engineVersion: '528.18',
|
480
|
+
engineVersion: new Version(528, 18),
|
562
481
|
documentMode: undefined,
|
563
482
|
browserInfo: {
|
564
483
|
hasWebFontSupport: true,
|
@@ -574,14 +493,11 @@ describe('UserAgentParser', function () {
|
|
574
493
|
expect(parse('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)'))
|
575
494
|
.toMatchUserAgent({
|
576
495
|
name: 'MSIE',
|
577
|
-
|
578
|
-
version: '7.0',
|
496
|
+
version: new Version(7, 0),
|
579
497
|
platform: 'Windows',
|
580
|
-
|
581
|
-
platformVersion: '5.1',
|
498
|
+
platformVersion: new Version(5, 1),
|
582
499
|
engine: 'Unknown',
|
583
|
-
|
584
|
-
engineVersion: 'Unknown',
|
500
|
+
engineVersion: new Version(),
|
585
501
|
documentMode: undefined,
|
586
502
|
browserInfo: {
|
587
503
|
hasWebFontSupport: true,
|
@@ -593,14 +509,11 @@ describe('UserAgentParser', function () {
|
|
593
509
|
expect(parse('Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; Media Center PC 3.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1)'))
|
594
510
|
.toMatchUserAgent({
|
595
511
|
name: 'MSIE',
|
596
|
-
|
597
|
-
version: '7.0b',
|
512
|
+
version: new Version(7, 0, null, 'b'),
|
598
513
|
platform: 'Windows',
|
599
|
-
|
600
|
-
platformVersion: '5.1',
|
514
|
+
platformVersion: new Version(5, 1),
|
601
515
|
engine: 'Unknown',
|
602
|
-
|
603
|
-
engineVersion: 'Unknown',
|
516
|
+
engineVersion: new Version(),
|
604
517
|
documentMode: undefined,
|
605
518
|
browserInfo: {
|
606
519
|
hasWebFontSupport: true,
|
@@ -614,14 +527,11 @@ describe('UserAgentParser', function () {
|
|
614
527
|
expect(parse('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'))
|
615
528
|
.toMatchUserAgent({
|
616
529
|
name: 'MSIE',
|
617
|
-
|
618
|
-
version: '7.0',
|
530
|
+
version: new Version(7, 0),
|
619
531
|
platform: 'Windows',
|
620
|
-
|
621
|
-
platformVersion: '5.1',
|
532
|
+
platformVersion: new Version(5, 1),
|
622
533
|
engine: 'Unknown',
|
623
|
-
|
624
|
-
engineVersion: 'Unknown',
|
534
|
+
engineVersion: new Version(),
|
625
535
|
documentMode: undefined,
|
626
536
|
browserInfo: {
|
627
537
|
hasWebFontSupport: true,
|
@@ -635,14 +545,11 @@ describe('UserAgentParser', function () {
|
|
635
545
|
expect(parse('Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; ARM; Touch; IEMobile/10.0; <Manufacturer>; <Device>; <Operator>)'))
|
636
546
|
.toMatchUserAgent({
|
637
547
|
name: 'MSIE',
|
638
|
-
|
639
|
-
version: '10.0',
|
548
|
+
version: new Version(10, 0),
|
640
549
|
platform: 'Windows Phone',
|
641
|
-
|
642
|
-
platformVersion: '8.0',
|
550
|
+
platformVersion: new Version(8, 0),
|
643
551
|
engine: 'Trident',
|
644
|
-
|
645
|
-
engineVersion: '6.0',
|
552
|
+
engineVersion: new Version(6, 0),
|
646
553
|
documentMode: undefined,
|
647
554
|
browserInfo: {
|
648
555
|
hasWebFontSupport: true,
|
@@ -654,14 +561,11 @@ describe('UserAgentParser', function () {
|
|
654
561
|
expect(parse('Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; id404) like Gecko'))
|
655
562
|
.toMatchUserAgent({
|
656
563
|
name: 'MSIE',
|
657
|
-
|
658
|
-
version: '11.0',
|
564
|
+
version: new Version(11, 0),
|
659
565
|
platform: 'Windows Phone',
|
660
|
-
|
661
|
-
platformVersion: '8.1',
|
566
|
+
platformVersion: new Version(8, 1),
|
662
567
|
engine: 'Trident',
|
663
|
-
|
664
|
-
engineVersion: '7.0',
|
568
|
+
engineVersion: new Version(7, 0),
|
665
569
|
documentMode: undefined,
|
666
570
|
browserInfo: {
|
667
571
|
hasWebFontSupport: true,
|
@@ -675,14 +579,11 @@ describe('UserAgentParser', function () {
|
|
675
579
|
expect(parse('Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; SGH-i917)'))
|
676
580
|
.toMatchUserAgent({
|
677
581
|
name: 'MSIE',
|
678
|
-
|
679
|
-
version: '9.0',
|
582
|
+
version: new Version(9, 0),
|
680
583
|
platform: 'Windows Phone',
|
681
|
-
|
682
|
-
platformVersion: '7.5',
|
584
|
+
platformVersion: new Version(7, 5),
|
683
585
|
engine: 'Trident',
|
684
|
-
|
685
|
-
engineVersion: '5.0',
|
586
|
+
engineVersion: new Version(5, 0),
|
686
587
|
documentMode: undefined,
|
687
588
|
browserInfo: {
|
688
589
|
hasWebFontSupport: false,
|
@@ -696,14 +597,11 @@ describe('UserAgentParser', function () {
|
|
696
597
|
expect(parse('Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)'))
|
697
598
|
.toMatchUserAgent({
|
698
599
|
name: 'MSIE',
|
699
|
-
|
700
|
-
version: '5.23',
|
600
|
+
version: new Version(5, 23),
|
701
601
|
platform: 'Macintosh',
|
702
|
-
|
703
|
-
platformVersion: 'Unknown',
|
602
|
+
platformVersion: new Version(),
|
704
603
|
engine: 'Unknown',
|
705
|
-
|
706
|
-
engineVersion: 'Unknown',
|
604
|
+
engineVersion: new Version(),
|
707
605
|
documentMode: undefined,
|
708
606
|
browserInfo: {
|
709
607
|
hasWebFontSupport: false,
|
@@ -717,14 +615,11 @@ describe('UserAgentParser', function () {
|
|
717
615
|
expect(parse('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; InfoPath.2)', { documentMode: 8 }))
|
718
616
|
.toMatchUserAgent({
|
719
617
|
name: 'MSIE',
|
720
|
-
|
721
|
-
version: '8.0',
|
618
|
+
version: new Version(8, 0),
|
722
619
|
platform: 'Windows',
|
723
|
-
|
724
|
-
platformVersion: '6.1',
|
620
|
+
platformVersion: new Version(6, 1),
|
725
621
|
engine: 'Trident',
|
726
|
-
|
727
|
-
engineVersion: '4.0',
|
622
|
+
engineVersion: new Version(4, 0),
|
728
623
|
documentMode: 8,
|
729
624
|
browserInfo: {
|
730
625
|
hasWebFontSupport: true,
|
@@ -738,14 +633,11 @@ describe('UserAgentParser', function () {
|
|
738
633
|
expect(parse('Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko', { documentMode: 11 }))
|
739
634
|
.toMatchUserAgent({
|
740
635
|
name: 'MSIE',
|
741
|
-
|
742
|
-
version: '11.0',
|
636
|
+
version: new Version(11, 0),
|
743
637
|
platform: 'Windows',
|
744
|
-
|
745
|
-
platformVersion: '6.3',
|
638
|
+
platformVersion: new Version(6, 3),
|
746
639
|
engine: 'Trident',
|
747
|
-
|
748
|
-
engineVersion: '7.0',
|
640
|
+
engineVersion: new Version(7, 0),
|
749
641
|
documentMode: 11,
|
750
642
|
browserInfo: {
|
751
643
|
hasWebFontSupport: true,
|
@@ -761,14 +653,11 @@ describe('UserAgentParser', function () {
|
|
761
653
|
expect(parse('Mozilla/5.0 (Linux; U; Android 2.2.1; en-ca; LG-P505R Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'))
|
762
654
|
.toMatchUserAgent({
|
763
655
|
name: 'BuiltinBrowser',
|
764
|
-
|
765
|
-
version: 'Unknown',
|
656
|
+
version: new Version(),
|
766
657
|
platform: 'Android',
|
767
|
-
|
768
|
-
platformVersion: '2.2.1',
|
658
|
+
platformVersion: new Version(2, 2, 1),
|
769
659
|
engine: 'AppleWebKit',
|
770
|
-
|
771
|
-
engineVersion: '533.1',
|
660
|
+
engineVersion: new Version(533, 1),
|
772
661
|
documentMode: undefined,
|
773
662
|
browserInfo: {
|
774
663
|
hasWebFontSupport: true,
|
@@ -782,14 +671,11 @@ describe('UserAgentParser', function () {
|
|
782
671
|
expect(parse('Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; Nexus One Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17'))
|
783
672
|
.toMatchUserAgent({
|
784
673
|
name: 'BuiltinBrowser',
|
785
|
-
|
786
|
-
version: 'Unknown',
|
674
|
+
version: new Version(),
|
787
675
|
platform: 'Android',
|
788
|
-
|
789
|
-
platformVersion: '2.1-update1',
|
676
|
+
platformVersion: new Version(2, 1, null, 'update1'),
|
790
677
|
engine: 'AppleWebKit',
|
791
|
-
|
792
|
-
engineVersion: '530.17',
|
678
|
+
engineVersion: new Version(530, 17),
|
793
679
|
documentMode: undefined,
|
794
680
|
browserInfo: {
|
795
681
|
hasWebFontSupport: false,
|
@@ -803,14 +689,11 @@ describe('UserAgentParser', function () {
|
|
803
689
|
expect(parse('Mozilla/5.0 (Linux; Android 4.2.2; sl-si; SAMSUNG GT-I9505 Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Version/1.0 Chrome/18.0.1025.308 Mobile Safari/535.19'))
|
804
690
|
.toMatchUserAgent({
|
805
691
|
name: 'Chrome',
|
806
|
-
|
807
|
-
version: '18.0.1025.308',
|
692
|
+
version: new Version(18, 0, 1025, 308),
|
808
693
|
platform: 'Android',
|
809
|
-
|
810
|
-
platformVersion: '4.2.2',
|
694
|
+
platformVersion: new Version(4, 2, 2),
|
811
695
|
engine: 'AppleWebKit',
|
812
|
-
|
813
|
-
engineVersion: '535.19',
|
696
|
+
engineVersion: new Version(535, 19),
|
814
697
|
documentMode: undefined,
|
815
698
|
browserInfo: {
|
816
699
|
hasWebFontSupport: true,
|
@@ -822,14 +705,11 @@ describe('UserAgentParser', function () {
|
|
822
705
|
expect(parse('Mozilla/5.0 (Linux; Android 4.2.2; en-us; SAMSUNG SGH-M919 Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Version/1.0 Chrome/18.0.1025.308 Mobile Safari/535.19'))
|
823
706
|
.toMatchUserAgent({
|
824
707
|
name: 'Chrome',
|
825
|
-
|
826
|
-
version: '18.0.1025.308',
|
708
|
+
version: new Version(18, 0, 1025, 308),
|
827
709
|
platform: 'Android',
|
828
|
-
|
829
|
-
platformVersion: '4.2.2',
|
710
|
+
platformVersion: new Version(4, 2, 2),
|
830
711
|
engine: 'AppleWebKit',
|
831
|
-
|
832
|
-
engineVersion: '535.19',
|
712
|
+
engineVersion: new Version(535, 19),
|
833
713
|
documentMode: undefined,
|
834
714
|
browserInfo: {
|
835
715
|
hasWebFontSupport: true,
|
@@ -843,14 +723,11 @@ describe('UserAgentParser', function () {
|
|
843
723
|
expect(parse('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24'))
|
844
724
|
.toMatchUserAgent({
|
845
725
|
name: 'Chrome',
|
846
|
-
|
847
|
-
version: '11.0.696.34',
|
726
|
+
version: new Version(11, 0, 696, 34),
|
848
727
|
platform: 'Linux',
|
849
|
-
|
850
|
-
platformVersion: 'Unknown',
|
728
|
+
platformVersion: new Version(),
|
851
729
|
engine: 'AppleWebKit',
|
852
|
-
|
853
|
-
engineVersion: '534.24',
|
730
|
+
engineVersion: new Version(534, 24),
|
854
731
|
documentMode: undefined,
|
855
732
|
browserInfo: {
|
856
733
|
hasWebFontSupport: true,
|
@@ -864,14 +741,11 @@ describe('UserAgentParser', function () {
|
|
864
741
|
expect(parse('Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; sdk Build/MASTER) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30'))
|
865
742
|
.toMatchUserAgent({
|
866
743
|
name: 'BuiltinBrowser',
|
867
|
-
|
868
|
-
version: 'Unknown',
|
744
|
+
version: new Version(),
|
869
745
|
platform: 'Android',
|
870
|
-
|
871
|
-
platformVersion: '4.1.2',
|
746
|
+
platformVersion: new Version(4, 1, 2),
|
872
747
|
engine: 'AppleWebKit',
|
873
|
-
|
874
|
-
engineVersion: '534.30',
|
748
|
+
engineVersion: new Version(534, 30),
|
875
749
|
documentMode: undefined,
|
876
750
|
browserInfo: {
|
877
751
|
hasWebFontSupport: true,
|
@@ -885,14 +759,11 @@ describe('UserAgentParser', function () {
|
|
885
759
|
expect(parse('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24'))
|
886
760
|
.toMatchUserAgent({
|
887
761
|
name: 'Chrome',
|
888
|
-
|
889
|
-
version: '11.0.696.34',
|
762
|
+
version: new Version(11, 0, 696, 34),
|
890
763
|
platform: 'Linux',
|
891
|
-
|
892
|
-
platformVersion: 'Unknown',
|
764
|
+
platformVersion: new Version(),
|
893
765
|
engine: 'AppleWebKit',
|
894
|
-
|
895
|
-
engineVersion: '534.24',
|
766
|
+
engineVersion: new Version(534, 24),
|
896
767
|
documentMode: undefined,
|
897
768
|
browserInfo: {
|
898
769
|
hasWebFontSupport: true,
|
@@ -906,14 +777,11 @@ describe('UserAgentParser', function () {
|
|
906
777
|
expect(parse('Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; Nexus S Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'))
|
907
778
|
.toMatchUserAgent({
|
908
779
|
name: 'BuiltinBrowser',
|
909
|
-
|
910
|
-
version: 'Unknown',
|
780
|
+
version: new Version(),
|
911
781
|
platform: 'Android',
|
912
|
-
|
913
|
-
platformVersion: '4.1.2',
|
782
|
+
platformVersion: new Version(4, 1, 2),
|
914
783
|
engine: 'AppleWebKit',
|
915
|
-
|
916
|
-
engineVersion: '534.30',
|
784
|
+
engineVersion: new Version(534, 30),
|
917
785
|
documentMode: undefined,
|
918
786
|
browserInfo: {
|
919
787
|
hasWebFontSupport: true,
|
@@ -927,14 +795,11 @@ describe('UserAgentParser', function () {
|
|
927
795
|
expect(parse('Mozilla/5.0 (BB10; Touch) AppleWebKit/537.3+ (KHTML, like Gecko) Version/10.0.9.388 Mobile Safari/537.3+'))
|
928
796
|
.toMatchUserAgent({
|
929
797
|
name: 'BuiltinBrowser',
|
930
|
-
|
931
|
-
version: 'Unknown',
|
798
|
+
version: new Version(),
|
932
799
|
platform: 'BlackBerry',
|
933
|
-
|
934
|
-
platformVersion: '10.0.9.388',
|
800
|
+
platformVersion: new Version(10, 0, 9, 388),
|
935
801
|
engine: 'AppleWebKit',
|
936
|
-
|
937
|
-
engineVersion: '537.3+',
|
802
|
+
engineVersion: new Version(537, 3),
|
938
803
|
documentMode: undefined,
|
939
804
|
browserInfo: {
|
940
805
|
hasWebFontSupport: true,
|
@@ -948,14 +813,11 @@ describe('UserAgentParser', function () {
|
|
948
813
|
expect(parse('Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+'))
|
949
814
|
.toMatchUserAgent({
|
950
815
|
name: 'BuiltinBrowser',
|
951
|
-
|
952
|
-
version: 'Unknown',
|
816
|
+
version: new Version(),
|
953
817
|
platform: 'BlackBerry',
|
954
|
-
|
955
|
-
platformVersion: '7.1.0.346',
|
818
|
+
platformVersion: new Version(7, 1, 0, 346),
|
956
819
|
engine: 'AppleWebKit',
|
957
|
-
|
958
|
-
engineVersion: '534.11+',
|
820
|
+
engineVersion: new Version(534, 11),
|
959
821
|
documentMode: undefined,
|
960
822
|
browserInfo: {
|
961
823
|
hasWebFontSupport: false,
|
@@ -969,14 +831,11 @@ describe('UserAgentParser', function () {
|
|
969
831
|
expect(parse('Mozilla/5.0 (PlayStation 4 1.70) AppleWebKit/536.26 (KHTML, like Gecko)'))
|
970
832
|
.toMatchUserAgent({
|
971
833
|
name: 'BuiltinBrowser',
|
972
|
-
|
973
|
-
version: 'Unknown',
|
834
|
+
version: new Version(),
|
974
835
|
platform: 'Linux',
|
975
|
-
|
976
|
-
platformVersion: 'Unknown',
|
836
|
+
platformVersion: new Version(),
|
977
837
|
engine: 'AppleWebKit',
|
978
|
-
|
979
|
-
engineVersion: '536.26',
|
838
|
+
engineVersion: new Version(536, 26),
|
980
839
|
documentMode: undefined,
|
981
840
|
browserInfo: {
|
982
841
|
hasWebFontSupport: true,
|
@@ -992,14 +851,11 @@ describe('UserAgentParser', function () {
|
|
992
851
|
expect(parse('Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFOT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Mobile Safari/535.19 Silk-Accelerated=false'))
|
993
852
|
.toMatchUserAgent({
|
994
853
|
name: 'Silk',
|
995
|
-
|
996
|
-
version: '2.6',
|
854
|
+
version: new Version(2, 6),
|
997
855
|
platform: 'Android',
|
998
|
-
|
999
|
-
platformVersion: '4.0.3',
|
856
|
+
platformVersion: new Version(4, 0, 3),
|
1000
857
|
engine: 'AppleWebKit',
|
1001
|
-
|
1002
|
-
engineVersion: '535.19',
|
858
|
+
engineVersion: new Version(535, 19),
|
1003
859
|
documentMode: undefined,
|
1004
860
|
browserInfo: {
|
1005
861
|
hasWebFontSupport: true,
|
@@ -1013,14 +869,11 @@ describe('UserAgentParser', function () {
|
|
1013
869
|
expect(parse('Mozilla/5.0 (Linux; U; en-us; KFOT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Safari/535.19 Silk-Accelerated=false'))
|
1014
870
|
.toMatchUserAgent({
|
1015
871
|
name: 'Silk',
|
1016
|
-
|
1017
|
-
version: '2.6',
|
872
|
+
version: new Version(2, 6),
|
1018
873
|
platform: 'Linux',
|
1019
|
-
|
1020
|
-
platformVersion: 'Unknown',
|
874
|
+
platformVersion: new Version(),
|
1021
875
|
engine: 'AppleWebKit',
|
1022
|
-
|
1023
|
-
engineVersion: '535.19',
|
876
|
+
engineVersion: new Version(535, 19),
|
1024
877
|
documentMode: undefined,
|
1025
878
|
browserInfo: {
|
1026
879
|
hasWebFontSupport: true,
|
@@ -1034,14 +887,11 @@ describe('UserAgentParser', function () {
|
|
1034
887
|
expect(parse('Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Mobile Safari/535.19 Silk-Accelerated=false'))
|
1035
888
|
.toMatchUserAgent({
|
1036
889
|
name: 'Silk',
|
1037
|
-
|
1038
|
-
version: '2.6',
|
890
|
+
version: new Version(2, 6),
|
1039
891
|
platform: 'Android',
|
1040
|
-
|
1041
|
-
platformVersion: '4.0.3',
|
892
|
+
platformVersion: new Version(4, 0, 3),
|
1042
893
|
engine: 'AppleWebKit',
|
1043
|
-
|
1044
|
-
engineVersion: '535.19',
|
894
|
+
engineVersion: new Version(535, 19),
|
1045
895
|
documentMode: undefined,
|
1046
896
|
browserInfo: {
|
1047
897
|
hasWebFontSupport: true,
|
@@ -1055,14 +905,11 @@ describe('UserAgentParser', function () {
|
|
1055
905
|
expect(parse('Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Safari/535.19 Silk-Accelerated=false'))
|
1056
906
|
.toMatchUserAgent({
|
1057
907
|
name: 'Silk',
|
1058
|
-
|
1059
|
-
version: '2.6',
|
908
|
+
version: new Version(2, 6),
|
1060
909
|
platform: 'Linux',
|
1061
|
-
|
1062
|
-
platformVersion: 'Unknown',
|
910
|
+
platformVersion: new Version(),
|
1063
911
|
engine: 'AppleWebKit',
|
1064
|
-
|
1065
|
-
engineVersion: '535.19',
|
912
|
+
engineVersion: new Version(535, 19),
|
1066
913
|
documentMode: undefined,
|
1067
914
|
browserInfo: {
|
1068
915
|
hasWebFontSupport: true,
|
@@ -1076,14 +923,11 @@ describe('UserAgentParser', function () {
|
|
1076
923
|
expect(parse('Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFJWI Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Mobile Safari/535.19 Silk-Accelerated=false'))
|
1077
924
|
.toMatchUserAgent({
|
1078
925
|
name: 'Silk',
|
1079
|
-
|
1080
|
-
version: '2.6',
|
926
|
+
version: new Version(2, 6),
|
1081
927
|
platform: 'Android',
|
1082
|
-
|
1083
|
-
platformVersion: '4.0.3',
|
928
|
+
platformVersion: new Version(4, 0, 3),
|
1084
929
|
engine: 'AppleWebKit',
|
1085
|
-
|
1086
|
-
engineVersion: '535.19',
|
930
|
+
engineVersion: new Version(535, 19),
|
1087
931
|
documentMode: undefined,
|
1088
932
|
browserInfo: {
|
1089
933
|
hasWebFontSupport: true,
|
@@ -1097,14 +941,11 @@ describe('UserAgentParser', function () {
|
|
1097
941
|
expect(parse('Mozilla/5.0 (Linux; U; en-us; KFJWI Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Safari/535.19 Silk-Accelerated=false'))
|
1098
942
|
.toMatchUserAgent({
|
1099
943
|
name: 'Silk',
|
1100
|
-
|
1101
|
-
version: '2.6',
|
944
|
+
version: new Version(2, 6),
|
1102
945
|
platform: 'Linux',
|
1103
|
-
|
1104
|
-
platformVersion: 'Unknown',
|
946
|
+
platformVersion: new Version(),
|
1105
947
|
engine: 'AppleWebKit',
|
1106
|
-
|
1107
|
-
engineVersion: '535.19',
|
948
|
+
engineVersion: new Version(535, 19),
|
1108
949
|
documentMode: undefined,
|
1109
950
|
browserInfo: {
|
1110
951
|
hasWebFontSupport: true,
|
@@ -1118,14 +959,11 @@ describe('UserAgentParser', function () {
|
|
1118
959
|
expect(parse('Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFJWA Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Mobile Safari/535.19 Silk-Accelerated=false'))
|
1119
960
|
.toMatchUserAgent({
|
1120
961
|
name: 'Silk',
|
1121
|
-
|
1122
|
-
version: '2.6',
|
962
|
+
version: new Version(2, 6),
|
1123
963
|
platform: 'Android',
|
1124
|
-
|
1125
|
-
platformVersion: '4.0.3',
|
964
|
+
platformVersion: new Version(4, 0, 3),
|
1126
965
|
engine: 'AppleWebKit',
|
1127
|
-
|
1128
|
-
engineVersion: '535.19',
|
966
|
+
engineVersion: new Version(535, 19),
|
1129
967
|
documentMode: undefined,
|
1130
968
|
browserInfo: {
|
1131
969
|
hasWebFontSupport: true,
|
@@ -1139,14 +977,11 @@ describe('UserAgentParser', function () {
|
|
1139
977
|
expect(parse('Mozilla/5.0 (Linux; U; en-us; KFJWA Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/2.6 Safari/535.19 Silk-Accelerated=false'))
|
1140
978
|
.toMatchUserAgent({
|
1141
979
|
name: 'Silk',
|
1142
|
-
|
1143
|
-
version: '2.6',
|
980
|
+
version: new Version(2, 6),
|
1144
981
|
platform: 'Linux',
|
1145
|
-
|
1146
|
-
platformVersion: 'Unknown',
|
982
|
+
platformVersion: new Version(),
|
1147
983
|
engine: 'AppleWebKit',
|
1148
|
-
|
1149
|
-
engineVersion: '535.19',
|
984
|
+
engineVersion: new Version(535, 19),
|
1150
985
|
documentMode: undefined,
|
1151
986
|
browserInfo: {
|
1152
987
|
hasWebFontSupport: true,
|
@@ -1160,14 +995,11 @@ describe('UserAgentParser', function () {
|
|
1160
995
|
expect(parse('Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Silk/1.0.22.79_10013310) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Silk-Accelerated=false'))
|
1161
996
|
.toMatchUserAgent({
|
1162
997
|
name: 'Silk',
|
1163
|
-
|
1164
|
-
version: '1.0.22.79_10013310',
|
998
|
+
version: new Version(1, 0, 22, '79_10013310'),
|
1165
999
|
platform: 'Android',
|
1166
|
-
|
1167
|
-
platformVersion: '2.3.4',
|
1000
|
+
platformVersion: new Version(2, 3, 4),
|
1168
1001
|
engine: 'AppleWebKit',
|
1169
|
-
|
1170
|
-
engineVersion: '533.1',
|
1002
|
+
engineVersion: new Version(533, 1),
|
1171
1003
|
documentMode: undefined,
|
1172
1004
|
browserInfo: {
|
1173
1005
|
hasWebFontSupport: true,
|
@@ -1181,14 +1013,11 @@ describe('UserAgentParser', function () {
|
|
1181
1013
|
expect(parse('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.22.79_10013310) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=false'))
|
1182
1014
|
.toMatchUserAgent({
|
1183
1015
|
name: 'Silk',
|
1184
|
-
|
1185
|
-
version: '1.0.22.79_10013310',
|
1016
|
+
version: new Version(1, 0, 22, '79_10013310'),
|
1186
1017
|
platform: 'Macintosh',
|
1187
|
-
|
1188
|
-
platformVersion: '10_6_3',
|
1018
|
+
platformVersion: new Version(10, 6, 3),
|
1189
1019
|
engine: 'AppleWebKit',
|
1190
|
-
|
1191
|
-
engineVersion: '533.16',
|
1020
|
+
engineVersion: new Version(533, 16),
|
1192
1021
|
documentMode: undefined,
|
1193
1022
|
browserInfo: {
|
1194
1023
|
hasWebFontSupport: true,
|
@@ -1204,14 +1033,11 @@ describe('UserAgentParser', function () {
|
|
1204
1033
|
expect(parse('Opera/9.80 (Linux i686; U; en) Presto/2.5.22 Version/10.51'))
|
1205
1034
|
.toMatchUserAgent({
|
1206
1035
|
name: 'Opera',
|
1207
|
-
|
1208
|
-
version: '10.51',
|
1036
|
+
version: new Version(10, 51),
|
1209
1037
|
platform: 'Linux',
|
1210
|
-
|
1211
|
-
platformVersion: 'Unknown',
|
1038
|
+
platformVersion: new Version(), //'i686'
|
1212
1039
|
engine: 'Presto',
|
1213
|
-
|
1214
|
-
engineVersion: '2.5.22',
|
1040
|
+
engineVersion: new Version(2, 5, 22),
|
1215
1041
|
documentMode: undefined,
|
1216
1042
|
browserInfo: {
|
1217
1043
|
hasWebFontSupport: true,
|
@@ -1225,14 +1051,11 @@ describe('UserAgentParser', function () {
|
|
1225
1051
|
expect(parse('Mozilla/5.0 (Linux i686 ; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.70'))
|
1226
1052
|
.toMatchUserAgent({
|
1227
1053
|
name: 'Opera',
|
1228
|
-
|
1229
|
-
version: '9.70',
|
1054
|
+
version: new Version(9, 70),
|
1230
1055
|
platform: 'Linux',
|
1231
|
-
|
1232
|
-
platformVersion: 'Unknown',
|
1056
|
+
platformVersion: new Version(), //'i686'
|
1233
1057
|
engine: 'Gecko',
|
1234
|
-
|
1235
|
-
engineVersion: '1.8.1',
|
1058
|
+
engineVersion: new Version(1, 8, 1),
|
1236
1059
|
documentMode: undefined,
|
1237
1060
|
browserInfo: {
|
1238
1061
|
hasWebFontSupport: false,
|
@@ -1246,14 +1069,11 @@ describe('UserAgentParser', function () {
|
|
1246
1069
|
expect(parse('Opera/9.64 (X11; Linux i686; U; Linux Mint; nb) Presto/2.1.1'))
|
1247
1070
|
.toMatchUserAgent({
|
1248
1071
|
name: 'Opera',
|
1249
|
-
|
1250
|
-
version: '9.64',
|
1072
|
+
version: new Version(9, 64),
|
1251
1073
|
platform: 'Linux',
|
1252
|
-
|
1253
|
-
platformVersion: 'Unknown',
|
1074
|
+
platformVersion: new Version(), //'i686'
|
1254
1075
|
engine: 'Presto',
|
1255
|
-
|
1256
|
-
engineVersion: '2.1.1',
|
1076
|
+
engineVersion: new Version(2, 1, 1),
|
1257
1077
|
documentMode: undefined,
|
1258
1078
|
browserInfo: {
|
1259
1079
|
hasWebFontSupport: false,
|
@@ -1267,14 +1087,11 @@ describe('UserAgentParser', function () {
|
|
1267
1087
|
expect(parse('Opera/9.80 (Android 4.1.1; Linux; Opera Mobi/ADR-1207201819; U; en) Presto/2.10.254 Version/12.00'))
|
1268
1088
|
.toMatchUserAgent({
|
1269
1089
|
name: 'Opera',
|
1270
|
-
|
1271
|
-
version: '12.00',
|
1090
|
+
version: new Version(12, 0),
|
1272
1091
|
platform: 'Android',
|
1273
|
-
|
1274
|
-
platformVersion: '4.1.1',
|
1092
|
+
platformVersion: new Version(4, 1, 1),
|
1275
1093
|
engine: 'Presto',
|
1276
|
-
|
1277
|
-
engineVersion: '2.10.254',
|
1094
|
+
engineVersion: new Version(2, 10, 254),
|
1278
1095
|
documentMode: undefined,
|
1279
1096
|
browserInfo: {
|
1280
1097
|
hasWebFontSupport: true,
|
@@ -1288,14 +1105,11 @@ describe('UserAgentParser', function () {
|
|
1288
1105
|
expect(parse('Opera/9.80 (Android; Opera Mini/7.0.29952/28.2144; U; en) Presto/2.8.119 Version/11.10'))
|
1289
1106
|
.toMatchUserAgent({
|
1290
1107
|
name: 'OperaMini',
|
1291
|
-
|
1292
|
-
version: '7.0.29952',
|
1108
|
+
version: new Version(7, 0, 29952),
|
1293
1109
|
platform: 'Android',
|
1294
|
-
|
1295
|
-
platformVersion: 'Unknown',
|
1110
|
+
platformVersion: new Version(),
|
1296
1111
|
engine: 'Presto',
|
1297
|
-
|
1298
|
-
engineVersion: '2.8.119',
|
1112
|
+
engineVersion: new Version(2, 8, 119),
|
1299
1113
|
documentMode: undefined,
|
1300
1114
|
browserInfo: {
|
1301
1115
|
hasWebFontSupport: false,
|
@@ -1309,14 +1123,11 @@ describe('UserAgentParser', function () {
|
|
1309
1123
|
expect(parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.20 Safari/537.36 OPR/15.0.1147.18 (Edition Next)'))
|
1310
1124
|
.toMatchUserAgent({
|
1311
1125
|
name: 'Opera',
|
1312
|
-
|
1313
|
-
version: '15.0.1147.18',
|
1126
|
+
version: new Version(15, 0, 1147, 18),
|
1314
1127
|
platform: 'Macintosh',
|
1315
|
-
|
1316
|
-
platformVersion: '10_8_3',
|
1128
|
+
platformVersion: new Version(10, 8, 3),
|
1317
1129
|
engine: 'AppleWebKit',
|
1318
|
-
|
1319
|
-
engineVersion: '537.36',
|
1130
|
+
engineVersion: new Version(537, 36),
|
1320
1131
|
documentMode: undefined,
|
1321
1132
|
browserInfo: {
|
1322
1133
|
hasWebFontSupport: true,
|
@@ -1332,14 +1143,11 @@ describe('UserAgentParser', function () {
|
|
1332
1143
|
expect(parse('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5'))
|
1333
1144
|
.toMatchUserAgent({
|
1334
1145
|
name: 'Chrome',
|
1335
|
-
|
1336
|
-
version: '19.0.1084.9',
|
1146
|
+
version: new Version(19, 0, 1084, 9),
|
1337
1147
|
platform: 'Linux',
|
1338
|
-
|
1339
|
-
platformVersion: 'Unknown',
|
1148
|
+
platformVersion: new Version(),
|
1340
1149
|
engine: 'AppleWebKit',
|
1341
|
-
|
1342
|
-
engineVersion: '536.5',
|
1150
|
+
engineVersion: new Version(536, 5),
|
1343
1151
|
documentMode: undefined,
|
1344
1152
|
browserInfo: {
|
1345
1153
|
hasWebFontSupport: true,
|
@@ -1353,14 +1161,11 @@ describe('UserAgentParser', function () {
|
|
1353
1161
|
expect(parse('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.814.2 Safari/536.11'))
|
1354
1162
|
.toMatchUserAgent({
|
1355
1163
|
name: 'Chrome',
|
1356
|
-
|
1357
|
-
version: '20.0.814.2',
|
1164
|
+
version: new Version(20, 0, 814, 2),
|
1358
1165
|
platform: 'Linux',
|
1359
|
-
|
1360
|
-
platformVersion: 'Unknown',
|
1166
|
+
platformVersion: new Version(),
|
1361
1167
|
engine: 'AppleWebKit',
|
1362
|
-
|
1363
|
-
engineVersion: '536.11',
|
1168
|
+
engineVersion: new Version(536, 11),
|
1364
1169
|
documentMode: undefined,
|
1365
1170
|
browserInfo: {
|
1366
1171
|
hasWebFontSupport: true,
|
@@ -1372,60 +1177,15 @@ describe('UserAgentParser', function () {
|
|
1372
1177
|
});
|
1373
1178
|
|
1374
1179
|
describe('Invented user agents', function () {
|
1375
|
-
it('should detect Gecko as supporting web fonts', function () {
|
1376
|
-
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.9.1.4) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1377
|
-
.toMatchUserAgent({
|
1378
|
-
name: 'Mozilla',
|
1379
|
-
parsedVersion: new Version(),
|
1380
|
-
version: 'Unknown',
|
1381
|
-
platform: 'Windows',
|
1382
|
-
parsedPlatformVersion: new Version(5, 1),
|
1383
|
-
platformVersion: '5.1',
|
1384
|
-
engine: 'Gecko',
|
1385
|
-
parsedEngineVersion: new Version(1, 9, 1, 4),
|
1386
|
-
engineVersion: '1.9.1.4',
|
1387
|
-
documentMode: undefined,
|
1388
|
-
browserInfo: {
|
1389
|
-
hasWebFontSupport: true,
|
1390
|
-
hasWebKitFallbackBug: false,
|
1391
|
-
hasWebKitMetricsBug: false
|
1392
|
-
}
|
1393
|
-
});
|
1394
|
-
});
|
1395
|
-
|
1396
|
-
it('should detect unknown parsedVersions of Gecko as supporting web fonts', function () {
|
1180
|
+
it('should detect unknown versions of Gecko as supporting web fonts', function () {
|
1397
1181
|
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:2.5.8) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1398
1182
|
.toMatchUserAgent({
|
1399
1183
|
name: 'Mozilla',
|
1400
|
-
|
1401
|
-
version: 'Unknown',
|
1402
|
-
platform: 'Windows',
|
1403
|
-
parsedPlatformVersion: new Version(5, 1),
|
1404
|
-
platformVersion: '5.1',
|
1405
|
-
engine: 'Gecko',
|
1406
|
-
parsedEngineVersion: new Version(2, 5, 8),
|
1407
|
-
engineVersion: '2.5.8',
|
1408
|
-
documentMode: undefined,
|
1409
|
-
browserInfo: {
|
1410
|
-
hasWebFontSupport: true,
|
1411
|
-
hasWebKitFallbackBug: false,
|
1412
|
-
hasWebKitMetricsBug: false
|
1413
|
-
}
|
1414
|
-
});
|
1415
|
-
});
|
1416
|
-
|
1417
|
-
it('should detect Gecko v1.10 as supporting web fonts', function () {
|
1418
|
-
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.10.1b) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1419
|
-
.toMatchUserAgent({
|
1420
|
-
name: 'Mozilla',
|
1421
|
-
parsedVersion: new Version(),
|
1422
|
-
version: 'Unknown',
|
1184
|
+
version: new Version(),
|
1423
1185
|
platform: 'Windows',
|
1424
|
-
|
1425
|
-
platformVersion: '5.1',
|
1186
|
+
platformVersion: new Version(5, 1),
|
1426
1187
|
engine: 'Gecko',
|
1427
|
-
|
1428
|
-
engineVersion: '1.10.1b',
|
1188
|
+
engineVersion: new Version(2, 5, 8),
|
1429
1189
|
documentMode: undefined,
|
1430
1190
|
browserInfo: {
|
1431
1191
|
hasWebFontSupport: true,
|
@@ -1435,18 +1195,15 @@ describe('UserAgentParser', function () {
|
|
1435
1195
|
});
|
1436
1196
|
});
|
1437
1197
|
|
1438
|
-
it('should detect Gecko with an invalid
|
1198
|
+
it('should detect Gecko with an invalid version number as not supporting web fonts', function () {
|
1439
1199
|
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.b) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1440
1200
|
.toMatchUserAgent({
|
1441
1201
|
name: 'Mozilla',
|
1442
|
-
|
1443
|
-
version: 'Unknown',
|
1202
|
+
version: new Version(),
|
1444
1203
|
platform: 'Windows',
|
1445
|
-
|
1446
|
-
platformVersion: '5.1',
|
1204
|
+
platformVersion: new Version(5, 1),
|
1447
1205
|
engine: 'Gecko',
|
1448
|
-
|
1449
|
-
engineVersion: '1.b',
|
1206
|
+
engineVersion: new Version(1, null, null, 'b'),
|
1450
1207
|
documentMode: undefined,
|
1451
1208
|
browserInfo: {
|
1452
1209
|
hasWebFontSupport: false,
|
@@ -1458,14 +1215,11 @@ describe('UserAgentParser', function () {
|
|
1458
1215
|
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.b) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1459
1216
|
.toMatchUserAgent({
|
1460
1217
|
name: 'Mozilla',
|
1461
|
-
|
1462
|
-
version: 'Unknown',
|
1218
|
+
version: new Version(),
|
1463
1219
|
platform: 'Windows',
|
1464
|
-
|
1465
|
-
platformVersion: '5.1',
|
1220
|
+
platformVersion: new Version(5, 1),
|
1466
1221
|
engine: 'Gecko',
|
1467
|
-
|
1468
|
-
engineVersion: '1.b',
|
1222
|
+
engineVersion: new Version(1, null, null, 'b'),
|
1469
1223
|
documentMode: undefined,
|
1470
1224
|
browserInfo: {
|
1471
1225
|
hasWebFontSupport: false,
|
@@ -1477,14 +1231,11 @@ describe('UserAgentParser', function () {
|
|
1477
1231
|
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.9) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1478
1232
|
.toMatchUserAgent({
|
1479
1233
|
name: 'Mozilla',
|
1480
|
-
|
1481
|
-
version: 'Unknown',
|
1234
|
+
version: new Version(),
|
1482
1235
|
platform: 'Windows',
|
1483
|
-
|
1484
|
-
platformVersion: '5.1',
|
1236
|
+
platformVersion: new Version(5, 1),
|
1485
1237
|
engine: 'Gecko',
|
1486
|
-
|
1487
|
-
engineVersion: '1.9',
|
1238
|
+
engineVersion: new Version(1, 9),
|
1488
1239
|
documentMode: undefined,
|
1489
1240
|
browserInfo: {
|
1490
1241
|
hasWebFontSupport: false,
|
@@ -1496,14 +1247,11 @@ describe('UserAgentParser', function () {
|
|
1496
1247
|
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:0.10.1) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1497
1248
|
.toMatchUserAgent({
|
1498
1249
|
name: 'Mozilla',
|
1499
|
-
|
1500
|
-
version: 'Unknown',
|
1250
|
+
version: new Version(),
|
1501
1251
|
platform: 'Windows',
|
1502
|
-
|
1503
|
-
platformVersion: '5.1',
|
1252
|
+
platformVersion: new Version(5, 1),
|
1504
1253
|
engine: 'Gecko',
|
1505
|
-
|
1506
|
-
engineVersion: '0.10.1',
|
1254
|
+
engineVersion: new Version(0, 10, 1),
|
1507
1255
|
documentMode: undefined,
|
1508
1256
|
browserInfo: {
|
1509
1257
|
hasWebFontSupport: false,
|
@@ -1515,14 +1263,11 @@ describe('UserAgentParser', function () {
|
|
1515
1263
|
expect(parse('Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:0.3.42) Gecko/20091016 (.NET CLR 3.5.30729)'))
|
1516
1264
|
.toMatchUserAgent({
|
1517
1265
|
name: 'Mozilla',
|
1518
|
-
|
1519
|
-
version: 'Unknown',
|
1266
|
+
version: new Version(),
|
1520
1267
|
platform: 'Windows',
|
1521
|
-
|
1522
|
-
platformVersion: '5.1',
|
1268
|
+
platformVersion: new Version(5, 1),
|
1523
1269
|
engine: 'Gecko',
|
1524
|
-
|
1525
|
-
engineVersion: '0.3.42',
|
1270
|
+
engineVersion: new Version(0, 3, 42),
|
1526
1271
|
documentMode: undefined,
|
1527
1272
|
browserInfo: {
|
1528
1273
|
hasWebFontSupport: false,
|
@@ -1538,14 +1283,11 @@ describe('UserAgentParser', function () {
|
|
1538
1283
|
expect(parse('Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.0 (development) Safari/534.34'))
|
1539
1284
|
.toMatchUserAgent({
|
1540
1285
|
name: 'PhantomJS',
|
1541
|
-
|
1542
|
-
version: '1.9.0',
|
1286
|
+
version: new Version(1, 9, 0),
|
1543
1287
|
platform: 'Macintosh',
|
1544
|
-
|
1545
|
-
platformVersion: 'Unknown',
|
1288
|
+
platformVersion: new Version(),
|
1546
1289
|
engine: 'AppleWebKit',
|
1547
|
-
|
1548
|
-
engineVersion: '534.34',
|
1290
|
+
engineVersion: new Version(534, 34),
|
1549
1291
|
documentMode: undefined,
|
1550
1292
|
browserInfo: {
|
1551
1293
|
hasWebFontSupport: true,
|