aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-07-04 15:05:40 +0000
committerJamis Buck <jamis@37signals.com>2005-07-04 15:05:40 +0000
commit930f33657c7264578bea198f65222471b8ab2d2e (patch)
tree311ab54876c82b6bcb826fe5202459d451d6bfd8
parent117ee110d7cbe199f94d2422eb20c0066eb41a10 (diff)
downloadrails-930f33657c7264578bea198f65222471b8ab2d2e.tar.gz
rails-930f33657c7264578bea198f65222471b8ab2d2e.tar.bz2
rails-930f33657c7264578bea198f65222471b8ab2d2e.zip
Updated html-scanner so that assert_tag(:tag => "p", :content => "foo") behaves as expected
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1661 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/assertions.rb5
-rw-r--r--actionpack/lib/action_controller/vendor/html-scanner/html/node.rb6
-rw-r--r--actionpack/lib/action_controller/vendor/html-scanner/html/version.rb2
4 files changed, 8 insertions, 7 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 11cbd08ebd..202da1d3b8 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -115,7 +115,7 @@
* Support :render option for :verify #1440 [TobiasLuetke]
-* Updated vendor copy of html-scanner lib to 0.5.1, for bug fixes and optimizations
+* Updated vendor copy of html-scanner lib to 0.5.2, for bug fixes and optimizations. The :content option may be used as expected--to find a tag whose textual content is a particular value--in assert_tag, now.
* Changed test requests to come from 0.0.0.0 instead of 127.0.0.1 such that they don't trigger debugging screens on exceptions, but instead call rescue_action_in_public
diff --git a/actionpack/lib/action_controller/assertions.rb b/actionpack/lib/action_controller/assertions.rb
index cb8d0e79ae..e04d4ccde0 100644
--- a/actionpack/lib/action_controller/assertions.rb
+++ b/actionpack/lib/action_controller/assertions.rb
@@ -191,8 +191,9 @@ module Test #:nodoc:
# * <tt>:only</tt>: another hash consisting of the keys to use
# to match on the children, and only matching children will be
# counted.
- # * <tt>:content</tt>: (text nodes only). The content of the node must
- # match the given value.
+ # * <tt>:content</tt>: the textual content of the node must match the
+ # given value. This will not match HTML tags in the body of a
+ # tag--only text.
#
# Conditions are matched using the following algorithm:
#
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 8d1c711226..6d045b0367 100644
--- a/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb
+++ b/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb
@@ -379,9 +379,9 @@ module HTML #:nodoc:
# :child => /hello world/ }
def match(conditions)
conditions = validate_conditions(conditions)
-
- # only Text nodes have content
- return false if conditions[:content]
+
+ # check content of child nodes
+ return false unless children.find { |child| child.match(conditions[:content]) } if conditions[:content]
# test the name
return false unless match_condition(@name, conditions[:tag]) if conditions[:tag]
diff --git a/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb b/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb
index 0b4d184a8b..99a8d5766c 100644
--- a/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb
+++ b/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb
@@ -3,7 +3,7 @@ module HTML #:nodoc:
MAJOR = 0
MINOR = 5
- TINY = 1
+ TINY = 2
STRING = [ MAJOR, MINOR, TINY ].join(".")