libxml-ruby 0.5.2.0 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +122 -0
- data/LICENSE +2 -1
- data/MANIFEST +138 -0
- data/NOTES +9 -0
- data/README +1 -1
- data/Rakefile +27 -205
- data/TODO +0 -2
- data/VERSION +1 -0
- data/ext/{xml → libxml}/cbg.c +0 -0
- data/ext/libxml/extconf.rb +309 -0
- data/ext/{xml → libxml}/libxml.c +1 -1
- data/ext/{xml → libxml}/libxml.h +7 -4
- data/ext/{xml → libxml}/ruby_xml_attr.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_attr.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_document.c +16 -8
- data/ext/{xml → libxml}/ruby_xml_document.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_dtd.c +0 -0
- data/ext/{xml → libxml}/ruby_xml_dtd.h +0 -0
- data/ext/{xml → libxml}/ruby_xml_html_parser.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_html_parser.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_input_cbg.c +0 -0
- data/ext/{xml → libxml}/ruby_xml_input_cbg.h +0 -0
- data/ext/{xml → libxml}/ruby_xml_node.c +47 -6
- data/ext/{xml → libxml}/ruby_xml_node.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_node_set.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_node_set.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_ns.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_ns.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_parser.c +6 -4
- data/ext/{xml → libxml}/ruby_xml_parser.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_parser_context.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_parser_context.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_reader.c +3 -0
- data/ext/{xml → libxml}/ruby_xml_reader.h +0 -0
- data/ext/{xml → libxml}/ruby_xml_sax_parser.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_sax_parser.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_schema.c +0 -0
- data/ext/{xml → libxml}/ruby_xml_schema.h +0 -0
- data/ext/{xml → libxml}/ruby_xml_state.c +0 -0
- data/ext/{xml → libxml}/ruby_xml_state.h +0 -0
- data/ext/{xml → libxml}/ruby_xml_tree.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_tree.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_xinclude.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_xinclude.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_xpath.c +7 -4
- data/ext/{xml → libxml}/ruby_xml_xpath.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_xpath_context.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_xpath_context.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_xpath_object.c +65 -32
- data/ext/{xml → libxml}/ruby_xml_xpath_object.h +0 -0
- data/ext/{xml → libxml}/ruby_xml_xpointer.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_xpointer.h +1 -1
- data/ext/{xml → libxml}/ruby_xml_xpointer_context.c +1 -1
- data/ext/{xml → libxml}/ruby_xml_xpointer_context.h +1 -1
- data/ext/{xml → libxml}/sax_parser_callbacks.inc +1 -1
- data/ext/libxml/version.h +9 -0
- data/{ext/xml → lib}/libxml.rb +7 -2
- data/lib/xml/libxml.rb +5 -0
- data/{ChangeLog → log/Changelog-0.txt} +0 -0
- data/log/Changelog.txt +435 -0
- data/meta/project.yaml +27 -0
- data/meta/unixname +1 -0
- data/setup.rb +1469 -0
- data/site/css/normal.css +182 -0
- data/site/img/raze-tiny.png +0 -0
- data/site/img/red-cube.jpg +0 -0
- data/site/img/xml-ruby.png +0 -0
- data/site/index.xml +43 -0
- data/site/install.xml +77 -0
- data/site/layout.rhtml +38 -0
- data/site/layout.xsl +67 -0
- data/site/license.xml +32 -0
- data/site/log/changelog.xml +1324 -0
- data/site/log/changelog.xsl +42 -0
- data/{tests → test}/dtd-test.rb +2 -2
- data/test/etc_doc_to_s.rb +21 -0
- data/test/ets_copy_bug.rb +21 -0
- data/test/ets_copy_bug2.rb +32 -0
- data/test/ets_doc_file.rb +14 -0
- data/test/ets_doc_to_s.rb +21 -0
- data/test/ets_gpx.rb +26 -0
- data/test/ets_node_gc.rb +21 -0
- data/test/ets_test.xml +2 -0
- data/test/ets_tsr.rb +9 -0
- data/{tests → test}/merge_bug.rb +4 -5
- data/{tests → test}/model/default_validation_bug.rb +0 -0
- data/{tests → test}/model/merge_bug_data.xml +0 -0
- data/{tests → test}/model/rubynet.xml +0 -0
- data/{tests → test}/model/rubynet_project +1 -1
- data/{tests → test}/model/saxtest.xml +0 -0
- data/{tests → test}/model/simple.xml +0 -0
- data/{tests → test}/model/xinclude.xml +0 -0
- data/{tests → test}/schema-test.rb +2 -2
- data/{tests → test}/tc_xml_document.rb +2 -2
- data/{tests → test}/tc_xml_document_write.rb +1 -2
- data/{tests → test}/tc_xml_document_write2.rb +1 -2
- data/{tests → test}/tc_xml_document_write3.rb +1 -2
- data/{tests → test}/tc_xml_html_parser.rb +7 -8
- data/{tests → test}/tc_xml_node.rb +1 -2
- data/{tests → test}/tc_xml_node2.rb +1 -2
- data/{tests → test}/tc_xml_node3.rb +2 -3
- data/{tests → test}/tc_xml_node4.rb +19 -20
- data/{tests → test}/tc_xml_node5.rb +8 -9
- data/{tests → test}/tc_xml_node6.rb +1 -2
- data/{tests → test}/tc_xml_node7.rb +5 -6
- data/{tests → test}/tc_xml_node8.rb +5 -5
- data/{tests → test}/tc_xml_node9.rb +5 -5
- data/test/tc_xml_node_copy.rb +40 -0
- data/{tests → test}/tc_xml_node_set.rb +2 -3
- data/{tests → test}/tc_xml_node_set2.rb +4 -5
- data/test/tc_xml_node_text.rb +17 -0
- data/{tests → test}/tc_xml_node_xlink.rb +2 -2
- data/{tests → test}/tc_xml_parser.rb +5 -6
- data/{tests → test}/tc_xml_parser2.rb +2 -2
- data/{tests → test}/tc_xml_parser3.rb +2 -2
- data/{tests → test}/tc_xml_parser4.rb +2 -2
- data/{tests → test}/tc_xml_parser5.rb +2 -2
- data/{tests → test}/tc_xml_parser6.rb +3 -3
- data/{tests → test}/tc_xml_parser7.rb +3 -3
- data/{tests → test}/tc_xml_parser8.rb +13 -13
- data/{tests → test}/tc_xml_parser_context.rb +1 -2
- data/{tests → test}/tc_xml_reader.rb +22 -14
- data/{tests → test}/tc_xml_sax_parser.rb +21 -22
- data/{tests → test}/tc_xml_xinclude.rb +4 -4
- data/{tests → test}/tc_xml_xpath.rb +17 -3
- data/{tests → test}/tc_xml_xpointer.rb +4 -5
- metadata +231 -158
- data/CHANGELOG_to200701 +0 -82
- data/ext/xml/extconf.rb +0 -98
- data/tests/libxml_test.rb +0 -3
- data/tests/runner.rb +0 -11
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
3
|
+
|
|
4
|
+
<xsl:output cdata-section-elements="script"/>
|
|
5
|
+
|
|
6
|
+
<xsl:template match="/">
|
|
7
|
+
|
|
8
|
+
<html>
|
|
9
|
+
<head>
|
|
10
|
+
<title>Facets Changelog</title>
|
|
11
|
+
<link REL='SHORTCUT ICON' HREF="img/xml-ruby.png" />
|
|
12
|
+
<style>
|
|
13
|
+
td { font-family: monospace; font-size: 8pt; padding: 0px 10px; }
|
|
14
|
+
</style>
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<div class="container">
|
|
18
|
+
<h1>LibXML ChangeLog</h1>
|
|
19
|
+
<table style="width: 100%;">
|
|
20
|
+
<xsl:apply-templates />
|
|
21
|
+
</table>
|
|
22
|
+
<br/><br/>
|
|
23
|
+
<div class='copyright'>
|
|
24
|
+
Copyright © 2001-2006 LibXML-Ruby Development Team<br/>
|
|
25
|
+
Changelog is pure XML/XSLT.<br/>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</body>
|
|
29
|
+
</html>
|
|
30
|
+
|
|
31
|
+
</xsl:template>
|
|
32
|
+
|
|
33
|
+
<xsl:template match="logentry">
|
|
34
|
+
<tr>
|
|
35
|
+
<td><b><pre><xsl:value-of select="msg"/></pre></b></td>
|
|
36
|
+
<td><xsl:value-of select="author"/></td>
|
|
37
|
+
<td><xsl:value-of select="date"/></td>
|
|
38
|
+
</tr>
|
|
39
|
+
</xsl:template>
|
|
40
|
+
|
|
41
|
+
</xsl:stylesheet>
|
|
42
|
+
|
data/{tests → test}/dtd-test.rb
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require "
|
|
1
|
+
require "libxml"
|
|
2
2
|
|
|
3
3
|
xp = XML::Parser.new
|
|
4
4
|
xp.string = '<?xml version="1.0" encoding="utf-8"?>
|
|
@@ -16,7 +16,7 @@ dtd = XML::Dtd.new('
|
|
|
16
16
|
<!ELEMENT descr (#PCDATA)>
|
|
17
17
|
')
|
|
18
18
|
|
|
19
|
-
if doc.validate(dtd) { |message, error| puts "#{error ? 'error' : 'warning'} : #{message}" }
|
|
19
|
+
if doc.validate(dtd) { |message, error| puts "#{error ? 'error' : 'warning'} : #{message}" }
|
|
20
20
|
puts "validation passed"
|
|
21
21
|
else
|
|
22
22
|
puts "validation failed"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'libxml'
|
|
2
|
+
|
|
3
|
+
1000.times do |count|
|
|
4
|
+
|
|
5
|
+
xml_doc = XML::Document.new()
|
|
6
|
+
xml_doc.encoding = "UTF-8"
|
|
7
|
+
xml_doc.root = XML::Node.new("Request")
|
|
8
|
+
|
|
9
|
+
1000.times do |index|
|
|
10
|
+
|
|
11
|
+
xml_doc.root << node = XML::Node.new("row")
|
|
12
|
+
node["user_id"] = index.to_s
|
|
13
|
+
node << "600445"
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
xml_str = xml_doc.to_s
|
|
18
|
+
print "\r#{count}"
|
|
19
|
+
$stdout.flush
|
|
20
|
+
end
|
|
21
|
+
puts "\n"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w -I.
|
|
2
|
+
|
|
3
|
+
def test( doc2 )
|
|
4
|
+
doc = XML::Document.new('1.0')
|
|
5
|
+
doc.root = XML::Node.new("ccc")
|
|
6
|
+
doc.root['aaa'] = 'aaa'
|
|
7
|
+
doc.root.child_add(doc2.root) # BUG!
|
|
8
|
+
doc.root << doc2.root.copy(true)
|
|
9
|
+
return doc
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test2
|
|
13
|
+
doc2 = XML::Document.new('1.0')
|
|
14
|
+
doc2.root = XML::Node.new("aaa")
|
|
15
|
+
test( doc2 )
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
1000.times { |i|
|
|
19
|
+
print "\r#{i}"; $stdout.flush
|
|
20
|
+
test2
|
|
21
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w -I.
|
|
2
|
+
|
|
3
|
+
$FAILS = []
|
|
4
|
+
|
|
5
|
+
def test( doc, doc2, iter )
|
|
6
|
+
doc.root = XML::Node.new("ccc")
|
|
7
|
+
iter.times { |i|
|
|
8
|
+
doc.root.child_add(doc2.root)
|
|
9
|
+
# doc.root << doc2.root.copy(true)
|
|
10
|
+
}
|
|
11
|
+
return doc
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test2(iter)
|
|
15
|
+
doc = XML::Document.new('1.0')
|
|
16
|
+
doc2 = XML::Document.new('1.0')
|
|
17
|
+
doc2.root = XML::Node.new("aaa")
|
|
18
|
+
ret = test( doc, doc2, iter )
|
|
19
|
+
li=ret.find('aaa').length
|
|
20
|
+
$FAILS << [li,iter] unless li == iter
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
test2(5)
|
|
24
|
+
1000.times do |i|
|
|
25
|
+
test2(i)
|
|
26
|
+
print "\r#{i}"; $stdout.flush
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
puts "\n#{$FAILS.length} failures"
|
|
30
|
+
p $FAILS
|
|
31
|
+
|
|
32
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
# This is related to bug 8337, complaint is on amd64/fbsd
|
|
3
|
+
# unknown if it happens on other amd64/os combos
|
|
4
|
+
|
|
5
|
+
Process.setrlimit(Process::RLIMIT_NOFILE,10005)
|
|
6
|
+
|
|
7
|
+
(1..10000).each{|time|
|
|
8
|
+
XML::Document.file(File.join(File.dirname(__FILE__),'ets_test.xml'))
|
|
9
|
+
if time % 100 == 0
|
|
10
|
+
print "\r#{time}"
|
|
11
|
+
$stdout.flush
|
|
12
|
+
end
|
|
13
|
+
}
|
|
14
|
+
puts "\n"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'libxml'
|
|
2
|
+
|
|
3
|
+
1000.times do |count|
|
|
4
|
+
|
|
5
|
+
xml_doc = XML::Document.new()
|
|
6
|
+
xml_doc.encoding = "UTF-8"
|
|
7
|
+
xml_doc.root = XML::Node.new("Request")
|
|
8
|
+
|
|
9
|
+
1000.times do |index|
|
|
10
|
+
|
|
11
|
+
xml_doc.root << node = XML::Node.new("row")
|
|
12
|
+
node["user_id"] = index.to_s
|
|
13
|
+
node << "600445"
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
xml_str = xml_doc.to_s
|
|
18
|
+
print "\r#{count}"
|
|
19
|
+
$stdout.flush
|
|
20
|
+
end
|
|
21
|
+
puts "\n"
|
data/test/ets_gpx.rb
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'libxml'
|
|
2
|
+
|
|
3
|
+
100.times do
|
|
4
|
+
doc = XML::Document.new
|
|
5
|
+
doc.encoding = 'UTF-8'
|
|
6
|
+
|
|
7
|
+
root = XML::Node.new 'gpx'
|
|
8
|
+
root['version'] = '1.0'
|
|
9
|
+
root['creator'] = 'OpenStreetMap.org'
|
|
10
|
+
root['xmlns'] = "http://www.topografix.com/GPX/1/0/"
|
|
11
|
+
|
|
12
|
+
doc.root = root
|
|
13
|
+
|
|
14
|
+
track = XML::Node.new 'trk'
|
|
15
|
+
doc.root << track
|
|
16
|
+
|
|
17
|
+
trkseg = XML::Node.new 'trkseg'
|
|
18
|
+
track << trkseg
|
|
19
|
+
|
|
20
|
+
1.upto(10000) do |n|
|
|
21
|
+
trkpt = XML::Node.new 'trkpt'
|
|
22
|
+
trkpt['lat'] = n.to_s
|
|
23
|
+
trkpt['lon'] = n.to_s
|
|
24
|
+
trkseg << trkpt
|
|
25
|
+
end
|
|
26
|
+
end
|
data/test/ets_node_gc.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'libxml'
|
|
2
|
+
|
|
3
|
+
# test of bug 13310, clears MEM2
|
|
4
|
+
|
|
5
|
+
include GC
|
|
6
|
+
|
|
7
|
+
inner = XML::Node.new('inner')
|
|
8
|
+
save = nil
|
|
9
|
+
1.times do
|
|
10
|
+
outer = XML::Node.new('outer')
|
|
11
|
+
outer.child = inner
|
|
12
|
+
1.times do
|
|
13
|
+
doc = XML::Document.new
|
|
14
|
+
doc.root = outer
|
|
15
|
+
# Uncomment the following line and it won't crash
|
|
16
|
+
# save = doc
|
|
17
|
+
end
|
|
18
|
+
garbage_collect
|
|
19
|
+
end
|
|
20
|
+
garbage_collect
|
|
21
|
+
puts inner
|
data/test/ets_test.xml
ADDED
data/test/ets_tsr.rb
ADDED
data/{tests → test}/merge_bug.rb
RENAMED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#!/usr/local/bin/ruby
|
|
2
2
|
|
|
3
|
-
require '
|
|
4
|
-
require 'xml/libxml' # needs the ruby code too
|
|
3
|
+
require 'libxml'
|
|
5
4
|
|
|
6
5
|
class XML::Node
|
|
7
6
|
def first_child_element
|
|
@@ -18,7 +17,7 @@ end
|
|
|
18
17
|
#
|
|
19
18
|
def merge(forms)
|
|
20
19
|
starting_form = forms.shift
|
|
21
|
-
forms.inject(starting_form) do |master_form,form|
|
|
20
|
+
forms.inject(starting_form) do |master_form,form|
|
|
22
21
|
master_form.find("//body").first << form.find("//body").first.first_child_element
|
|
23
22
|
master_form
|
|
24
23
|
end
|
|
@@ -32,7 +31,7 @@ end
|
|
|
32
31
|
#
|
|
33
32
|
|
|
34
33
|
if (ARGV[0].to_i > 0)
|
|
35
|
-
count = ARGV[0].to_i
|
|
34
|
+
count = ARGV[0].to_i
|
|
36
35
|
else
|
|
37
36
|
count = 500
|
|
38
37
|
end
|
|
@@ -48,7 +47,7 @@ result = merge(merge_list)
|
|
|
48
47
|
puts "Merged!"
|
|
49
48
|
|
|
50
49
|
#File.open(File.join(File.dirname(__FILE__), 'model', '/generated_form.xml'), "w") do |f|
|
|
51
|
-
# puts "Trying to write to file"
|
|
50
|
+
# puts "Trying to write to file"
|
|
52
51
|
# f << result
|
|
53
52
|
# puts "After trying to write to file"
|
|
54
53
|
#end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require "
|
|
1
|
+
require "libxml"
|
|
2
2
|
|
|
3
3
|
xp = XML::Parser.new
|
|
4
4
|
xp.string = '<?xml version="1.0" encoding="utf-8"?>
|
|
@@ -66,7 +66,7 @@ schema = XML::Schema.from_string('<?xml version="1.0" encoding="ISO-8859-1" ?>
|
|
|
66
66
|
|
|
67
67
|
p schema
|
|
68
68
|
|
|
69
|
-
if doc.validate_schema(schema) { |message, error| puts "#{error ? 'error' : 'warning'} : #{message}" }
|
|
69
|
+
if doc.validate_schema(schema) { |message, error| puts "#{error ? 'error' : 'warning'} : #{message}" }
|
|
70
70
|
puts "validation passed"
|
|
71
71
|
else
|
|
72
72
|
puts "validation failed"
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
require "libxml_test"
|
|
1
|
+
require "libxml"
|
|
3
2
|
require 'test/unit'
|
|
4
3
|
|
|
5
4
|
class TC_XML_HTMLParser < Test::Unit::TestCase
|
|
@@ -19,15 +18,15 @@ class TC_XML_HTMLParser < Test::Unit::TestCase
|
|
|
19
18
|
doc = @xp.parse
|
|
20
19
|
|
|
21
20
|
assert_instance_of XML::Document, doc
|
|
22
|
-
|
|
21
|
+
|
|
23
22
|
root = doc.root
|
|
24
23
|
assert_instance_of XML::Node, root
|
|
25
24
|
assert_equal 'html', root.name
|
|
26
|
-
|
|
25
|
+
|
|
27
26
|
head = root.child
|
|
28
27
|
assert_instance_of XML::Node, head
|
|
29
28
|
assert_equal 'head', head.name
|
|
30
|
-
|
|
29
|
+
|
|
31
30
|
meta = head.child
|
|
32
31
|
assert_instance_of XML::Node, meta
|
|
33
32
|
assert_equal 'meta', meta.name
|
|
@@ -37,7 +36,7 @@ class TC_XML_HTMLParser < Test::Unit::TestCase
|
|
|
37
36
|
body = head.next
|
|
38
37
|
assert_instance_of XML::Node, body
|
|
39
38
|
assert_equal 'body', body.name
|
|
40
|
-
|
|
39
|
+
|
|
41
40
|
hello = body.child
|
|
42
41
|
# It appears that some versions of libxml2 add a layer of <p>
|
|
43
42
|
# cant figure our why or how, so this skips it if there
|
|
@@ -45,11 +44,11 @@ class TC_XML_HTMLParser < Test::Unit::TestCase
|
|
|
45
44
|
|
|
46
45
|
assert_instance_of XML::Node, hello
|
|
47
46
|
assert_equal 'Hello', hello.content
|
|
48
|
-
|
|
47
|
+
|
|
49
48
|
br = hello.next
|
|
50
49
|
assert_instance_of XML::Node, br
|
|
51
50
|
assert_equal 'br', br.name
|
|
52
|
-
|
|
51
|
+
|
|
53
52
|
world = br.next
|
|
54
53
|
assert_instance_of XML::Node, world
|
|
55
54
|
assert_equal 'World', world.content
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
require "libxml_test"
|
|
1
|
+
require "libxml"
|
|
3
2
|
require 'test/unit'
|
|
4
3
|
|
|
5
4
|
class TC_XML_Node3 < Test::Unit::TestCase
|
|
@@ -21,7 +20,7 @@ class TC_XML_Node3 < Test::Unit::TestCase
|
|
|
21
20
|
def test_xml_node_doc_content()
|
|
22
21
|
assert_equal 'onetwo', @root.content
|
|
23
22
|
first = @root.child
|
|
24
|
-
|
|
23
|
+
|
|
25
24
|
assert_equal 'one', first.content
|
|
26
25
|
assert_equal 'two', first.next.content
|
|
27
26
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
require "libxml_test"
|
|
1
|
+
require "libxml"
|
|
3
2
|
require 'test/unit'
|
|
4
3
|
|
|
5
4
|
class TC_XML_Node4 < Test::Unit::TestCase
|
|
@@ -20,68 +19,68 @@ class TC_XML_Node4 < Test::Unit::TestCase
|
|
|
20
19
|
def teardown()
|
|
21
20
|
@root = nil
|
|
22
21
|
end
|
|
23
|
-
|
|
22
|
+
|
|
24
23
|
def test_xml_node_eql?()
|
|
25
24
|
first1 = @root.child
|
|
26
25
|
first2 = @doc2.root.child
|
|
27
|
-
|
|
26
|
+
|
|
28
27
|
assert_not_equal first1.object_id, first2.object_id
|
|
29
28
|
assert first1.eql?(first2)
|
|
30
29
|
assert first2.eql?(first1)
|
|
31
|
-
|
|
30
|
+
|
|
32
31
|
assert_equal first1, first2
|
|
33
32
|
end
|
|
34
33
|
|
|
35
34
|
def test_xml_node_hash()
|
|
36
35
|
first1 = @root.child
|
|
37
36
|
first2 = @doc2.root.child
|
|
38
|
-
|
|
37
|
+
|
|
39
38
|
assert_not_equal first1.object_id, first2.object_id
|
|
40
39
|
assert_equal first1.hash, first2.hash
|
|
41
40
|
end
|
|
42
41
|
|
|
43
42
|
def test_01_xml_node_remove!()
|
|
44
43
|
first = @root.child
|
|
45
|
-
|
|
44
|
+
|
|
46
45
|
assert_equal 'fixnum', first.name
|
|
47
46
|
assert_equal 'fixnum', first.next.name
|
|
48
|
-
|
|
47
|
+
|
|
49
48
|
first.next.remove!
|
|
50
|
-
|
|
49
|
+
|
|
51
50
|
assert_equal 'fixnum', first.name
|
|
52
51
|
assert_equal nil, first.next
|
|
53
52
|
end
|
|
54
53
|
|
|
55
54
|
def test_02_xml_node_remove!()
|
|
56
55
|
first = @root.child
|
|
57
|
-
|
|
56
|
+
|
|
58
57
|
assert_equal 'fixnum', first.name
|
|
59
58
|
assert_equal 'fixnum', first.next.name
|
|
60
59
|
assert_equal 'one', first.content
|
|
61
|
-
|
|
60
|
+
|
|
62
61
|
first.remove!
|
|
63
|
-
|
|
64
|
-
first = @root.child
|
|
62
|
+
|
|
63
|
+
first = @root.child
|
|
65
64
|
assert_equal 'fixnum', first.name
|
|
66
65
|
assert_equal nil, first.next
|
|
67
66
|
assert_equal 'two', first.content
|
|
68
67
|
end
|
|
69
|
-
|
|
68
|
+
|
|
70
69
|
# TODO need to test namespace support
|
|
71
70
|
def test_xml_node_find_first()
|
|
72
71
|
first = @root.find_first('//fixnum')
|
|
73
|
-
|
|
72
|
+
|
|
74
73
|
assert_equal 'one', first.content
|
|
75
74
|
end
|
|
76
|
-
|
|
75
|
+
|
|
77
76
|
def test_xml_node_property_set_remove()
|
|
78
77
|
assert_equal 'booga', @root['uga']
|
|
79
78
|
@root['uga'] = nil
|
|
80
79
|
assert_equal nil , @root['uga']
|
|
81
80
|
assert_equal "<ruby_array foo=\"bar\">\n <fixnum>one</fixnum>\n <fixnum>two</fixnum>\n</ruby_array>",
|
|
82
|
-
@root.to_s
|
|
81
|
+
@root.to_s
|
|
83
82
|
end
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
87
86
|
end
|