mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Ruby 1.9 compat: force assert_select text encoding to the encoding of the regexp it's matching against.
This commit is contained in:
parent
8af98c3f81
commit
642bcd2d01
2 changed files with 15 additions and 5 deletions
|
@ -263,12 +263,15 @@ module ActionController
|
|||
if match_with = equals[:text]
|
||||
matches.delete_if do |match|
|
||||
text = ""
|
||||
text.force_encoding(match_with.encoding) if text.respond_to?(:force_encoding)
|
||||
stack = match.children.reverse
|
||||
while node = stack.pop
|
||||
if node.tag?
|
||||
stack.concat node.children.reverse
|
||||
else
|
||||
text << node.content
|
||||
content = node.content
|
||||
content.force_encoding(match_with.encoding) if content.respond_to?(:force_encoding)
|
||||
text << content
|
||||
end
|
||||
end
|
||||
text.strip! unless NO_STRIP.include?(match.name)
|
||||
|
|
|
@ -345,10 +345,17 @@ class AssertSelectTest < Test::Unit::TestCase
|
|||
page.replace "test", "<div id=\"1\">\343\203\201\343\202\261\343\203\203\343\203\210</div>"
|
||||
end
|
||||
assert_select_rjs do
|
||||
assert_select "#1", :text => "\343\203\201\343\202\261\343\203\203\343\203\210"
|
||||
assert_select "#1", "\343\203\201\343\202\261\343\203\203\343\203\210"
|
||||
assert_select "#1", Regexp.new("\343\203\201..\343\203\210",0,'U')
|
||||
assert_raises(AssertionFailedError) { assert_select "#1", Regexp.new("\343\203\201.\343\203\210",0,'U') }
|
||||
str = "#1"
|
||||
assert_select str, :text => "\343\203\201\343\202\261\343\203\203\343\203\210"
|
||||
assert_select str, "\343\203\201\343\202\261\343\203\203\343\203\210"
|
||||
if str.respond_to?(:force_encoding)
|
||||
str.force_encoding(Encoding::UTF_8)
|
||||
assert_select str, /\343\203\201..\343\203\210/u
|
||||
assert_raises(AssertionFailedError) { assert_select str, /\343\203\201.\343\203\210/u }
|
||||
else
|
||||
assert_select str, Regexp.new("\343\203\201..\343\203\210",0,'U')
|
||||
assert_raises(AssertionFailedError) { assert_select str, Regexp.new("\343\203\201.\343\203\210",0,'U') }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue