browser 1.0.1 → 1.1.0

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.
@@ -0,0 +1,60 @@
1
+ require "test_helper"
2
+
3
+ class ChromeTest < Minitest::Test
4
+ setup do
5
+ @browser = Browser.new
6
+ end
7
+
8
+ test "detects chrome" do
9
+ @browser.ua = $ua["CHROME"]
10
+
11
+ assert_equal "Chrome", @browser.name
12
+ assert @browser.chrome?
13
+ refute @browser.safari?
14
+ assert @browser.webkit?
15
+ assert @browser.modern?
16
+ assert_equal "5.0.375.99", @browser.full_version
17
+ assert_equal "5", @browser.version
18
+ end
19
+
20
+ test "detects mobile chrome" do
21
+ @browser.ua = $ua["MOBILE_CHROME"]
22
+
23
+ assert_equal "Chrome", @browser.name
24
+ assert @browser.chrome?
25
+ refute @browser.safari?
26
+ assert @browser.webkit?
27
+ assert @browser.modern?
28
+ assert_equal "19.0.1084.60", @browser.full_version
29
+ assert_equal "19", @browser.version
30
+ end
31
+
32
+ test "detects samsung chrome" do
33
+ @browser.ua = $ua["SAMSUNG_CHROME"]
34
+
35
+ assert_equal "Chrome", @browser.name
36
+ assert @browser.chrome?
37
+ assert @browser.android?
38
+ refute @browser.safari?
39
+ assert @browser.webkit?
40
+ assert @browser.modern?
41
+ assert_equal "28.0.1500.94", @browser.full_version
42
+ assert_equal "28", @browser.version
43
+ end
44
+
45
+ test "detects chrome os" do
46
+ @browser.ua = $ua["CHROME_OS"]
47
+ assert @browser.chrome_os?
48
+ end
49
+
50
+ test "detects yandex browser" do
51
+ @browser.ua = $ua["YANDEX_BROWSER"]
52
+
53
+ assert @browser.yandex?
54
+ assert @browser.chrome?
55
+ refute @browser.safari?
56
+ assert @browser.webkit?
57
+ assert_equal "41.0.2272.118", @browser.full_version
58
+ assert_equal "41", @browser.version
59
+ end
60
+ end
@@ -0,0 +1,71 @@
1
+ require "test_helper"
2
+
3
+ class ConsoleTest < Minitest::Test
4
+ setup do
5
+ @browser = Browser.new
6
+ end
7
+
8
+ test "detects nintendo wii" do
9
+ @browser.ua = $ua["NINTENDO_WII"]
10
+
11
+ assert @browser.console?
12
+ assert @browser.nintendo?
13
+ end
14
+
15
+ test "detects nintendo wii u" do
16
+ @browser.ua = $ua["NINTENDO_WIIU"]
17
+
18
+ assert @browser.console?
19
+ assert @browser.nintendo?
20
+ end
21
+
22
+ test "detects playstation 3" do
23
+ @browser.ua = $ua["PLAYSTATION3"]
24
+
25
+ assert @browser.console?
26
+ assert @browser.playstation?
27
+ refute @browser.playstation4?
28
+ end
29
+
30
+ test "detects playstation 4" do
31
+ @browser.ua = $ua["PLAYSTATION4"]
32
+
33
+ assert @browser.console?
34
+ assert @browser.playstation?
35
+ assert @browser.playstation4?
36
+ end
37
+
38
+ test "detects xbox 360" do
39
+ @browser.ua = $ua["XBOX360"]
40
+
41
+ assert @browser.console?
42
+ assert @browser.xbox?
43
+ refute @browser.xbox_one?
44
+ end
45
+
46
+ test "detects xbox one" do
47
+ @browser.ua = $ua["XBOXONE"]
48
+
49
+ assert @browser.console?
50
+ assert @browser.xbox?
51
+ assert @browser.xbox_one?
52
+ end
53
+
54
+ test "detects psp" do
55
+ @browser.ua = $ua["PSP"]
56
+
57
+ assert_equal "PlayStation Portable", @browser.name
58
+ assert @browser.psp?
59
+ refute @browser.psp_vita?
60
+ assert @browser.mobile?
61
+ end
62
+
63
+ test "detects psp vita" do
64
+ @browser.ua = $ua["PSP_VITA"]
65
+
66
+ assert_equal "PlayStation Portable", @browser.name
67
+ assert @browser.psp?
68
+ assert @browser.psp_vita?
69
+ assert @browser.mobile?
70
+ end
71
+ end
@@ -0,0 +1,41 @@
1
+ require "test_helper"
2
+
3
+ class FirefoxTest < Minitest::Test
4
+ setup do
5
+ @browser = Browser.new
6
+ end
7
+
8
+ test "detects firefox" do
9
+ @browser.ua = $ua["FIREFOX"]
10
+
11
+ assert_equal "Firefox", @browser.name
12
+ assert @browser.firefox?
13
+ refute @browser.modern?
14
+ assert_equal "3.8", @browser.full_version
15
+ assert_equal "3", @browser.version
16
+ end
17
+
18
+ test "detects modern firefox" do
19
+ @browser.ua = $ua["FIREFOX_MODERN"]
20
+
21
+ assert_equal :firefox, @browser.id
22
+ assert_equal "Firefox", @browser.name
23
+ assert @browser.firefox?
24
+ assert @browser.modern?
25
+ assert_equal "17.0", @browser.full_version
26
+ assert_equal "17", @browser.version
27
+ end
28
+
29
+ test "detects firefox android tablet" do
30
+ @browser.ua = $ua["FIREFOX_TABLET"]
31
+
32
+ assert_equal :firefox, @browser.id
33
+ assert_equal "Firefox", @browser.name
34
+ assert @browser.firefox?
35
+ assert @browser.modern?
36
+ assert @browser.tablet?
37
+ assert @browser.android?
38
+ assert_equal "14.0", @browser.full_version
39
+ assert_equal "14", @browser.version
40
+ end
41
+ end
@@ -0,0 +1,379 @@
1
+ require "test_helper"
2
+
3
+ class IeTest < Minitest::Test
4
+ setup do
5
+ @browser = Browser.new
6
+ end
7
+
8
+ test "detects ie6" do
9
+ @browser.ua = $ua["IE6"]
10
+
11
+ assert_equal "Internet Explorer", @browser.name
12
+ assert @browser.ie?
13
+ assert @browser.ie?(6)
14
+ refute @browser.modern?
15
+ assert_equal "6.0", @browser.full_version
16
+ assert_equal "6", @browser.version
17
+ end
18
+
19
+ test "detects ie7" do
20
+ @browser.ua = $ua["IE7"]
21
+
22
+ assert_equal "Internet Explorer", @browser.name
23
+ assert @browser.ie?
24
+ assert @browser.ie?(7)
25
+ refute @browser.modern?
26
+ assert_equal "7.0", @browser.full_version
27
+ assert_equal "7", @browser.version
28
+ end
29
+
30
+ test "detects ie8" do
31
+ @browser.ua = $ua["IE8"]
32
+
33
+ assert_equal "Internet Explorer", @browser.name
34
+ assert @browser.ie?
35
+ assert @browser.ie?(8)
36
+ refute @browser.modern?
37
+ refute @browser.compatibility_view?
38
+ assert_equal "8.0", @browser.full_version
39
+ assert_equal "8", @browser.version
40
+ end
41
+
42
+ test "detects ie8 in compatibility view" do
43
+ @browser.ua = $ua["IE8_COMPAT"]
44
+
45
+ assert_equal "Internet Explorer", @browser.name
46
+ assert @browser.ie?
47
+ assert @browser.ie?(8)
48
+ refute @browser.modern?
49
+ assert @browser.compatibility_view?
50
+ assert_equal "8.0", @browser.full_version
51
+ assert_equal "8", @browser.version
52
+ assert_equal "7.0", @browser.msie_full_version
53
+ assert_equal "7", @browser.msie_version
54
+ end
55
+
56
+ test "detects ie9" do
57
+ @browser.ua = $ua["IE9"]
58
+
59
+ assert_equal "Internet Explorer", @browser.name
60
+ assert @browser.ie?
61
+ assert @browser.ie?(9)
62
+ assert @browser.modern?
63
+ refute @browser.compatibility_view?
64
+ assert_equal "9.0", @browser.full_version
65
+ assert_equal "9", @browser.version
66
+ end
67
+
68
+ test "detects ie9 in compatibility view" do
69
+ @browser.ua = $ua["IE9_COMPAT"]
70
+
71
+ assert_equal "Internet Explorer", @browser.name
72
+ assert @browser.ie?
73
+ assert @browser.ie?(9)
74
+ refute @browser.modern?
75
+ assert @browser.compatibility_view?
76
+ assert_equal "9.0", @browser.full_version
77
+ assert_equal "9", @browser.version
78
+ assert_equal "7.0", @browser.msie_full_version
79
+ assert_equal "7", @browser.msie_version
80
+ end
81
+
82
+ test "detects ie10" do
83
+ @browser.ua = $ua["IE10"]
84
+
85
+ assert_equal "Internet Explorer", @browser.name
86
+ assert @browser.ie?
87
+ assert @browser.ie?(10)
88
+ assert @browser.modern?
89
+ refute @browser.compatibility_view?
90
+ assert_equal "10.0", @browser.full_version
91
+ assert_equal "10", @browser.version
92
+ end
93
+
94
+ test "detects ie10 in compatibility view" do
95
+ @browser.ua = $ua["IE10_COMPAT"]
96
+
97
+ assert_equal "Internet Explorer", @browser.name
98
+ assert @browser.ie?
99
+ assert @browser.ie?(10)
100
+ refute @browser.modern?
101
+ assert @browser.compatibility_view?
102
+ assert_equal "10.0", @browser.full_version
103
+ assert_equal "10", @browser.version
104
+ assert_equal "7.0", @browser.msie_full_version
105
+ assert_equal "7", @browser.msie_version
106
+ end
107
+
108
+ test "detects ie11" do
109
+ @browser.ua = $ua["IE11"]
110
+
111
+ assert_equal "Internet Explorer", @browser.name
112
+ assert @browser.ie?
113
+ assert @browser.ie?(11)
114
+ assert @browser.modern?
115
+ refute @browser.compatibility_view?
116
+ assert_equal "11.0", @browser.full_version
117
+ assert_equal "11", @browser.version
118
+ end
119
+
120
+ test "detects ie11 in compatibility view" do
121
+ @browser.ua = $ua["IE11_COMPAT"]
122
+
123
+ assert_equal "Internet Explorer", @browser.name
124
+ assert @browser.ie?
125
+ assert @browser.ie?(11)
126
+ refute @browser.modern?
127
+ assert @browser.compatibility_view?
128
+ assert_equal "11.0", @browser.full_version
129
+ assert_equal "11", @browser.version
130
+ assert_equal "7.0", @browser.msie_full_version
131
+ assert_equal "7", @browser.msie_version
132
+ end
133
+
134
+ test "detects Lumia 800" do
135
+ @browser.ua = $ua["LUMIA800"]
136
+
137
+ assert_equal "Internet Explorer", @browser.name
138
+ assert @browser.ie?
139
+ assert @browser.ie?(9)
140
+ assert_equal "9.0", @browser.full_version
141
+ assert_equal "9", @browser.version
142
+ refute @browser.tablet?
143
+ assert @browser.mobile?
144
+ end
145
+
146
+ test "detects ie11 touch desktop pc" do
147
+ @browser.ua = $ua["IE11_TOUCH_SCREEN"]
148
+
149
+ assert_equal "Internet Explorer", @browser.name
150
+ assert @browser.ie?
151
+ assert @browser.ie?(11)
152
+ assert @browser.modern?
153
+ refute @browser.compatibility_view?
154
+ refute @browser.windows_rt?
155
+ assert @browser.windows_touchscreen_desktop?
156
+ assert @browser.windows8?
157
+ assert_equal "11.0", @browser.full_version
158
+ assert_equal "11", @browser.version
159
+ end
160
+
161
+ test "detects Microsoft Edge" do
162
+ @browser.ua = $ua["MS_EDGE"]
163
+
164
+ assert_equal :edge, @browser.id
165
+ assert_equal "Microsoft Edge", @browser.name
166
+ assert_equal "12.0", @browser.full_version
167
+ assert_equal "12", @browser.version
168
+ assert @browser.windows10?
169
+ assert @browser.edge?
170
+ assert @browser.modern?
171
+ refute @browser.webkit?
172
+ refute @browser.chrome?
173
+ refute @browser.safari?
174
+ refute @browser.mobile?
175
+ end
176
+
177
+ test "detects Microsoft Edge in compatibility view" do
178
+ @browser.ua = $ua["MS_EDGE_COMPAT"]
179
+
180
+ assert_equal :edge, @browser.id
181
+ assert_equal "Microsoft Edge", @browser.name
182
+ assert_equal "12.0", @browser.full_version
183
+ assert_equal "12", @browser.version
184
+ assert_equal "7.0", @browser.msie_full_version
185
+ assert_equal "7", @browser.msie_version
186
+ assert @browser.edge?
187
+ assert @browser.compatibility_view?
188
+ refute @browser.modern?
189
+ refute @browser.webkit?
190
+ refute @browser.chrome?
191
+ refute @browser.safari?
192
+ refute @browser.mobile?
193
+ end
194
+
195
+ test "detects Microsoft Edge Mobile" do
196
+ @browser.ua = $ua["MS_EDGE_MOBILE"]
197
+
198
+ assert_equal :edge, @browser.id
199
+ assert_equal "Microsoft Edge", @browser.name
200
+ assert_equal "12.0", @browser.full_version
201
+ assert_equal "12", @browser.version
202
+ refute @browser.windows10?
203
+ assert @browser.windows_phone?
204
+ assert @browser.edge?
205
+ assert @browser.modern?
206
+ assert @browser.mobile?
207
+ refute @browser.webkit?
208
+ refute @browser.chrome?
209
+ refute @browser.safari?
210
+ end
211
+
212
+ test "detects IE without Trident" do
213
+ @browser.ua = $ua["IE_WITHOUT_TRIDENT"]
214
+
215
+ assert_equal :ie, @browser.id
216
+ assert_equal "Internet Explorer", @browser.name
217
+ assert_equal "0.0", @browser.msie_full_version
218
+ assert_equal "0", @browser.msie_version
219
+ assert_equal "0.0", @browser.full_version
220
+ assert_equal "0", @browser.version
221
+ refute @browser.windows10?
222
+ refute @browser.windows_phone?
223
+ refute @browser.edge?
224
+ refute @browser.modern?
225
+ refute @browser.mobile?
226
+ refute @browser.webkit?
227
+ refute @browser.chrome?
228
+ refute @browser.safari?
229
+ end
230
+
231
+ test "detects windows phone" do
232
+ @browser.ua = $ua["WINDOWS_PHONE"]
233
+
234
+ assert @browser.ie?
235
+ assert_equal "7", @browser.version
236
+ assert @browser.mobile?
237
+ assert @browser.windows_phone?
238
+ refute @browser.windows_mobile?
239
+ refute @browser.tablet?
240
+ end
241
+
242
+ test "detects windows phone 8" do
243
+ @browser.ua = $ua["WINDOWS_PHONE8"]
244
+
245
+ assert @browser.ie?
246
+ assert_equal "10", @browser.version
247
+ assert @browser.mobile?
248
+ assert @browser.windows_phone?
249
+ refute @browser.windows_mobile?
250
+ refute @browser.tablet?
251
+ end
252
+
253
+ test "detects windows phone 8.1" do
254
+ @browser.ua = $ua["WINDOWS_PHONE_81"]
255
+
256
+ assert @browser.ie?
257
+ assert_equal "Internet Explorer", @browser.name
258
+ assert_equal :ie, @browser.id
259
+ assert_equal "11", @browser.version
260
+ assert_equal "11.0", @browser.full_version
261
+ assert @browser.mobile?
262
+ assert @browser.windows_phone?
263
+ refute @browser.windows_mobile?
264
+ refute @browser.tablet?
265
+ end
266
+
267
+ test "detects windows mobile (windows phone 8)" do
268
+ @browser.ua = $ua["WINDOWS_PHONE8"]
269
+
270
+ assert @browser.ie?
271
+ assert_equal "10", @browser.version
272
+ assert @browser.mobile?
273
+ assert @browser.windows_phone?
274
+ refute @browser.windows_mobile?
275
+ refute @browser.tablet?
276
+ end
277
+
278
+ test "detects windows x64" do
279
+ @browser.ua = $ua["IE10_X64_WINX64"]
280
+ assert @browser.windows_x64?
281
+ refute @browser.windows_wow64?
282
+ assert @browser.windows_x64_inclusive?
283
+ end
284
+
285
+ test "detects windows wow64" do
286
+ @browser.ua = $ua["WINDOWS_WOW64"]
287
+ refute @browser.windows_x64?
288
+ assert @browser.windows_wow64?
289
+ assert @browser.windows_x64_inclusive?
290
+ end
291
+
292
+ test "detects windows platform" do
293
+ @browser.ua = "Windows"
294
+ assert_equal :windows, @browser.platform
295
+ assert @browser.windows?
296
+ end
297
+
298
+ test "detects windows_xp" do
299
+ @browser.ua = $ua["WINDOWS_XP"]
300
+
301
+ assert @browser.windows?
302
+ assert @browser.windows_xp?
303
+ end
304
+
305
+ test "detects windows_vista" do
306
+ @browser.ua = $ua["WINDOWS_VISTA"]
307
+
308
+ assert @browser.windows?
309
+ assert @browser.windows_vista?
310
+ end
311
+
312
+ test "detects windows7" do
313
+ @browser.ua = $ua["WINDOWS7"]
314
+
315
+ assert @browser.windows?
316
+ assert @browser.windows7?
317
+ end
318
+
319
+ test "detects windows8" do
320
+ @browser.ua = $ua["WINDOWS8"]
321
+
322
+ assert @browser.windows?
323
+ assert @browser.windows8?
324
+ refute @browser.windows8_1?
325
+ end
326
+
327
+ test "detects windows8.1" do
328
+ @browser.ua = $ua["WINDOWS81"]
329
+
330
+ assert @browser.windows?
331
+ assert @browser.windows8?
332
+ assert @browser.windows8_1?
333
+ end
334
+
335
+ test "returns string representation for ie6" do
336
+ @browser.ua = $ua["IE6"]
337
+ meta = @browser.meta
338
+
339
+ assert meta.include?("ie")
340
+ assert meta.include?("ie6")
341
+ assert meta.include?("oldie")
342
+ assert meta.include?("lt-ie8")
343
+ assert meta.include?("lt-ie9")
344
+ assert meta.include?("windows")
345
+ end
346
+
347
+ test "returns string representation for ie7" do
348
+ @browser.ua = $ua["IE7"]
349
+ meta = @browser.meta
350
+
351
+ assert meta.include?("ie")
352
+ assert meta.include?("ie7")
353
+ assert meta.include?("oldie")
354
+ assert meta.include?("lt-ie8")
355
+ assert meta.include?("lt-ie9")
356
+ assert meta.include?("windows")
357
+ end
358
+
359
+ test "returns string representation for ie8" do
360
+ @browser.ua = $ua["IE8"]
361
+ meta = @browser.meta
362
+
363
+ assert meta.include?("ie")
364
+ assert meta.include?("ie8")
365
+ assert meta.include?("lt-ie9")
366
+ assert meta.include?("windows")
367
+ end
368
+
369
+ test "warn about deprecated numbered version" do
370
+ message = "Browser#ie6? is deprecated; use Browser#ie?(version) instead"
371
+ assert_deprecated(message, __FILE__, __LINE__) { @browser.ie6? }
372
+ end
373
+
374
+ test "don't detect as two different versions" do
375
+ @browser.ua = $ua["IE8"]
376
+ assert @browser.ie?(8)
377
+ refute @browser.ie?(7)
378
+ end
379
+ end