aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/system_testing/driver.rb
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2017-03-09 11:03:33 -0500
committereileencodes <eileencodes@gmail.com>2017-03-09 11:03:33 -0500
commit17c65342469f211f4a845073e47bf1dfa13ba259 (patch)
tree649265a1a13d65419fa9db104ed1e1cd71e84f4e /actionpack/lib/action_dispatch/system_testing/driver.rb
parent37770bc8d13c5c7af024e66539c79f966718aec0 (diff)
parent7c9af60e5c26941dc9ec6a263f5fc5fe10050cba (diff)
downloadrails-17c65342469f211f4a845073e47bf1dfa13ba259.tar.gz
rails-17c65342469f211f4a845073e47bf1dfa13ba259.tar.bz2
rails-17c65342469f211f4a845073e47bf1dfa13ba259.zip
Merge branch 'refactor-system-test-driver'
Diffstat (limited to 'actionpack/lib/action_dispatch/system_testing/driver.rb')
-rw-r--r--actionpack/lib/action_dispatch/system_testing/driver.rb27
1 files changed, 21 insertions, 6 deletions
diff --git a/actionpack/lib/action_dispatch/system_testing/driver.rb b/actionpack/lib/action_dispatch/system_testing/driver.rb
index 8decb54419..72d132d64f 100644
--- a/actionpack/lib/action_dispatch/system_testing/driver.rb
+++ b/actionpack/lib/action_dispatch/system_testing/driver.rb
@@ -1,18 +1,33 @@
module ActionDispatch
module SystemTesting
class Driver # :nodoc:
- def initialize(name)
+ def initialize(name, **options)
@name = name
+ @browser = options[:using]
+ @screen_size = options[:screen_size]
end
def use
- @current = Capybara.current_driver
- Capybara.current_driver = @name
+ register if selenium?
+ setup
end
- def reset
- Capybara.current_driver = @current
- end
+ private
+ def selenium?
+ @name == :selenium
+ end
+
+ def register
+ Capybara.register_driver @name do |app|
+ Capybara::Selenium::Driver.new(app, browser: @browser).tap do |driver|
+ driver.browser.manage.window.size = Selenium::WebDriver::Dimension.new(*@screen_size)
+ end
+ end
+ end
+
+ def setup
+ Capybara.current_driver = @name
+ end
end
end
end