libxml-ruby 0.5.2.0 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|