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
data/lib/browser/device/psp.rb
CHANGED
data/lib/browser/device/tv.rb
CHANGED
data/lib/browser/device/wii.rb
CHANGED
data/lib/browser/device/wiiu.rb
CHANGED
data/lib/browser/edge.rb
CHANGED
data/lib/browser/firefox.rb
CHANGED
data/lib/browser/generic.rb
CHANGED
data/lib/browser/meta.rb
CHANGED
data/lib/browser/meta/base.rb
CHANGED
data/lib/browser/meta/device.rb
CHANGED
data/lib/browser/meta/id.rb
CHANGED
data/lib/browser/meta/ie.rb
CHANGED
data/lib/browser/meta/ios.rb
CHANGED
data/lib/browser/meta/mobile.rb
CHANGED
data/lib/browser/meta/modern.rb
CHANGED
data/lib/browser/meta/proxy.rb
CHANGED
data/lib/browser/meta/safari.rb
CHANGED
data/lib/browser/meta/tablet.rb
CHANGED
data/lib/browser/meta/webkit.rb
CHANGED
data/lib/browser/middleware.rb
CHANGED
data/lib/browser/nokia.rb
CHANGED
data/lib/browser/opera.rb
CHANGED
data/lib/browser/phantom_js.rb
CHANGED
data/lib/browser/platform.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "browser/platform/base"
|
3
4
|
require "browser/platform/ios"
|
4
5
|
require "browser/platform/linux"
|
@@ -48,12 +49,12 @@ module Browser
|
|
48
49
|
.find(&:match?)
|
49
50
|
end
|
50
51
|
|
51
|
-
def adobe_air?
|
52
|
-
id == :adobe_air
|
52
|
+
def adobe_air?(expected_version = nil)
|
53
|
+
id == :adobe_air && detect_version?(version, expected_version)
|
53
54
|
end
|
54
55
|
|
55
|
-
def chrome_os?
|
56
|
-
id == :chrome_os
|
56
|
+
def chrome_os?(expected_version = nil)
|
57
|
+
id == :chrome_os && detect_version?(version, expected_version)
|
57
58
|
end
|
58
59
|
|
59
60
|
def android?(expected_version = nil)
|
data/lib/browser/platform/ios.rb
CHANGED
data/lib/browser/platform/mac.rb
CHANGED
data/lib/browser/qq.rb
CHANGED
data/lib/browser/rails.rb
CHANGED
data/lib/browser/safari.rb
CHANGED
data/lib/browser/testing.rb
CHANGED
data/lib/browser/uc_browser.rb
CHANGED
data/lib/browser/version.rb
CHANGED
data/lib/browser/weibo.rb
CHANGED
data/test/browser_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "test_helper"
|
3
4
|
|
4
5
|
class BrowserTest < Minitest::Test
|
@@ -73,6 +74,7 @@ class BrowserTest < Minitest::Test
|
|
73
74
|
assert browser.quicktime?
|
74
75
|
assert_equal "7.6.8", browser.full_version
|
75
76
|
assert_equal "7", browser.version
|
77
|
+
assert browser.quicktime?(%w[>=7 <8])
|
76
78
|
end
|
77
79
|
|
78
80
|
test "detects core media" do
|
@@ -82,6 +84,7 @@ class BrowserTest < Minitest::Test
|
|
82
84
|
assert browser.core_media?
|
83
85
|
assert_equal "1.0.0.10", browser.full_version
|
84
86
|
assert_equal "1", browser.version
|
87
|
+
assert browser.core_media?(%w[>=1 <2])
|
85
88
|
end
|
86
89
|
|
87
90
|
test "detects phantom.js" do
|
@@ -93,6 +96,7 @@ class BrowserTest < Minitest::Test
|
|
93
96
|
assert browser.modern?
|
94
97
|
assert_equal "1.9.0", browser.full_version
|
95
98
|
assert_equal "1", browser.version
|
99
|
+
assert browser.phantom_js?(%w[>=1 <2])
|
96
100
|
end
|
97
101
|
|
98
102
|
test "returns a zero version" do
|
@@ -133,7 +137,7 @@ class BrowserTest < Minitest::Test
|
|
133
137
|
|
134
138
|
test "removes duplicate items" do
|
135
139
|
browser = Browser.new(Browser["SAFARI"])
|
136
|
-
assert_equal ["safari"], browser.meta.select {|item| item == "safari" }
|
140
|
+
assert_equal ["safari"], (browser.meta.select {|item| item == "safari" })
|
137
141
|
end
|
138
142
|
|
139
143
|
test "detects meta aliased as to_a" do
|