2014-02-23 04:01:32 -05:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
require_relative "../rexml_test_utils"
|
|
|
|
|
|
|
|
require "rexml/document"
|
|
|
|
|
2014-05-27 08:07:40 -04:00
|
|
|
module REXMLTests
|
2014-05-27 09:10:55 -04:00
|
|
|
class TestXPathNode < Test::Unit::TestCase
|
|
|
|
def matches(xml, xpath)
|
|
|
|
document = REXML::Document.new(xml)
|
|
|
|
REXML::XPath.each(document, xpath).collect(&:to_s)
|
|
|
|
end
|
2014-02-23 04:01:32 -05:00
|
|
|
|
2014-05-27 09:10:55 -04:00
|
|
|
class TestQName < self
|
|
|
|
def test_ascii
|
|
|
|
xml = <<-XML
|
2014-02-23 04:01:32 -05:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<root>
|
|
|
|
<ascii>
|
|
|
|
<child>child</child>
|
|
|
|
</ascii>
|
|
|
|
</root>
|
2014-05-27 09:10:55 -04:00
|
|
|
XML
|
|
|
|
assert_equal(["<child>child</child>"],
|
|
|
|
matches(xml, "/root/ascii/child"))
|
|
|
|
end
|
2014-02-23 04:01:32 -05:00
|
|
|
|
2014-05-27 09:10:55 -04:00
|
|
|
def test_non_ascii
|
|
|
|
xml = <<-XML
|
2014-02-23 04:01:32 -05:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<root>
|
|
|
|
<non-àscii>
|
|
|
|
<child>child</child>
|
|
|
|
</non-àscii>
|
|
|
|
</root>
|
2014-05-27 09:10:55 -04:00
|
|
|
XML
|
|
|
|
assert_equal(["<child>child</child>"],
|
|
|
|
matches(xml, "/root/non-àscii/child"))
|
|
|
|
end
|
2014-02-23 04:01:32 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|