aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application/rake
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2018-08-20 07:26:25 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2018-08-20 08:47:29 +0900
commit41ad613e4c5d6c05f20ac0437564ff0d31ab9f5a (patch)
tree08dc85bf6a5f9cd21b165a0f25299a54da01c325 /railties/test/application/rake
parent2247077b0bed3423c8b1a9529d2cb89482f0019c (diff)
downloadrails-41ad613e4c5d6c05f20ac0437564ff0d31ab9f5a.tar.gz
rails-41ad613e4c5d6c05f20ac0437564ff0d31ab9f5a.tar.bz2
rails-41ad613e4c5d6c05f20ac0437564ff0d31ab9f5a.zip
Make `rake routes` deprecate before deleting
`rake routes` was a public task. Therefore, I think that we should deprecate it before deleting it. Related to #32121.
Diffstat (limited to 'railties/test/application/rake')
-rw-r--r--railties/test/application/rake/routes_test.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/railties/test/application/rake/routes_test.rb b/railties/test/application/rake/routes_test.rb
new file mode 100644
index 0000000000..e49ce50b69
--- /dev/null
+++ b/railties/test/application/rake/routes_test.rb
@@ -0,0 +1,44 @@
+# frozen_string_literal: true
+
+require "isolation/abstract_unit"
+
+module ApplicationTests
+ module RakeTests
+ class RakeRoutesTest < ActiveSupport::TestCase
+ include ActiveSupport::Testing::Isolation
+ setup :build_app
+ teardown :teardown_app
+
+ test "`rake routes` outputs routes" do
+ app_file "config/routes.rb", <<-RUBY
+ Rails.application.routes.draw do
+ get '/cart', to: 'cart#show'
+ end
+ RUBY
+
+ assert_equal <<~MESSAGE, run_rake_routes
+ Prefix Verb URI Pattern Controller#Action
+ cart GET /cart(.:format) cart#show
+ rails_service_blob GET /rails/active_storage/blobs/:signed_id/*filename(.:format) active_storage/blobs#show
+rails_blob_representation GET /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show
+ rails_disk_service GET /rails/active_storage/disk/:encoded_key/*filename(.:format) active_storage/disk#show
+update_rails_disk_service PUT /rails/active_storage/disk/:encoded_token(.:format) active_storage/disk#update
+ rails_direct_uploads POST /rails/active_storage/direct_uploads(.:format) active_storage/direct_uploads#create
+ MESSAGE
+ end
+
+ test "`rake routes` outputs a deprecation warning" do
+ remove_from_env_config("development", ".*config\.active_support\.deprecation.*\n")
+ add_to_env_config("development", "config.active_support.deprecation = :stderr")
+
+ stderr = capture(:stderr) { run_rake_routes }
+ assert_match(/DEPRECATION WARNING: Using `bin\/rake routes` is deprecated and will be removed in Rails 6.1/, stderr)
+ end
+
+ private
+ def run_rake_routes
+ Dir.chdir(app_path) { `bin/rake routes` }
+ end
+ end
+ end
+end