# $Id: tc_xml_html_parser.rb 168 2007-09-05 12:51:04Z danj $
require "libxml_test"
require 'test/unit'
class TC_XML_HTMLParser < Test::Unit::TestCase
def setup()
@xp = XML::HTMLParser.new()
assert_not_nil(@xp)
str = '
Hello
World'
@xp.string = str
assert_equal(str, @xp.string)
end
def teardown()
@xp = nil
end
def test_libxml_html_parser_parse()
doc = @xp.parse
assert_instance_of XML::Document, doc
root = doc.root
assert_instance_of XML::Node, root
assert_equal 'html', root.name
head = root.child
assert_instance_of XML::Node, head
assert_equal 'head', head.name
meta = head.child
assert_instance_of XML::Node, meta
assert_equal 'meta', meta.name
assert_equal 'keywords', meta[:name]
assert_equal 'nasty', meta[:content]
body = head.next
assert_instance_of XML::Node, body
assert_equal 'body', body.name
hello = body.child.child
puts hello.next.to_s
assert_instance_of XML::Node, hello
assert_equal 'Hello', hello.content
br = hello.next
assert_instance_of XML::Node, br
assert_equal 'br', br.name
world = br.next
assert_instance_of XML::Node, world
assert_equal 'World', world.content
end
def test_libxml_html_parser_parser_context()
doc = @xp.parse
assert_instance_of(XML::Document, doc)
assert_instance_of(XML::Parser::Context, @xp.parser_context)
assert @xp.parser_context.html?
end
end # TC_XML_HTMLParser