aboutsummaryrefslogtreecommitdiffstats
path: root/actionsystemtest/lib/action_system_test/driver_adapter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionsystemtest/lib/action_system_test/driver_adapter.rb')
-rw-r--r--actionsystemtest/lib/action_system_test/driver_adapter.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/actionsystemtest/lib/action_system_test/driver_adapter.rb b/actionsystemtest/lib/action_system_test/driver_adapter.rb
new file mode 100644
index 0000000000..fe12ecaf80
--- /dev/null
+++ b/actionsystemtest/lib/action_system_test/driver_adapter.rb
@@ -0,0 +1,31 @@
+require "action_system_test/driver_adapters"
+
+module ActionSystemTest
+ # The <tt>ActionSystemTest::DriverAdapter</tt> module is used to load the driver
+ # set in your Rails' test configuration file.
+ #
+ # The default driver adapter is the +:rails_selenium_driver+.
+ module DriverAdapter
+ extend ActiveSupport::Concern
+
+ module ClassMethods
+ def default_driver # :nodoc
+ :rails_selenium_driver
+ end
+
+ # Returns the current driver that is set. If no driver is set in the
+ # Rails' configuration file then +:rails_selenium_driver+ will be
+ # initialized.
+ def driver
+ @driver ||= DriverAdapters.lookup(default_driver)
+ end
+
+ # Specify the adapter and settings for the system test driver set in the
+ # Rails' configuration file.
+ def driver=(driver)
+ @driver = DriverAdapters.lookup(driver)
+ @driver.call
+ end
+ end
+ end
+end