Permalink
Browse files

Fix `rake routes` error when `Rails::Engine` with empty routes is mou…

…nted; fixes rails/rails#13810

Squash
  • Loading branch information...
Maurizio De Santis authored and mdesantis committed Jan 23, 2014
1 parent 6ef0569 commit c1f8a0d61409b6c9fa16847b0ecf694cc4d4cecf
View
@@ -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'

0 comments on commit c1f8a0d

Please sign in to comment.