| Path: | lib/feed_tools/vendor/html5/tests/test_lxp.rb |
| Last Update: | Tue Mar 25 22:42:11 +0100 2008 |
| XMLELEM | = | /<(\w+\s*)((?:[-:\w]+="[^"]*"\s*)+)(\/?)>/ |
# 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
# 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