aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2016-11-07 15:46:56 -0500
committereileencodes <eileencodes@gmail.com>2017-02-20 15:07:33 -0500
commit1db7a5c285eeb61acc998c0c27788a61bd948d5c (patch)
treec41e81e4c078bbe596f37ecdfc028fabd462e803 /railties
parent5bf0aa6745db27c45c0778f9f6e9046f9ee9fb94 (diff)
downloadrails-1db7a5c285eeb61acc998c0c27788a61bd948d5c.tar.gz
rails-1db7a5c285eeb61acc998c0c27788a61bd948d5c.tar.bz2
rails-1db7a5c285eeb61acc998c0c27788a61bd948d5c.zip
Don't load ActionSystemTest in production
By moving to the TestUnit Railtie, and doing the file requirement inside the onload call we can avoid loading ActionSystemTest in production and load it in the test env. This is important for performance reasons - loading up unnecessary files and object is expensive, especially when they should never be used in production.
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/all.rb1
-rw-r--r--railties/lib/rails/test_unit/railtie.rb12
2 files changed, 12 insertions, 1 deletions
diff --git a/railties/lib/rails/all.rb b/railties/lib/rails/all.rb
index 2cc33ceb5e..7606ea0e46 100644
--- a/railties/lib/rails/all.rb
+++ b/railties/lib/rails/all.rb
@@ -9,7 +9,6 @@ require "rails"
action_cable/engine
rails/test_unit/railtie
sprockets/railtie
- action_system_test/railtie
).each do |railtie|
begin
require railtie
diff --git a/railties/lib/rails/test_unit/railtie.rb b/railties/lib/rails/test_unit/railtie.rb
index d3f52e8008..694c8d92b1 100644
--- a/railties/lib/rails/test_unit/railtie.rb
+++ b/railties/lib/rails/test_unit/railtie.rb
@@ -20,6 +20,18 @@ module Rails
}
end
+ config.system_testing = ActiveSupport::OrderedOptions.new
+
+ initializer "system_testing.set_configs" do |app|
+ ActiveSupport.on_load(:active_support_test_case) do
+ require "action_system_test"
+
+ options = app.config.system_testing
+ options.driver ||= ActionSystemTest.default_driver
+ options.each { |k, v| ActionSystemTest.send("#{k}=", v) }
+ end
+ end
+
rake_tasks do
load "rails/test_unit/testing.rake"
end