2018-08-16 10:50:37 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require "isolation/abstract_unit"
|
|
|
|
|
|
|
|
module ApplicationTests
|
|
|
|
module RakeTests
|
|
|
|
class RakeInitializersTest < ActiveSupport::TestCase
|
|
|
|
setup :build_app
|
|
|
|
teardown :teardown_app
|
|
|
|
|
|
|
|
test "`rake initializers` prints out defined initializers invoked by Rails" do
|
|
|
|
capture(:stderr) do
|
|
|
|
initial_output = run_rake_initializers
|
|
|
|
initial_output_length = initial_output.split("\n").length
|
|
|
|
|
|
|
|
assert_operator initial_output_length, :>, 0
|
|
|
|
assert_not initial_output.include?("set_added_test_module")
|
|
|
|
|
|
|
|
add_to_config <<-RUBY
|
|
|
|
initializer(:set_added_test_module) { }
|
|
|
|
RUBY
|
|
|
|
|
|
|
|
final_output = run_rake_initializers
|
|
|
|
final_output_length = final_output.split("\n").length
|
|
|
|
|
|
|
|
assert_equal 1, (final_output_length - initial_output_length)
|
|
|
|
assert final_output.include?("set_added_test_module")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
test "`rake initializers` outputs a deprecation warning" do
|
2018-09-01 03:31:15 -04:00
|
|
|
add_to_env_config("development", "config.active_support.deprecation = :stderr")
|
|
|
|
|
2018-08-16 10:50:37 -04:00
|
|
|
stderr = capture(:stderr) { run_rake_initializers }
|
|
|
|
assert_match(/DEPRECATION WARNING: Using `bin\/rake initializers` is deprecated and will be removed in Rails 6.1/, stderr)
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
def run_rake_initializers
|
|
|
|
Dir.chdir(app_path) { `bin/rake initializers` }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|