提交 32553a2d 编写于 作者: M Michael Koziarski

Fix assert_select for XML documents. Closes #8173. [dasil003]


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7417 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 fe31f0e0
......@@ -449,7 +449,8 @@ def build_request_uri(action, parameters)
end
def html_document
@html_document ||= HTML::Document.new(@response.body)
xml = @response.content_type =~ /xml$/
@html_document ||= HTML::Document.new(@response.body, false, xml)
end
def find_tag(conditions)
......
......@@ -45,6 +45,16 @@ def test_html_output
</html>
HTML
end
def test_xml_output
response.content_type = "application/xml"
render :text => <<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<area>area is an empty tag in HTML, raising an error if not in xml mode</area>
</root>
XML
end
def test_only_one_param
render :text => (params[:left] && params[:right]) ? "EEP, Both here!" : "OK"
......@@ -301,6 +311,20 @@ def test_assert_tag_children_without_content
:children => { :count => 1,
:only => { :tag => "img" } } } }
end
def test_should_not_impose_childless_html_tags_in_xml
process :test_xml_output
begin
$stderr = StringIO.new
assert_select 'area' #This will cause a warning if content is processed as HTML
$stderr.rewind && err = $stderr.read
ensure
$stderr = STDERR
end
assert err.empty?
end
def test_assert_tag_attribute_matching
@response.body = '<input type="text" name="my_name">'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册