assert_template
fails with empty string when a template has been rendered
For instance, it prevents false positive in this case: file = nil get :index assert_template("#{file}")
This commit is contained in:
parent
36ee5802a5
commit
20723ca498
@ -1,5 +1,9 @@
|
||||
## Rails 4.0.0 (unreleased) ##
|
||||
|
||||
* `assert_template` is no more passing with empty string when some template has been rendered.
|
||||
|
||||
*Roberto Soares*
|
||||
|
||||
* Allow setting a symbol as path in scope on routes. This is now allowed:
|
||||
|
||||
scope :api do
|
||||
|
@ -94,10 +94,14 @@ def assert_template(options = {}, message = nil)
|
||||
matches_template =
|
||||
case options
|
||||
when String
|
||||
rendered.any? do |t, num|
|
||||
options_splited = options.split(File::SEPARATOR)
|
||||
t_splited = t.split(File::SEPARATOR)
|
||||
t_splited.last(options_splited.size) == options_splited
|
||||
if options.empty?
|
||||
rendered.blank?
|
||||
else
|
||||
rendered.any? do |t, num|
|
||||
options_splited = options.split(File::SEPARATOR)
|
||||
t_splited = t.split(File::SEPARATOR)
|
||||
t_splited.last(options_splited.size) == options_splited
|
||||
end
|
||||
end
|
||||
when Regexp
|
||||
rendered.any? { |t,num| t.match(options) }
|
||||
|
@ -447,6 +447,13 @@ def test_with_nil_fails_when_template_rendered
|
||||
end
|
||||
end
|
||||
|
||||
def test_with_empty_string_fails_when_template_rendered
|
||||
get :hello_world
|
||||
assert_raise(ActiveSupport::TestCase::Assertion) do
|
||||
assert_template ""
|
||||
end
|
||||
end
|
||||
|
||||
def test_passes_with_correct_string
|
||||
get :hello_world
|
||||
assert_template 'hello_world'
|
||||
|
Loading…
Reference in New Issue
Block a user