test_lxp.rb

Path: lib/feed_tools/vendor/html5/tests/test_lxp.rb
Last Update: Tue Mar 25 22:42:11 +0100 2008
BasicXhtml5Test XhtmlTest BasicXmlTest OpmlTest Test::Unit::TestCase dot/f_18.png

Required files

html5/liberalxmlparser  

Methods

Constants

XMLELEM = /<(\w+\s*)((?:[-:\w]+="[^"]*"\s*)+)(\/?)>/

Public Instance methods

[Source]

    # File lib/feed_tools/vendor/html5/tests/test_lxp.rb, line 20
20: def assert_xhtml_equal(input, expected=nil, parser=HTML5::XHTMLParser)
21:   assert_xml_equal(input, expected, parser)
22: end

[Source]

    # File lib/feed_tools/vendor/html5/tests/test_lxp.rb, line 7
 7: def assert_xml_equal(input, expected=nil, parser=HTML5::XMLParser)
 8:   sortattrs = proc {"<#{$1+$2.split.sort.join(' ')+$3}>"}
 9:   document = parser.parse(input.chomp, :lowercase_attr_name => false, :lowercase_element_name => false).root
10:   if not expected
11:     expected = input.chomp.gsub(XMLELEM,&sortattrs)
12:     expected = expected.gsub(/&#(\d+);/) {[$1.to_i].pack('U')}
13:     output = document.to_s.gsub(/'/,'"').gsub(XMLELEM,&sortattrs)
14:     assert_equal(expected, output)
15:   else
16:     assert_equal(expected, document.to_s.gsub(/'/,'"'))
17:   end
18: end

[Validate]