browser 4.2.0 → 5.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -1
- data/FUNDING.yml +3 -0
- data/README.md +97 -47
- data/bots.yml +1 -1
- data/lib/browser/base.rb +61 -6
- data/lib/browser/browser.rb +22 -2
- data/lib/browser/chrome.rb +7 -1
- data/lib/browser/device.rb +9 -2
- data/lib/browser/device/samsung.rb +33 -0
- data/lib/browser/device/unknown.rb +1 -1
- data/lib/browser/google_search_app.rb +21 -0
- data/lib/browser/huawei_browser.rb +21 -0
- data/lib/browser/maxthon.rb +21 -0
- data/lib/browser/miui_browser.rb +21 -0
- data/lib/browser/platform.rb +4 -4
- data/lib/browser/platform/ios.rb +1 -1
- data/lib/browser/platform/mac.rb +1 -1
- data/lib/browser/platform/{other.rb → unknown.rb} +3 -3
- data/lib/browser/platform/windows.rb +1 -1
- data/lib/browser/safari.rb +9 -1
- data/lib/browser/sougou_browser.rb +24 -0
- data/lib/browser/{generic.rb → unknown.rb} +3 -3
- data/lib/browser/version.rb +1 -1
- data/samsung.yml +138 -0
- data/test/browser_test.rb +37 -6
- data/test/ua.yml +16 -4
- data/test/unit/adobe_air_test.rb +1 -1
- data/test/unit/alipay_test.rb +6 -0
- data/test/unit/console_test.rb +2 -2
- data/test/unit/device_test.rb +29 -2
- data/test/unit/duck_duck_go_test.rb +2 -0
- data/test/unit/google_search_app_test.rb +54 -0
- data/test/unit/huawei_browser_test.rb +25 -0
- data/test/unit/maxthon_test.rb +25 -0
- data/test/unit/meta_test.rb +9 -0
- data/test/unit/miui_browser_test.rb +25 -0
- data/test/unit/opera_test.rb +1 -0
- data/test/unit/platform_test.rb +6 -6
- data/test/unit/qq_test.rb +12 -0
- data/test/unit/safari_test.rb +12 -7
- data/test/unit/sougou_browser_test.rb +41 -0
- metadata +26 -8
data/test/unit/safari_test.rb
CHANGED
@@ -7,7 +7,7 @@ class SafariTest < Minitest::Test
|
|
7
7
|
browser = Browser.new(Browser["SAFARI3"])
|
8
8
|
|
9
9
|
assert browser.safari?
|
10
|
-
assert browser.safari?(3)
|
10
|
+
assert browser.safari?("~>3.0")
|
11
11
|
assert_equal "3", browser.version
|
12
12
|
assert_equal "3.0.3", browser.full_version
|
13
13
|
end
|
@@ -16,7 +16,7 @@ class SafariTest < Minitest::Test
|
|
16
16
|
browser = Browser.new(Browser["SAFARI4"])
|
17
17
|
|
18
18
|
assert browser.safari?
|
19
|
-
assert browser.safari?(4)
|
19
|
+
assert browser.safari?("~>4.0")
|
20
20
|
assert_equal "4", browser.version
|
21
21
|
assert_equal "4.0.3", browser.full_version
|
22
22
|
end
|
@@ -25,7 +25,7 @@ class SafariTest < Minitest::Test
|
|
25
25
|
browser = Browser.new(Browser["SAFARI5"])
|
26
26
|
|
27
27
|
assert browser.safari?
|
28
|
-
assert browser.safari?(5)
|
28
|
+
assert browser.safari?("~>5.0")
|
29
29
|
assert_equal "5", browser.version
|
30
30
|
assert_equal "5.0.3", browser.full_version
|
31
31
|
end
|
@@ -34,7 +34,7 @@ class SafariTest < Minitest::Test
|
|
34
34
|
browser = Browser.new(Browser["SAFARI6"])
|
35
35
|
|
36
36
|
assert browser.safari?
|
37
|
-
assert browser.safari?(6)
|
37
|
+
assert browser.safari?("~>6.0")
|
38
38
|
assert_equal "6", browser.version
|
39
39
|
assert_equal "6.0", browser.full_version
|
40
40
|
end
|
@@ -43,7 +43,7 @@ class SafariTest < Minitest::Test
|
|
43
43
|
browser = Browser.new(Browser["SAFARI7"])
|
44
44
|
|
45
45
|
assert browser.safari?
|
46
|
-
assert browser.safari?(7)
|
46
|
+
assert browser.safari?("~>7.0")
|
47
47
|
assert_equal "7", browser.version
|
48
48
|
assert_equal "7.0", browser.full_version
|
49
49
|
end
|
@@ -52,7 +52,7 @@ class SafariTest < Minitest::Test
|
|
52
52
|
browser = Browser.new(Browser["SAFARI8"])
|
53
53
|
|
54
54
|
assert browser.safari?
|
55
|
-
assert browser.safari?(8)
|
55
|
+
assert browser.safari?("~>8.0")
|
56
56
|
assert_equal "8", browser.version
|
57
57
|
assert_equal "8.0", browser.full_version
|
58
58
|
end
|
@@ -61,7 +61,7 @@ class SafariTest < Minitest::Test
|
|
61
61
|
browser = Browser.new(Browser["SAFARI9"])
|
62
62
|
|
63
63
|
assert browser.safari?
|
64
|
-
assert browser.safari?(9)
|
64
|
+
assert browser.safari?("~>9.0")
|
65
65
|
assert_equal "9", browser.version
|
66
66
|
assert_equal "9.0.2", browser.full_version
|
67
67
|
end
|
@@ -88,4 +88,9 @@ class SafariTest < Minitest::Test
|
|
88
88
|
browser = Browser.new(Browser["SAFARI9"])
|
89
89
|
assert browser.webkit?(%w[>=601 <602])
|
90
90
|
end
|
91
|
+
|
92
|
+
test "detects safari version by range" do
|
93
|
+
browser = Browser.new(Browser["SAFARI9"])
|
94
|
+
assert browser.safari?(%w[>=9.0 <10])
|
95
|
+
end
|
91
96
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class SougouBrowserTest < Minitest::Test
|
6
|
+
test "detects Sougou Browser on desktop device" do
|
7
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER"])
|
8
|
+
assert browser.sougou_browser?
|
9
|
+
refute browser.safari?
|
10
|
+
refute browser.chrome?
|
11
|
+
assert_equal "Sougou Browser", browser.name
|
12
|
+
assert_equal :sougou_browser, browser.id
|
13
|
+
end
|
14
|
+
|
15
|
+
test "detects correct version on desktop device" do
|
16
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER"])
|
17
|
+
assert_equal "0.0", browser.full_version
|
18
|
+
assert_equal "0", browser.version
|
19
|
+
end
|
20
|
+
|
21
|
+
test "detects Sougou Browser on mobile device" do
|
22
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER_MOBILE"])
|
23
|
+
assert browser.sougou_browser?
|
24
|
+
assert browser.device.mobile?
|
25
|
+
refute browser.safari?
|
26
|
+
refute browser.chrome?
|
27
|
+
assert_equal "Sougou Browser", browser.name
|
28
|
+
assert_equal :sougou_browser, browser.id
|
29
|
+
end
|
30
|
+
|
31
|
+
test "detects correct version on mobile device" do
|
32
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER_MOBILE"])
|
33
|
+
assert_equal "5.28.12", browser.full_version
|
34
|
+
assert_equal "5", browser.version
|
35
|
+
end
|
36
|
+
|
37
|
+
test "detects version by range on mobile device" do
|
38
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER_MOBILE"])
|
39
|
+
assert browser.sougou_browser?(%w[>=5 <6])
|
40
|
+
end
|
41
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- ".rubocop.yml"
|
178
178
|
- ".travis.yml"
|
179
179
|
- CHANGELOG.md
|
180
|
+
- FUNDING.yml
|
180
181
|
- Gemfile
|
181
182
|
- README.md
|
182
183
|
- Rakefile
|
@@ -214,6 +215,7 @@ files:
|
|
214
215
|
- lib/browser/device/playstation4.rb
|
215
216
|
- lib/browser/device/psp.rb
|
216
217
|
- lib/browser/device/psvita.rb
|
218
|
+
- lib/browser/device/samsung.rb
|
217
219
|
- lib/browser/device/surface.rb
|
218
220
|
- lib/browser/device/switch.rb
|
219
221
|
- lib/browser/device/tv.rb
|
@@ -227,9 +229,11 @@ files:
|
|
227
229
|
- lib/browser/electron.rb
|
228
230
|
- lib/browser/facebook.rb
|
229
231
|
- lib/browser/firefox.rb
|
230
|
-
- lib/browser/
|
232
|
+
- lib/browser/google_search_app.rb
|
233
|
+
- lib/browser/huawei_browser.rb
|
231
234
|
- lib/browser/instagram.rb
|
232
235
|
- lib/browser/internet_explorer.rb
|
236
|
+
- lib/browser/maxthon.rb
|
233
237
|
- lib/browser/meta.rb
|
234
238
|
- lib/browser/meta/base.rb
|
235
239
|
- lib/browser/meta/device.rb
|
@@ -248,6 +252,7 @@ files:
|
|
248
252
|
- lib/browser/middleware/context.rb
|
249
253
|
- lib/browser/middleware/context/additions.rb
|
250
254
|
- lib/browser/middleware/context/url_methods.rb
|
255
|
+
- lib/browser/miui_browser.rb
|
251
256
|
- lib/browser/nokia.rb
|
252
257
|
- lib/browser/opera.rb
|
253
258
|
- lib/browser/otter.rb
|
@@ -262,7 +267,7 @@ files:
|
|
262
267
|
- lib/browser/platform/ios.rb
|
263
268
|
- lib/browser/platform/linux.rb
|
264
269
|
- lib/browser/platform/mac.rb
|
265
|
-
- lib/browser/platform/
|
270
|
+
- lib/browser/platform/unknown.rb
|
266
271
|
- lib/browser/platform/windows.rb
|
267
272
|
- lib/browser/platform/windows_mobile.rb
|
268
273
|
- lib/browser/platform/windows_phone.rb
|
@@ -271,12 +276,15 @@ files:
|
|
271
276
|
- lib/browser/safari.rb
|
272
277
|
- lib/browser/samsung_browser.rb
|
273
278
|
- lib/browser/snapchat.rb
|
279
|
+
- lib/browser/sougou_browser.rb
|
274
280
|
- lib/browser/sputnik.rb
|
275
281
|
- lib/browser/testing.rb
|
276
282
|
- lib/browser/uc_browser.rb
|
283
|
+
- lib/browser/unknown.rb
|
277
284
|
- lib/browser/version.rb
|
278
285
|
- lib/browser/weibo.rb
|
279
286
|
- lib/browser/yandex.rb
|
287
|
+
- samsung.yml
|
280
288
|
- search_engines.yml
|
281
289
|
- test/browser_test.rb
|
282
290
|
- test/middleware_test.rb
|
@@ -303,13 +311,17 @@ files:
|
|
303
311
|
- test/unit/facebook_test.rb
|
304
312
|
- test/unit/firefox_test.rb
|
305
313
|
- test/unit/generic_test.rb
|
314
|
+
- test/unit/google_search_app_test.rb
|
315
|
+
- test/unit/huawei_browser_test.rb
|
306
316
|
- test/unit/instagram_test.rb
|
307
317
|
- test/unit/internet_explorer_test.rb
|
308
318
|
- test/unit/ios_app_test.rb
|
309
319
|
- test/unit/ios_test.rb
|
310
320
|
- test/unit/kindle_test.rb
|
321
|
+
- test/unit/maxthon_test.rb
|
311
322
|
- test/unit/meta_test.rb
|
312
323
|
- test/unit/micro_messenger_test.rb
|
324
|
+
- test/unit/miui_browser_test.rb
|
313
325
|
- test/unit/nokia_test.rb
|
314
326
|
- test/unit/opera_test.rb
|
315
327
|
- test/unit/otter_test.rb
|
@@ -319,6 +331,7 @@ files:
|
|
319
331
|
- test/unit/safari_test.rb
|
320
332
|
- test/unit/samsung_browser_test.rb
|
321
333
|
- test/unit/snapchat_test.rb
|
334
|
+
- test/unit/sougou_browser_test.rb
|
322
335
|
- test/unit/sputnik_test.rb
|
323
336
|
- test/unit/uc_browser_test.rb
|
324
337
|
- test/unit/weibo_test.rb
|
@@ -330,7 +343,7 @@ licenses:
|
|
330
343
|
- MIT
|
331
344
|
metadata:
|
332
345
|
changelog_uri: https://github.com/fnando/browser/blob/master/CHANGELOG.md
|
333
|
-
post_install_message:
|
346
|
+
post_install_message:
|
334
347
|
rdoc_options: []
|
335
348
|
require_paths:
|
336
349
|
- lib
|
@@ -345,8 +358,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
345
358
|
- !ruby/object:Gem::Version
|
346
359
|
version: '0'
|
347
360
|
requirements: []
|
348
|
-
rubygems_version: 3.1.
|
349
|
-
signing_key:
|
361
|
+
rubygems_version: 3.1.4
|
362
|
+
signing_key:
|
350
363
|
specification_version: 4
|
351
364
|
summary: Do some browser detection with Ruby.
|
352
365
|
test_files:
|
@@ -375,13 +388,17 @@ test_files:
|
|
375
388
|
- test/unit/facebook_test.rb
|
376
389
|
- test/unit/firefox_test.rb
|
377
390
|
- test/unit/generic_test.rb
|
391
|
+
- test/unit/google_search_app_test.rb
|
392
|
+
- test/unit/huawei_browser_test.rb
|
378
393
|
- test/unit/instagram_test.rb
|
379
394
|
- test/unit/internet_explorer_test.rb
|
380
395
|
- test/unit/ios_app_test.rb
|
381
396
|
- test/unit/ios_test.rb
|
382
397
|
- test/unit/kindle_test.rb
|
398
|
+
- test/unit/maxthon_test.rb
|
383
399
|
- test/unit/meta_test.rb
|
384
400
|
- test/unit/micro_messenger_test.rb
|
401
|
+
- test/unit/miui_browser_test.rb
|
385
402
|
- test/unit/nokia_test.rb
|
386
403
|
- test/unit/opera_test.rb
|
387
404
|
- test/unit/otter_test.rb
|
@@ -391,6 +408,7 @@ test_files:
|
|
391
408
|
- test/unit/safari_test.rb
|
392
409
|
- test/unit/samsung_browser_test.rb
|
393
410
|
- test/unit/snapchat_test.rb
|
411
|
+
- test/unit/sougou_browser_test.rb
|
394
412
|
- test/unit/sputnik_test.rb
|
395
413
|
- test/unit/uc_browser_test.rb
|
396
414
|
- test/unit/weibo_test.rb
|