browser 2.3.0 → 2.4.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/.travis.yml +3 -8
- data/CHANGELOG.md +9 -0
- data/README.md +12 -1
- data/Rakefile +1 -1
- data/bot_exceptions.yml +2 -0
- data/bots.yml +6 -2
- data/lib/browser.rb +1 -0
- data/lib/browser/accept_language.rb +5 -1
- data/lib/browser/action_controller.rb +1 -0
- data/lib/browser/aliases.rb +32 -0
- data/lib/browser/alipay.rb +1 -0
- data/lib/browser/base.rb +37 -31
- data/lib/browser/blackberry.rb +1 -0
- data/lib/browser/bot.rb +1 -0
- data/lib/browser/browser.rb +1 -0
- data/lib/browser/chrome.rb +1 -0
- data/lib/browser/detect_version.rb +1 -0
- data/lib/browser/device.rb +2 -1
- data/lib/browser/device/base.rb +1 -0
- data/lib/browser/device/blackberry_playbook.rb +1 -0
- data/lib/browser/device/ipad.rb +1 -0
- data/lib/browser/device/iphone.rb +1 -0
- data/lib/browser/device/ipod_touch.rb +1 -0
- data/lib/browser/device/kindle.rb +1 -0
- data/lib/browser/device/kindle_fire.rb +1 -0
- data/lib/browser/device/playstation3.rb +1 -0
- data/lib/browser/device/playstation4.rb +1 -0
- data/lib/browser/device/psp.rb +1 -0
- data/lib/browser/device/psvita.rb +1 -0
- data/lib/browser/device/surface.rb +1 -0
- data/lib/browser/device/tv.rb +1 -0
- data/lib/browser/device/unknown.rb +1 -0
- data/lib/browser/device/wii.rb +1 -0
- data/lib/browser/device/wiiu.rb +1 -0
- data/lib/browser/device/xbox_360.rb +1 -0
- data/lib/browser/device/xbox_one.rb +1 -0
- data/lib/browser/edge.rb +1 -0
- data/lib/browser/firefox.rb +1 -0
- data/lib/browser/generic.rb +1 -0
- data/lib/browser/internet_explorer.rb +1 -0
- data/lib/browser/meta.rb +1 -0
- data/lib/browser/meta/base.rb +1 -0
- data/lib/browser/meta/device.rb +1 -0
- data/lib/browser/meta/generic_browser.rb +1 -0
- data/lib/browser/meta/id.rb +1 -0
- data/lib/browser/meta/ie.rb +1 -0
- data/lib/browser/meta/ios.rb +1 -0
- data/lib/browser/meta/mobile.rb +1 -0
- data/lib/browser/meta/modern.rb +1 -0
- data/lib/browser/meta/platform.rb +1 -0
- data/lib/browser/meta/proxy.rb +1 -0
- data/lib/browser/meta/safari.rb +1 -0
- data/lib/browser/meta/tablet.rb +1 -0
- data/lib/browser/meta/webkit.rb +1 -0
- data/lib/browser/micro_messenger.rb +1 -0
- data/lib/browser/middleware.rb +1 -0
- data/lib/browser/middleware/context.rb +1 -0
- data/lib/browser/middleware/context/additions.rb +1 -0
- data/lib/browser/middleware/context/url_methods.rb +1 -0
- data/lib/browser/nokia.rb +1 -0
- data/lib/browser/opera.rb +1 -0
- data/lib/browser/phantom_js.rb +1 -0
- data/lib/browser/platform.rb +5 -4
- data/lib/browser/platform/adobe_air.rb +1 -0
- data/lib/browser/platform/android.rb +1 -0
- data/lib/browser/platform/base.rb +1 -0
- data/lib/browser/platform/blackberry.rb +1 -0
- data/lib/browser/platform/chrome_os.rb +1 -0
- data/lib/browser/platform/firefox_os.rb +1 -0
- data/lib/browser/platform/ios.rb +1 -0
- data/lib/browser/platform/linux.rb +1 -0
- data/lib/browser/platform/mac.rb +1 -0
- data/lib/browser/platform/other.rb +1 -0
- data/lib/browser/platform/windows.rb +1 -0
- data/lib/browser/platform/windows_mobile.rb +1 -0
- data/lib/browser/platform/windows_phone.rb +1 -0
- data/lib/browser/qq.rb +1 -0
- data/lib/browser/rails.rb +1 -0
- data/lib/browser/safari.rb +1 -0
- data/lib/browser/testing.rb +1 -0
- data/lib/browser/uc_browser.rb +1 -0
- data/lib/browser/version.rb +2 -1
- data/lib/browser/weibo.rb +1 -0
- data/test/browser_test.rb +5 -1
- data/test/middleware_test.rb +1 -0
- data/test/rails_test.rb +1 -0
- data/test/sample_app.rb +2 -1
- data/test/test_helper.rb +3 -2
- data/test/ua.yml +1 -0
- data/test/ua_bots.yml +4 -0
- data/test/unit/accept_language_test.rb +38 -1
- data/test/unit/adobe_air_test.rb +1 -0
- data/test/unit/aliases_test.rb +42 -0
- data/test/unit/alipay_test.rb +6 -0
- data/test/unit/android_test.rb +1 -0
- data/test/unit/blackberry_test.rb +1 -0
- data/test/unit/bots_test.rb +11 -0
- data/test/unit/chrome_test.rb +11 -0
- data/test/unit/console_test.rb +1 -0
- data/test/unit/device_test.rb +8 -0
- data/test/unit/edge_test.rb +60 -0
- data/test/unit/firefox_test.rb +6 -0
- data/test/unit/generic_test.rb +1 -0
- data/test/unit/{ie_test.rb → internet_explorer_test.rb} +1 -50
- data/test/unit/ios_app_test.rb +1 -0
- data/test/unit/ios_test.rb +1 -0
- data/test/unit/kindle_test.rb +1 -0
- data/test/unit/meta_test.rb +1 -0
- data/test/unit/micro_messenger_test.rb +6 -0
- data/test/unit/nokia_test.rb +6 -0
- data/test/unit/opera_test.rb +11 -0
- data/test/unit/platform_test.rb +3 -0
- data/test/unit/proxy_test.rb +1 -0
- data/test/unit/qq_test.rb +1 -0
- data/test/unit/safari_test.rb +6 -0
- data/test/unit/uc_browser_test.rb +6 -0
- data/test/unit/weibo_test.rb +7 -1
- data/test/unit/windows_phone_test.rb +1 -0
- data/test/unit/windows_test.rb +1 -0
- metadata +10 -6
- data/gemfiles/rails3.gemfile +0 -4
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
5
|
class MicroMessengerTest < Minitest::Test
|
@@ -11,4 +12,9 @@ class MicroMessengerTest < Minitest::Test
|
|
11
12
|
assert_equal "MicroMessenger", browser.name
|
12
13
|
assert_equal :micro_messenger, browser.id
|
13
14
|
end
|
15
|
+
|
16
|
+
test "detects version by range" do
|
17
|
+
browser = Browser.new(Browser["MICRO_MESSENGER"])
|
18
|
+
assert browser.wechat?(%w[>=6 <7])
|
19
|
+
end
|
14
20
|
end
|
data/test/unit/nokia_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
5
|
class NokiaTest < Minitest::Test
|
@@ -7,4 +8,9 @@ class NokiaTest < Minitest::Test
|
|
7
8
|
assert browser.nokia?
|
8
9
|
assert_equal "Nokia S40 Ovi Browser", browser.name
|
9
10
|
end
|
11
|
+
|
12
|
+
test "detects version by range" do
|
13
|
+
browser = Browser.new(Browser["NOKIA"])
|
14
|
+
assert browser.nokia?(%w[>=2 <3])
|
15
|
+
end
|
10
16
|
end
|
data/test/unit/opera_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
5
|
class OperaTest < Minitest::Test
|
@@ -30,6 +31,11 @@ class OperaTest < Minitest::Test
|
|
30
31
|
assert browser.opera_mini?
|
31
32
|
end
|
32
33
|
|
34
|
+
test "detects opera mini version by range" do
|
35
|
+
browser = Browser.new(Browser["OPERA_MINI"])
|
36
|
+
assert browser.opera_mini?(%w[>=11 <12])
|
37
|
+
end
|
38
|
+
|
33
39
|
test "detects opera mobi" do
|
34
40
|
browser = Browser.new(Browser["OPERA_MOBI"])
|
35
41
|
assert browser.opera?
|
@@ -39,4 +45,9 @@ class OperaTest < Minitest::Test
|
|
39
45
|
browser = Browser.new(Browser["OPERA_ANDROID"])
|
40
46
|
assert browser.platform.android?
|
41
47
|
end
|
48
|
+
|
49
|
+
test "detects version by range" do
|
50
|
+
browser = Browser.new(Browser["OPERA"])
|
51
|
+
assert browser.opera?(%w[>=11 <12])
|
52
|
+
end
|
42
53
|
end
|
data/test/unit/platform_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
5
|
class PlatformTest < Minitest::Test
|
@@ -190,6 +191,7 @@ class PlatformTest < Minitest::Test
|
|
190
191
|
assert_equal "Chrome OS", platform.name
|
191
192
|
assert_equal :chrome_os, platform.id
|
192
193
|
assert platform.chrome_os?
|
194
|
+
assert platform.chrome_os?(%w[>=3701 <3702])
|
193
195
|
assert_equal "3701.81.0", platform.version
|
194
196
|
end
|
195
197
|
|
@@ -197,5 +199,6 @@ class PlatformTest < Minitest::Test
|
|
197
199
|
platform = Browser::Platform.new(Browser["ADOBE_AIR"])
|
198
200
|
|
199
201
|
assert platform.adobe_air?
|
202
|
+
assert platform.adobe_air?(%w[>=13 <14])
|
200
203
|
end
|
201
204
|
end
|
data/test/unit/proxy_test.rb
CHANGED
data/test/unit/qq_test.rb
CHANGED
data/test/unit/safari_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
5
|
class SafariTest < Minitest::Test
|
@@ -82,4 +83,9 @@ class SafariTest < Minitest::Test
|
|
82
83
|
|
83
84
|
assert_equal "601.3.9", browser.webkit_full_version
|
84
85
|
end
|
86
|
+
|
87
|
+
test "detects webkit version by range" do
|
88
|
+
browser = Browser.new(Browser["SAFARI9"])
|
89
|
+
assert browser.webkit?(%w[>=601 <602])
|
90
|
+
end
|
85
91
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
5
|
class UcBrowserTest < Minitest::Test
|
@@ -7,4 +8,9 @@ class UcBrowserTest < Minitest::Test
|
|
7
8
|
assert browser.uc_browser?
|
8
9
|
assert_equal browser.name, "UCBrowser"
|
9
10
|
end
|
11
|
+
|
12
|
+
test "detects version by range" do
|
13
|
+
browser = Browser.new(Browser["UC_BROWSER"])
|
14
|
+
assert browser.uc_browser?(%w[>=9 <10])
|
15
|
+
end
|
10
16
|
end
|
data/test/unit/weibo_test.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
|
-
class
|
5
|
+
class WeiboTest < Minitest::Test
|
5
6
|
test "detects weibo iOS" do
|
6
7
|
browser = Browser.new(Browser["WEIBO_IOS"])
|
7
8
|
|
@@ -19,4 +20,9 @@ class MicroMessengerTest < Minitest::Test
|
|
19
20
|
assert_equal "Weibo", browser.name
|
20
21
|
assert_equal "5.7.1", browser.full_version
|
21
22
|
end
|
23
|
+
|
24
|
+
test "detects version by range" do
|
25
|
+
browser = Browser.new(Browser["WEIBO_IOS"])
|
26
|
+
assert browser.weibo?(%w[>=5 <6])
|
27
|
+
end
|
22
28
|
end
|
data/test/unit/windows_test.rb
CHANGED
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: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -171,12 +171,12 @@ files:
|
|
171
171
|
- bots.yml
|
172
172
|
- browser.gemspec
|
173
173
|
- config.ru
|
174
|
-
- gemfiles/rails3.gemfile
|
175
174
|
- gemfiles/rails4.gemfile
|
176
175
|
- languages.yml
|
177
176
|
- lib/browser.rb
|
178
177
|
- lib/browser/accept_language.rb
|
179
178
|
- lib/browser/action_controller.rb
|
179
|
+
- lib/browser/aliases.rb
|
180
180
|
- lib/browser/alipay.rb
|
181
181
|
- lib/browser/base.rb
|
182
182
|
- lib/browser/blackberry.rb
|
@@ -261,6 +261,7 @@ files:
|
|
261
261
|
- test/ua_search_engines.yml
|
262
262
|
- test/unit/accept_language_test.rb
|
263
263
|
- test/unit/adobe_air_test.rb
|
264
|
+
- test/unit/aliases_test.rb
|
264
265
|
- test/unit/alipay_test.rb
|
265
266
|
- test/unit/android_test.rb
|
266
267
|
- test/unit/blackberry_test.rb
|
@@ -268,9 +269,10 @@ files:
|
|
268
269
|
- test/unit/chrome_test.rb
|
269
270
|
- test/unit/console_test.rb
|
270
271
|
- test/unit/device_test.rb
|
272
|
+
- test/unit/edge_test.rb
|
271
273
|
- test/unit/firefox_test.rb
|
272
274
|
- test/unit/generic_test.rb
|
273
|
-
- test/unit/
|
275
|
+
- test/unit/internet_explorer_test.rb
|
274
276
|
- test/unit/ios_app_test.rb
|
275
277
|
- test/unit/ios_test.rb
|
276
278
|
- test/unit/kindle_test.rb
|
@@ -306,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
306
308
|
version: '0'
|
307
309
|
requirements: []
|
308
310
|
rubyforge_project:
|
309
|
-
rubygems_version: 2.
|
311
|
+
rubygems_version: 2.6.11
|
310
312
|
signing_key:
|
311
313
|
specification_version: 4
|
312
314
|
summary: Do some browser detection with Ruby.
|
@@ -321,6 +323,7 @@ test_files:
|
|
321
323
|
- test/ua_search_engines.yml
|
322
324
|
- test/unit/accept_language_test.rb
|
323
325
|
- test/unit/adobe_air_test.rb
|
326
|
+
- test/unit/aliases_test.rb
|
324
327
|
- test/unit/alipay_test.rb
|
325
328
|
- test/unit/android_test.rb
|
326
329
|
- test/unit/blackberry_test.rb
|
@@ -328,9 +331,10 @@ test_files:
|
|
328
331
|
- test/unit/chrome_test.rb
|
329
332
|
- test/unit/console_test.rb
|
330
333
|
- test/unit/device_test.rb
|
334
|
+
- test/unit/edge_test.rb
|
331
335
|
- test/unit/firefox_test.rb
|
332
336
|
- test/unit/generic_test.rb
|
333
|
-
- test/unit/
|
337
|
+
- test/unit/internet_explorer_test.rb
|
334
338
|
- test/unit/ios_app_test.rb
|
335
339
|
- test/unit/ios_test.rb
|
336
340
|
- test/unit/kindle_test.rb
|
data/gemfiles/rails3.gemfile
DELETED