browser 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -8
  3. data/CHANGELOG.md +9 -0
  4. data/README.md +12 -1
  5. data/Rakefile +1 -1
  6. data/bot_exceptions.yml +2 -0
  7. data/bots.yml +6 -2
  8. data/lib/browser.rb +1 -0
  9. data/lib/browser/accept_language.rb +5 -1
  10. data/lib/browser/action_controller.rb +1 -0
  11. data/lib/browser/aliases.rb +32 -0
  12. data/lib/browser/alipay.rb +1 -0
  13. data/lib/browser/base.rb +37 -31
  14. data/lib/browser/blackberry.rb +1 -0
  15. data/lib/browser/bot.rb +1 -0
  16. data/lib/browser/browser.rb +1 -0
  17. data/lib/browser/chrome.rb +1 -0
  18. data/lib/browser/detect_version.rb +1 -0
  19. data/lib/browser/device.rb +2 -1
  20. data/lib/browser/device/base.rb +1 -0
  21. data/lib/browser/device/blackberry_playbook.rb +1 -0
  22. data/lib/browser/device/ipad.rb +1 -0
  23. data/lib/browser/device/iphone.rb +1 -0
  24. data/lib/browser/device/ipod_touch.rb +1 -0
  25. data/lib/browser/device/kindle.rb +1 -0
  26. data/lib/browser/device/kindle_fire.rb +1 -0
  27. data/lib/browser/device/playstation3.rb +1 -0
  28. data/lib/browser/device/playstation4.rb +1 -0
  29. data/lib/browser/device/psp.rb +1 -0
  30. data/lib/browser/device/psvita.rb +1 -0
  31. data/lib/browser/device/surface.rb +1 -0
  32. data/lib/browser/device/tv.rb +1 -0
  33. data/lib/browser/device/unknown.rb +1 -0
  34. data/lib/browser/device/wii.rb +1 -0
  35. data/lib/browser/device/wiiu.rb +1 -0
  36. data/lib/browser/device/xbox_360.rb +1 -0
  37. data/lib/browser/device/xbox_one.rb +1 -0
  38. data/lib/browser/edge.rb +1 -0
  39. data/lib/browser/firefox.rb +1 -0
  40. data/lib/browser/generic.rb +1 -0
  41. data/lib/browser/internet_explorer.rb +1 -0
  42. data/lib/browser/meta.rb +1 -0
  43. data/lib/browser/meta/base.rb +1 -0
  44. data/lib/browser/meta/device.rb +1 -0
  45. data/lib/browser/meta/generic_browser.rb +1 -0
  46. data/lib/browser/meta/id.rb +1 -0
  47. data/lib/browser/meta/ie.rb +1 -0
  48. data/lib/browser/meta/ios.rb +1 -0
  49. data/lib/browser/meta/mobile.rb +1 -0
  50. data/lib/browser/meta/modern.rb +1 -0
  51. data/lib/browser/meta/platform.rb +1 -0
  52. data/lib/browser/meta/proxy.rb +1 -0
  53. data/lib/browser/meta/safari.rb +1 -0
  54. data/lib/browser/meta/tablet.rb +1 -0
  55. data/lib/browser/meta/webkit.rb +1 -0
  56. data/lib/browser/micro_messenger.rb +1 -0
  57. data/lib/browser/middleware.rb +1 -0
  58. data/lib/browser/middleware/context.rb +1 -0
  59. data/lib/browser/middleware/context/additions.rb +1 -0
  60. data/lib/browser/middleware/context/url_methods.rb +1 -0
  61. data/lib/browser/nokia.rb +1 -0
  62. data/lib/browser/opera.rb +1 -0
  63. data/lib/browser/phantom_js.rb +1 -0
  64. data/lib/browser/platform.rb +5 -4
  65. data/lib/browser/platform/adobe_air.rb +1 -0
  66. data/lib/browser/platform/android.rb +1 -0
  67. data/lib/browser/platform/base.rb +1 -0
  68. data/lib/browser/platform/blackberry.rb +1 -0
  69. data/lib/browser/platform/chrome_os.rb +1 -0
  70. data/lib/browser/platform/firefox_os.rb +1 -0
  71. data/lib/browser/platform/ios.rb +1 -0
  72. data/lib/browser/platform/linux.rb +1 -0
  73. data/lib/browser/platform/mac.rb +1 -0
  74. data/lib/browser/platform/other.rb +1 -0
  75. data/lib/browser/platform/windows.rb +1 -0
  76. data/lib/browser/platform/windows_mobile.rb +1 -0
  77. data/lib/browser/platform/windows_phone.rb +1 -0
  78. data/lib/browser/qq.rb +1 -0
  79. data/lib/browser/rails.rb +1 -0
  80. data/lib/browser/safari.rb +1 -0
  81. data/lib/browser/testing.rb +1 -0
  82. data/lib/browser/uc_browser.rb +1 -0
  83. data/lib/browser/version.rb +2 -1
  84. data/lib/browser/weibo.rb +1 -0
  85. data/test/browser_test.rb +5 -1
  86. data/test/middleware_test.rb +1 -0
  87. data/test/rails_test.rb +1 -0
  88. data/test/sample_app.rb +2 -1
  89. data/test/test_helper.rb +3 -2
  90. data/test/ua.yml +1 -0
  91. data/test/ua_bots.yml +4 -0
  92. data/test/unit/accept_language_test.rb +38 -1
  93. data/test/unit/adobe_air_test.rb +1 -0
  94. data/test/unit/aliases_test.rb +42 -0
  95. data/test/unit/alipay_test.rb +6 -0
  96. data/test/unit/android_test.rb +1 -0
  97. data/test/unit/blackberry_test.rb +1 -0
  98. data/test/unit/bots_test.rb +11 -0
  99. data/test/unit/chrome_test.rb +11 -0
  100. data/test/unit/console_test.rb +1 -0
  101. data/test/unit/device_test.rb +8 -0
  102. data/test/unit/edge_test.rb +60 -0
  103. data/test/unit/firefox_test.rb +6 -0
  104. data/test/unit/generic_test.rb +1 -0
  105. data/test/unit/{ie_test.rb → internet_explorer_test.rb} +1 -50
  106. data/test/unit/ios_app_test.rb +1 -0
  107. data/test/unit/ios_test.rb +1 -0
  108. data/test/unit/kindle_test.rb +1 -0
  109. data/test/unit/meta_test.rb +1 -0
  110. data/test/unit/micro_messenger_test.rb +6 -0
  111. data/test/unit/nokia_test.rb +6 -0
  112. data/test/unit/opera_test.rb +11 -0
  113. data/test/unit/platform_test.rb +3 -0
  114. data/test/unit/proxy_test.rb +1 -0
  115. data/test/unit/qq_test.rb +1 -0
  116. data/test/unit/safari_test.rb +6 -0
  117. data/test/unit/uc_browser_test.rb +6 -0
  118. data/test/unit/weibo_test.rb +7 -1
  119. data/test/unit/windows_phone_test.rb +1 -0
  120. data/test/unit/windows_test.rb +1 -0
  121. metadata +10 -6
  122. 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
@@ -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
@@ -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
@@ -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
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "test_helper"
3
4
 
4
5
  class ProxyTest < Minitest::Test
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "test_helper"
3
4
 
4
5
  class QQTest < Minitest::Test
@@ -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
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "test_helper"
3
4
 
4
- class MicroMessengerTest < Minitest::Test
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
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "test_helper"
3
4
 
4
5
  class WindowPhoneTest < Minitest::Test
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "test_helper"
3
4
 
4
5
  class WindowsTest < Minitest::Test
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.3.0
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: 2016-11-01 00:00:00.000000000 Z
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/ie_test.rb
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.5.1
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/ie_test.rb
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
@@ -1,4 +0,0 @@
1
- source "https://rubygems.org"
2
- gemspec path: ".."
3
-
4
- gem "rails", "~> 3.2.13"