diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-10-01 19:30:08 -0700 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-10-01 23:58:05 -0300 |
commit | 2bad605873b5b720d77ae6388a995827ab7fe705 (patch) | |
tree | f751fa5d7c4c8edd6605126ea24cd6db593e4a3e | |
parent | 3b5bc8d71ba97ddc254ab3dc81893c82e81a783b (diff) | |
download | rails-2bad605873b5b720d77ae6388a995827ab7fe705.tar.gz rails-2bad605873b5b720d77ae6388a995827ab7fe705.tar.bz2 rails-2bad605873b5b720d77ae6388a995827ab7fe705.zip |
Merge pull request #7797 from senny/7459_prefix_tempalte_assertion_variables
prefix TemplateAssertions ivars.
Closes #7459
Conflicts:
actionpack/lib/action_controller/test_case.rb
actionpack/lib/action_view/test_case.rb
-rw-r--r-- | actionpack/CHANGELOG.md | 6 | ||||
-rw-r--r-- | actionpack/lib/action_controller/test_case.rb | 40 | ||||
-rw-r--r-- | actionpack/lib/action_view/test_case.rb | 6 |
3 files changed, 29 insertions, 23 deletions
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index c5b478222d..fd54315d96 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -1,5 +1,11 @@ ## Rails 3.2.9 (unreleased) ## +* Rename internal variables on ActionController::TemplateAssertions to prevent + naming collisions. @partials, @templates and @layouts are now prefixed with an underscore. + Fix #7459 + + *Yves Senn* + * `resource` and `resources` don't modify the passed options hash Fix #7777 diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index aa90f2899c..3a7fe22a9c 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -14,13 +14,13 @@ module ActionController end def setup_subscriptions - @partials = Hash.new(0) - @templates = Hash.new(0) - @layouts = Hash.new(0) + @_partials = Hash.new(0) + @_templates = Hash.new(0) + @_layouts = Hash.new(0) ActiveSupport::Notifications.subscribe("render_template.action_view") do |name, start, finish, id, payload| path = payload[:layout] - @layouts[path] += 1 + @_layouts[path] += 1 end ActiveSupport::Notifications.subscribe("!render_template.action_view") do |name, start, finish, id, payload| @@ -28,11 +28,11 @@ module ActionController next unless path partial = path =~ /^.*\/_[^\/]*$/ if partial - @partials[path] += 1 - @partials[path.split("/").last] += 1 - @templates[path] += 1 + @_partials[path] += 1 + @_partials[path.split("/").last] += 1 + @_templates[path] += 1 else - @templates[path] += 1 + @_templates[path] += 1 end end end @@ -43,9 +43,9 @@ module ActionController end def process(*args) - @partials = Hash.new(0) - @templates = Hash.new(0) - @layouts = Hash.new(0) + @_partials = Hash.new(0) + @_templates = Hash.new(0) + @_layouts = Hash.new(0) super end @@ -74,7 +74,7 @@ module ActionController case options when NilClass, Regexp, String, Symbol options = options.to_s if Symbol === options - rendered = @templates + rendered = @_templates msg = build_message(message, "expecting <?> but rendering with <?>", options, rendered.keys.join(', ')) @@ -96,15 +96,15 @@ module ActionController if expected_layout = options[:layout] msg = build_message(message, "expecting layout <?> but action rendered <?>", - expected_layout, @layouts.keys) + expected_layout, @_layouts.keys) case expected_layout when String - assert(@layouts.keys.include?(expected_layout), msg) + assert(@_layouts.keys.include?(expected_layout), msg) when Regexp - assert(@layouts.keys.any? {|l| l =~ expected_layout }, msg) + assert(@_layouts.keys.any? {|l| l =~ expected_layout }, msg) when nil - assert(@layouts.empty?, msg) + assert(@_layouts.empty?, msg) end end @@ -115,7 +115,7 @@ module ActionController assert_equal(v, actual_locals[k]) end elsif expected_count = options[:count] - actual_count = @partials[expected_partial] + actual_count = @_partials[expected_partial] msg = build_message(message, "expecting ? to be rendered ? time(s) but rendered ? time(s)", expected_partial, expected_count, actual_count) @@ -123,11 +123,11 @@ module ActionController else msg = build_message(message, "expecting partial <?> but action rendered <?>", - options[:partial], @partials.keys) - assert(@partials.include?(expected_partial), msg) + options[:partial], @_partials.keys) + assert(@_partials.include?(expected_partial), msg) end else - assert @partials.empty?, + assert @_partials.empty?, "Expected no partials to be rendered" end end diff --git a/actionpack/lib/action_view/test_case.rb b/actionpack/lib/action_view/test_case.rb index 658a503f7f..dfaa1d88e4 100644 --- a/actionpack/lib/action_view/test_case.rb +++ b/actionpack/lib/action_view/test_case.rb @@ -193,16 +193,16 @@ module ActionView @_result @_routes @controller - @layouts + @_layouts @locals @method_name @output_buffer - @partials + @_partials @passed @rendered @request @routes - @templates + @_templates @options @test_passed @view |