mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
* test/rexml/test_xpath*.rb: Move to ...
* test/rexml/xpath/*.rb: ... here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
464f68a3e5
commit
9a695f113a
6 changed files with 11 additions and 10 deletions
85
test/rexml/xpath/test_attribute.rb
Normal file
85
test/rexml/xpath/test_attribute.rb
Normal file
|
@ -0,0 +1,85 @@
|
|||
require 'test/unit'
|
||||
require 'rexml/document'
|
||||
|
||||
class TestXPathAttribute < Test::Unit::TestCase
|
||||
|
||||
# xmlstr1 and xmlstr2 only differ in the second line - namespaces in the root element
|
||||
@@xmlstr1 = '<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:gCal="http://schemas.google.com/gCal/2005">
|
||||
<id>http://www.google.com/calendar/feeds/me%40gmail.com</id>
|
||||
<entry>
|
||||
<id>http://www.google.com/calendar/feeds/me%40gmail.com/me%40gmail.com</id>
|
||||
<published>2007-05-16T13:42:27.942Z</published>
|
||||
<updated>2007-05-15T03:29:28.000Z</updated>
|
||||
<title type="text">My Calendar</title>
|
||||
<link rel="alternate" type="application/atom+xml" href="http://www.google.com/calendar/feeds/me%40gmail.com/private/full"/>
|
||||
<link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="http://www.google.com/calendar/feeds/me%40gmail.com/acl/full"/>
|
||||
<link rel="self" type="application/atom+xml" href="http://www.google.com/calendar/feeds/me%40gmail.com/me%40gmail.com"/>
|
||||
<author>
|
||||
<name>Me</name>
|
||||
<email>me@gmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
</feed>'
|
||||
|
||||
|
||||
@@xmlstr2 = '<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feed>
|
||||
<id>http://www.google.com/calendar/feeds/me%40gmail.com</id>
|
||||
<entry>
|
||||
<id>http://www.google.com/calendar/feeds/me%40gmail.com/me%40gmail.com</id>
|
||||
<published>2007-05-16T13:42:27.942Z</published>
|
||||
<updated>2007-05-15T03:29:28.000Z</updated>
|
||||
<title type="text">My Calendar</title>
|
||||
<link rel="alternate" type="application/atom+xml" href="http://www.google.com/calendar/feeds/me%40gmail.com/private/full"/>
|
||||
<link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="http://www.google.com/calendar/feeds/me%40gmail.com/acl/full"/>
|
||||
<link rel="self" type="application/atom+xml" href="http://www.google.com/calendar/feeds/me%40gmail.com/me%40gmail.com"/>
|
||||
<author>
|
||||
<name>Me</name>
|
||||
<email>me@gmail.com</email>
|
||||
</author>
|
||||
</entry>
|
||||
</feed>'
|
||||
|
||||
# Fails
|
||||
def test_xpath_query
|
||||
do_test @@xmlstr1
|
||||
end
|
||||
|
||||
# Passes
|
||||
def test_xpath_query_no_namespace
|
||||
do_test @@xmlstr2
|
||||
end
|
||||
|
||||
def do_test(xmlString)
|
||||
hrefs = [
|
||||
"http://www.google.com/calendar/feeds/me%40gmail.com/private/full",
|
||||
"http://www.google.com/calendar/feeds/me%40gmail.com/acl/full",
|
||||
"http://www.google.com/calendar/feeds/me%40gmail.com/me%40gmail.com"
|
||||
]
|
||||
ctr=0
|
||||
REXML::Document.new(xmlString).elements.each("feed/entry") do |element|
|
||||
@alternate_link = element.elements["link[@rel='alternate']"]
|
||||
assert_not_nil( @alternate_link )
|
||||
assert_equal( hrefs[ctr], @alternate_link.attributes['href'])
|
||||
ctr += 1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_another_way
|
||||
doc = REXML::Document.new(@@xmlstr1)
|
||||
hrefs = [
|
||||
"http://www.google.com/calendar/feeds/me%40gmail.com/private/full",
|
||||
"http://www.google.com/calendar/feeds/me%40gmail.com/acl/full",
|
||||
"http://www.google.com/calendar/feeds/me%40gmail.com/me%40gmail.com"
|
||||
]
|
||||
ctr=0
|
||||
REXML::XPath.each(doc, "//link[@rel='alternate']") do |element|
|
||||
@alternate_link = element
|
||||
assert_not_nil @alternate_link
|
||||
assert_equal( hrefs[ctr], @alternate_link.attributes['href'])
|
||||
ctr += 1
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue