diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-02-23 09:01:32 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-02-23 09:01:32 +0000 |
commit | ba5ed845b30c81fbf92c052b83f54198cd272bbd (patch) | |
tree | 5a7fc9f29a6b89560d71fd0d8649e8ba76ae9a52 /test/rexml/xpath | |
parent | 44a9509f2ff2be85b97ade9806857e0948c29a1b (diff) |
* lib/rexml/xmltokens.rb: Add missing non ASCII valid characters
to element name characters. Now, REXML name tokens exactly
match "[5] Name" in the XML spec and "[4] NCName" in the
Namespaces in XML spec. See comment about the details.
[Bug #9539] [ruby-core:60901]
Reported by Mario Barcala. Thanks!!!
* test/rexml/xpath/test_node.rb: Add tests for the above case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rexml/xpath')
-rw-r--r-- | test/rexml/xpath/test_node.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/rexml/xpath/test_node.rb b/test/rexml/xpath/test_node.rb new file mode 100644 index 0000000000..db7a2efca6 --- /dev/null +++ b/test/rexml/xpath/test_node.rb @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- + +require_relative "../rexml_test_utils" + +require "rexml/document" + +class TestXPathNode < Test::Unit::TestCase + def matches(xml, xpath) + document = REXML::Document.new(xml) + REXML::XPath.each(document, xpath).collect(&:to_s) + end + + class TestQName < self + def test_ascii + xml = <<-XML +<?xml version="1.0" encoding="UTF-8"?> +<root> + <ascii> + <child>child</child> + </ascii> +</root> + XML + assert_equal(["<child>child</child>"], + matches(xml, "/root/ascii/child")) + end + + def test_non_ascii + xml = <<-XML +<?xml version="1.0" encoding="UTF-8"?> +<root> + <non-àscii> + <child>child</child> + </non-àscii> +</root> + XML + assert_equal(["<child>child</child>"], + matches(xml, "/root/non-àscii/child")) + end + end +end |