webdrivers 3.8.1 → 3.9.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.
@@ -5,22 +5,26 @@ require 'spec_helper'
5
5
  describe Webdrivers::MSWebdriver do
6
6
  let(:mswebdriver) { described_class }
7
7
 
8
- it 'downloads mswebdriver' do
9
- mswebdriver.remove
10
- allow(mswebdriver).to receive(:desired_version).and_return(mswebdriver.latest_version)
11
- expect(File.exist?(mswebdriver.download)).to be true
12
- end
8
+ it 'gives deprecation for using it' do
9
+ msg = /WARN Webdrivers Microsoft WebDriver for the Edge browser is no longer supported by Webdrivers gem/
13
10
 
14
- it 'removes mswebdriver' do
15
- mswebdriver.remove
16
- expect(File.exist?(mswebdriver.send(:binary))).to be false
11
+ if Selenium::WebDriver::VERSION > '3.141.0'
12
+ expect { Selenium::WebDriver::Edge::Service.driver_path }.to output(msg).to_stdout_from_any_process
13
+ else
14
+ expect { Selenium::WebDriver::Edge.driver_path }.to output(msg).to_stdout_from_any_process
15
+ end
17
16
  end
18
17
 
19
- context 'when offline' do
20
- before { allow(mswebdriver).to receive(:site_available?).and_return(false) }
18
+ it 'does not give deprecation when set to ignore' do
19
+ described_class.ignore = true
21
20
 
22
- it 'raises exception downloading' do
23
- expect { mswebdriver.download }.to raise_error(StandardError, 'Can not reach site')
24
- end
21
+ service = instance_double(Selenium::WebDriver::Service, host: '', start: nil, uri: '')
22
+ bridge = instance_double(Selenium::WebDriver::Remote::Bridge, create_session: nil, session_id: '')
23
+
24
+ allow(Selenium::WebDriver::Service).to receive(:new).and_return(service)
25
+ allow(Selenium::WebDriver::Remote::Bridge).to receive(:new).and_return(bridge)
26
+ allow(Selenium::WebDriver::Remote::W3C::Bridge).to receive(:new)
27
+
28
+ expect { Selenium::WebDriver.for :edge }.not_to output.to_stdout_from_any_process
25
29
  end
26
30
  end
@@ -4,7 +4,7 @@ require 'spec_helper'
4
4
 
5
5
  class FakeDriver < Webdrivers::Common
6
6
  def self.http_object
7
- http
7
+ Webdrivers::Network.http
8
8
  end
9
9
  end
10
10
 
@@ -48,6 +48,6 @@ describe Webdrivers do
48
48
  it 'raises an exception when net_http_ssl_fix is called.' do
49
49
  err = 'Webdrivers.net_http_ssl_fix is no longer available.' \
50
50
  ' Please see https://github.com/titusfortner/webdrivers#ssl_connect-errors.'
51
- expect { described_class.net_http_ssl_fix }.to raise_error(StandardError, err)
51
+ expect { described_class.net_http_ssl_fix }.to raise_error(RuntimeError, err)
52
52
  end
53
53
  end
data/webdrivers.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('../lib', __dir__)
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'webdrivers'
7
- s.version = '3.8.1'
7
+ s.version = '3.9.0'
8
8
  s.authors = ['Titus Fortner', 'Lakshya Kapoor']
9
9
  s.email = %w[titusfortner@gmail.com kapoorlakshya@gmail.com]
10
10
  s.homepage = 'https://github.com/titusfortner/webdrivers'
@@ -18,9 +18,10 @@ Gem::Specification.new do |s|
18
18
  s.require_paths = ['lib']
19
19
 
20
20
  s.add_development_dependency 'ffi', '~> 1.0' # For selenium-webdriver on Windows
21
- s.add_development_dependency 'rake', '~> 10.0'
21
+ s.add_development_dependency 'rake', '~> 12.0'
22
22
  s.add_development_dependency 'rspec', '~> 3.0'
23
23
  s.add_development_dependency 'rubocop', '~>0.66'
24
+ s.add_development_dependency 'rubocop-performance'
24
25
  s.add_development_dependency 'rubocop-rspec', '~>1.32'
25
26
  s.add_development_dependency 'simplecov', '~>0.16'
26
27
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webdrivers
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.1
4
+ version: 3.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Titus Fortner
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-05-07 00:00:00.000000000 Z
12
+ date: 2019-05-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '10.0'
34
+ version: '12.0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '10.0'
41
+ version: '12.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +67,20 @@ dependencies:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0.66'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rubocop-performance
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: rubocop-rspec
72
86
  requirement: !ruby/object:Gem::Requirement
@@ -163,7 +177,8 @@ files:
163
177
  - lib/webdrivers/iedriver.rb
164
178
  - lib/webdrivers/logger.rb
165
179
  - lib/webdrivers/mswebdriver.rb
166
- - lib/webdrivers/selenium.rb
180
+ - lib/webdrivers/network.rb
181
+ - lib/webdrivers/system.rb
167
182
  - spec/spec_helper.rb
168
183
  - spec/webdrivers/chromedriver_spec.rb
169
184
  - spec/webdrivers/geckodriver_spec.rb
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'selenium-webdriver'
4
-
5
- # v3.151.59 and higher
6
- if ::Selenium::WebDriver::Service.respond_to? :driver_path=
7
- ::Selenium::WebDriver::Chrome::Service.driver_path = proc { ::Webdrivers::Chromedriver.update }
8
- ::Selenium::WebDriver::Firefox::Service.driver_path = proc { ::Webdrivers::Geckodriver.update }
9
- ::Selenium::WebDriver::Edge::Service.driver_path = proc { ::Webdrivers::MSWebdriver.update }
10
- ::Selenium::WebDriver::IE::Service.driver_path = proc { ::Webdrivers::IEdriver.update }
11
- else
12
- # v3.141.0 and lower
13
- module Selenium
14
- module WebDriver
15
- module Chrome
16
- def self.driver_path
17
- @driver_path ||= Webdrivers::Chromedriver.update
18
- end
19
- end
20
-
21
- module Firefox
22
- def self.driver_path
23
- @driver_path ||= Webdrivers::Geckodriver.update
24
- end
25
- end
26
-
27
- module Edge
28
- def self.driver_path
29
- @driver_path ||= Webdrivers::MSWebdriver.update
30
- end
31
- end
32
-
33
- module IE
34
- def self.driver_path
35
- @driver_path ||= Webdrivers::IEdriver.update
36
- end
37
- end
38
- end
39
- end
40
- end