aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2006-09-10 02:51:38 +0000
committerJamis Buck <jamis@37signals.com>2006-09-10 02:51:38 +0000
commit3f0952d9df1db6e01ca608f30ba743f3e7d54dcc (patch)
tree2e55a07afd50a918e8472b1983ea628d16bb50cb /actionpack
parent5bf41ed8bcb8e9a15e2290e2e72a7aaffafa31b5 (diff)
downloadrails-3f0952d9df1db6e01ca608f30ba743f3e7d54dcc.tar.gz
rails-3f0952d9df1db6e01ca608f30ba743f3e7d54dcc.tar.bz2
rails-3f0952d9df1db6e01ca608f30ba743f3e7d54dcc.zip
Fix assert_tag so that :content => "foo" does not match substrings, but only exact strings. Use :content => /foo/ to match substrings. closes #2799
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5086 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/vendor/html-scanner/html/node.rb2
-rw-r--r--actionpack/test/controller/test_test.rb11
3 files changed, 12 insertions, 3 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 1fb95347d2..e4d011581e 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Fix assert_tag so that :content => "foo" does not match substrings, but only exact strings. Use :content => /foo/ to match substrings. #2799 [Eric Hodel]
+
* Add descriptive messages to the exceptions thrown by cgi_methods. #6091, #6103 [Nicholas Seckar, Bob Silva]
* Update JavaScriptGenerator#show/hide/toggle/remove to new Prototype syntax for multiple ids, #6068 [petermichaux@gmail.com]
diff --git a/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb b/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb
index 7b53af9591..a6490b1f3b 100644
--- a/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb
+++ b/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb
@@ -239,7 +239,7 @@ module HTML #:nodoc:
def match(conditions)
case conditions
when String
- @content.index(conditions)
+ @content == conditions
when Regexp
@content =~ conditions
when Hash
diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb
index c9a30f9332..95c75bb744 100644
--- a/actionpack/test/controller/test_test.rb
+++ b/actionpack/test/controller/test_test.rb
@@ -253,9 +253,9 @@ HTML
process :test_html_output
# the output contains the string "Name"
- assert_tag :content => "Name"
+ assert_tag :content => /Name/
# the output does not contain the string "test"
- assert_no_tag :content => "test"
+ assert_no_tag :content => /test/
end
def test_assert_tag_multiple
@@ -301,6 +301,13 @@ HTML
:attributes => { :name => /^my$/, :type => 'text' }
end
+ def test_assert_tag_content_matching
+ @response.body = "<p>hello world</p>"
+ assert_tag :tag => "p", :content => "hello world"
+ assert_tag :tag => "p", :content => /hello/
+ assert_no_tag :tag => "p", :content => "hello"
+ end
+
def test_assert_generates
assert_generates 'controller/action/5', :controller => 'controller', :action => 'action', :id => '5'
end