browser 2.3.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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