Raise a helpful error message on #mount misuse

This commit is contained in:
Carl Lerche 2012-07-10 16:16:00 -07:00
parent 89dc481352
commit afa68eb176
2 changed files with 13 additions and 0 deletions

@ -430,6 +430,10 @@ def mount(app, options = nil)
if options
path = options.delete(:at)
else
unless Hash === app
raise ArgumentError, "must be called with mount point"
end
options = app
app, path = options.find { |k, v| k.respond_to?(:call) }
options.delete(app) if app

@ -98,6 +98,15 @@ def test_map_wildcard_with_format_true
mapper.get '/*path', :to => 'pages#show', :format => true
assert_equal '/*path.:format', fakeset.conditions.first[:path_info]
end
def test_raising_helpful_error_on_invalid_arguments
fakeset = FakeSet.new
mapper = Mapper.new fakeset
app = lambda { |env| [200, {}, [""]] }
assert_raises ArgumentError do
mapper.mount app
end
end
end
end
end