diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-10-31 00:31:47 -0200 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-10-31 00:31:47 -0200 |
commit | d5b275db5c20669a7a9e598a70decf1316b39e03 (patch) | |
tree | a70d4ddd7fbada6ccd8a3ebe117c77c1f17ac245 /actionpack | |
parent | 6b7cd20ab39b16cb5111ecca71ffea4fd95a0066 (diff) | |
download | rails-d5b275db5c20669a7a9e598a70decf1316b39e03.tar.gz rails-d5b275db5c20669a7a9e598a70decf1316b39e03.tar.bz2 rails-d5b275db5c20669a7a9e598a70decf1316b39e03.zip |
Revert "Merge pull request #7659 from HugoLnx/template_error_no_matches_rebased"
This reverts commit 7d17cd2cbfc086f5aa9dd636e1207eb130150428.
Conflicts:
actionpack/CHANGELOG.md
Reason: This added a regression since people were relying on this buggy behavior.
This will introduce back #3849 but we will be backward compatible in
stable release.
Fixes #8068.
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/CHANGELOG.md | 9 | ||||
-rw-r--r-- | actionpack/lib/action_controller/test_case.rb | 19 | ||||
-rw-r--r-- | actionpack/test/controller/action_pack_assertions_test.rb | 22 | ||||
-rw-r--r-- | actionpack/test/fixtures/test/hello/hello.erb | 1 |
4 files changed, 14 insertions, 37 deletions
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index 0db1918e49..a257e8c600 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -1,10 +1,17 @@ ## Rails 3.2.9 (unreleased) ## +* Revert the `assert_template` fix to not pass with ever string that matches the template name. + This added a regression since people were relying on this buggy behavior. + This will introduce back #3849 but this stable release will be backward compatible. + Fixes #8068. + + *Rafael Mendonça França* + * Revert the rename of internal variable on ActionController::TemplateAssertions to prevent naming collisions. This added a regression related with shoulda-matchers, since it is expecting the [instance variable @layouts](https://github.com/thoughtbot/shoulda-matchers/blob/9e1188eea68c47d9a56ce6280e45027da6187ab1/lib/shoulda/matchers/action_controller/render_with_layout_matcher.rb#L74). This will introduce back #7459 but this stable release will be backward compatible. - Fixes #8068 + Fixes #8068. *Rafael Mendonça França* diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index 37470b8713..b574a36430 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -72,26 +72,19 @@ module ActionController validate_request! case options - when NilClass, Regexp, String, Symbol + when NilClass, String, Symbol options = options.to_s if Symbol === options rendered = @templates msg = build_message(message, "expecting <?> but rendering with <?>", options, rendered.keys.join(', ')) - 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 - end - when Regexp + assert_block(msg) do + if options rendered.any? { |t,num| t.match(options) } - when NilClass - rendered.blank? + else + @templates.blank? end - assert matches_template, msg + end when Hash if expected_layout = options[:layout] msg = build_message(message, diff --git a/actionpack/test/controller/action_pack_assertions_test.rb b/actionpack/test/controller/action_pack_assertions_test.rb index 81cf096952..5252e43c25 100644 --- a/actionpack/test/controller/action_pack_assertions_test.rb +++ b/actionpack/test/controller/action_pack_assertions_test.rb @@ -7,7 +7,6 @@ class ActionPackAssertionsController < ActionController::Base def nothing() head :ok end def hello_world() render :template => "test/hello_world"; end - def hello_repeating_in_path() render :template => "test/hello/hello"; end def hello_xml_world() render :template => "test/hello_xml_world"; end @@ -470,20 +469,6 @@ class AssertTemplateTest < ActionController::TestCase end end - def test_fails_with_incorrect_string_that_matches - get :hello_world - assert_raise(ActiveSupport::TestCase::Assertion) do - assert_template 'est/he' - end - end - - def test_fails_with_repeated_name_in_path - get :hello_repeating_in_path - assert_raise(ActiveSupport::TestCase::Assertion) do - assert_template 'test/hello' - end - end - def test_fails_with_incorrect_symbol get :hello_world assert_raise(ActiveSupport::TestCase::Assertion) do @@ -491,13 +476,6 @@ class AssertTemplateTest < ActionController::TestCase end end - def test_fails_with_incorrect_symbol_that_matches - get :hello_world - assert_raise(ActiveSupport::TestCase::Assertion) do - assert_template :"est/he" - end - end - def test_fails_with_wrong_layout get :render_with_layout assert_raise(ActiveSupport::TestCase::Assertion) do diff --git a/actionpack/test/fixtures/test/hello/hello.erb b/actionpack/test/fixtures/test/hello/hello.erb deleted file mode 100644 index 6769dd60bd..0000000000 --- a/actionpack/test/fixtures/test/hello/hello.erb +++ /dev/null @@ -1 +0,0 @@ -Hello world!
\ No newline at end of file |