Merge pull request #13811 from mdesantis/issue-13810

Fixes #13810 `rake routes` error when mount `Rails::Engine` with empty routes
This commit is contained in:
Yves Senn 2014-01-24 04:34:22 -08:00
commit 8efd5fec75
3 changed files with 30 additions and 3 deletions

@ -1,3 +1,9 @@
* Fix `rake routes` error when `Rails::Engine` with empty routes is mounted.
Fixes #13810.
*Maurizio De Santis*
* Automatically convert dashes to underscores for shorthand routes, e.g:
get '/our-work/latest'

@ -194,9 +194,9 @@ def draw_header(routes)
end
def widths(routes)
[routes.map { |r| r[:name].length }.max,
routes.map { |r| r[:verb].length }.max,
routes.map { |r| r[:path].length }.max]
[routes.map { |r| r[:name].length }.max || 0,
routes.map { |r| r[:verb].length }.max || 0,
routes.map { |r| r[:path].length }.max || 0]
end
end

@ -54,6 +54,27 @@ def self.inspect
], output
end
def test_displaying_routes_for_engines_without_routes
engine = Class.new(Rails::Engine) do
def self.inspect
"Blog::Engine"
end
end
engine.routes.draw do
end
output = draw do
mount engine => "/blog", as: "blog"
end
assert_equal [
"Prefix Verb URI Pattern Controller#Action",
" blog /blog Blog::Engine",
"",
"Routes for Blog::Engine:"
], output
end
def test_cart_inspect
output = draw do
get '/cart', :to => 'cart#show'