aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generators
diff options
context:
space:
mode:
authorRobin Dupret <robin.dupret@gmail.com>2014-02-25 14:57:23 +0100
committerRobin Dupret <robin.dupret@gmail.com>2014-02-26 16:06:11 +0100
commitfc61bca31d899f359671d4b58bceb8b9d6555aa7 (patch)
treed1377c903e19bd68f5fddcbde1cbd9f47ab90c06 /railties/test/generators
parent6d35190bad0b054c9a1f4c736dc4dda32a7ebc91 (diff)
downloadrails-fc61bca31d899f359671d4b58bceb8b9d6555aa7.tar.gz
rails-fc61bca31d899f359671d4b58bceb8b9d6555aa7.tar.bz2
rails-fc61bca31d899f359671d4b58bceb8b9d6555aa7.zip
Avoid namespacing routes inside engines
Since #11544, invoking the controller generator, any generated route is namespaced according to the class_path method. Since a mountable plugin is namespaced, creating a controller inside would generate a namespaced route based on the engine's name. The controller generator now relies on regular_class_path which does not contain the class hierarchy but the given path. Fixes #14079.
Diffstat (limited to 'railties/test/generators')
-rw-r--r--railties/test/generators/plugin_generator_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/railties/test/generators/plugin_generator_test.rb b/railties/test/generators/plugin_generator_test.rb
index 932cd75bcb..b2fc3a2a4f 100644
--- a/railties/test/generators/plugin_generator_test.rb
+++ b/railties/test/generators/plugin_generator_test.rb
@@ -355,6 +355,18 @@ class PluginGeneratorTest < Rails::Generators::TestCase
FileUtils.rm gemfile_path
end
+ def test_generating_controller_inside_mountable_engine
+ run_generator [destination_root, "--mountable"]
+
+ capture(:stdout) do
+ `#{destination_root}/bin/rails g controller admin/dashboard foo`
+ end
+
+ assert_file "config/routes.rb" do |contents|
+ assert_match(/namespace :admin/, contents)
+ assert_no_match(/namespace :bukkit/, contents)
+ end
+ end
protected
def action(*args, &block)