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.
Files changed (131) hide show
  1. data/CHANGES +122 -0
  2. data/LICENSE +2 -1
  3. data/MANIFEST +138 -0
  4. data/NOTES +9 -0
  5. data/README +1 -1
  6. data/Rakefile +27 -205
  7. data/TODO +0 -2
  8. data/VERSION +1 -0
  9. data/ext/{xml → libxml}/cbg.c +0 -0
  10. data/ext/libxml/extconf.rb +309 -0
  11. data/ext/{xml → libxml}/libxml.c +1 -1
  12. data/ext/{xml → libxml}/libxml.h +7 -4
  13. data/ext/{xml → libxml}/ruby_xml_attr.c +1 -1
  14. data/ext/{xml → libxml}/ruby_xml_attr.h +1 -1
  15. data/ext/{xml → libxml}/ruby_xml_document.c +16 -8
  16. data/ext/{xml → libxml}/ruby_xml_document.h +1 -1
  17. data/ext/{xml → libxml}/ruby_xml_dtd.c +0 -0
  18. data/ext/{xml → libxml}/ruby_xml_dtd.h +0 -0
  19. data/ext/{xml → libxml}/ruby_xml_html_parser.c +1 -1
  20. data/ext/{xml → libxml}/ruby_xml_html_parser.h +1 -1
  21. data/ext/{xml → libxml}/ruby_xml_input_cbg.c +0 -0
  22. data/ext/{xml → libxml}/ruby_xml_input_cbg.h +0 -0
  23. data/ext/{xml → libxml}/ruby_xml_node.c +47 -6
  24. data/ext/{xml → libxml}/ruby_xml_node.h +1 -1
  25. data/ext/{xml → libxml}/ruby_xml_node_set.c +1 -1
  26. data/ext/{xml → libxml}/ruby_xml_node_set.h +1 -1
  27. data/ext/{xml → libxml}/ruby_xml_ns.c +1 -1
  28. data/ext/{xml → libxml}/ruby_xml_ns.h +1 -1
  29. data/ext/{xml → libxml}/ruby_xml_parser.c +6 -4
  30. data/ext/{xml → libxml}/ruby_xml_parser.h +1 -1
  31. data/ext/{xml → libxml}/ruby_xml_parser_context.c +1 -1
  32. data/ext/{xml → libxml}/ruby_xml_parser_context.h +1 -1
  33. data/ext/{xml → libxml}/ruby_xml_reader.c +3 -0
  34. data/ext/{xml → libxml}/ruby_xml_reader.h +0 -0
  35. data/ext/{xml → libxml}/ruby_xml_sax_parser.c +1 -1
  36. data/ext/{xml → libxml}/ruby_xml_sax_parser.h +1 -1
  37. data/ext/{xml → libxml}/ruby_xml_schema.c +0 -0
  38. data/ext/{xml → libxml}/ruby_xml_schema.h +0 -0
  39. data/ext/{xml → libxml}/ruby_xml_state.c +0 -0
  40. data/ext/{xml → libxml}/ruby_xml_state.h +0 -0
  41. data/ext/{xml → libxml}/ruby_xml_tree.c +1 -1
  42. data/ext/{xml → libxml}/ruby_xml_tree.h +1 -1
  43. data/ext/{xml → libxml}/ruby_xml_xinclude.c +1 -1
  44. data/ext/{xml → libxml}/ruby_xml_xinclude.h +1 -1
  45. data/ext/{xml → libxml}/ruby_xml_xpath.c +7 -4
  46. data/ext/{xml → libxml}/ruby_xml_xpath.h +1 -1
  47. data/ext/{xml → libxml}/ruby_xml_xpath_context.c +1 -1
  48. data/ext/{xml → libxml}/ruby_xml_xpath_context.h +1 -1
  49. data/ext/{xml → libxml}/ruby_xml_xpath_object.c +65 -32
  50. data/ext/{xml → libxml}/ruby_xml_xpath_object.h +0 -0
  51. data/ext/{xml → libxml}/ruby_xml_xpointer.c +1 -1
  52. data/ext/{xml → libxml}/ruby_xml_xpointer.h +1 -1
  53. data/ext/{xml → libxml}/ruby_xml_xpointer_context.c +1 -1
  54. data/ext/{xml → libxml}/ruby_xml_xpointer_context.h +1 -1
  55. data/ext/{xml → libxml}/sax_parser_callbacks.inc +1 -1
  56. data/ext/libxml/version.h +9 -0
  57. data/{ext/xml → lib}/libxml.rb +7 -2
  58. data/lib/xml/libxml.rb +5 -0
  59. data/{ChangeLog → log/Changelog-0.txt} +0 -0
  60. data/log/Changelog.txt +435 -0
  61. data/meta/project.yaml +27 -0
  62. data/meta/unixname +1 -0
  63. data/setup.rb +1469 -0
  64. data/site/css/normal.css +182 -0
  65. data/site/img/raze-tiny.png +0 -0
  66. data/site/img/red-cube.jpg +0 -0
  67. data/site/img/xml-ruby.png +0 -0
  68. data/site/index.xml +43 -0
  69. data/site/install.xml +77 -0
  70. data/site/layout.rhtml +38 -0
  71. data/site/layout.xsl +67 -0
  72. data/site/license.xml +32 -0
  73. data/site/log/changelog.xml +1324 -0
  74. data/site/log/changelog.xsl +42 -0
  75. data/{tests → test}/dtd-test.rb +2 -2
  76. data/test/etc_doc_to_s.rb +21 -0
  77. data/test/ets_copy_bug.rb +21 -0
  78. data/test/ets_copy_bug2.rb +32 -0
  79. data/test/ets_doc_file.rb +14 -0
  80. data/test/ets_doc_to_s.rb +21 -0
  81. data/test/ets_gpx.rb +26 -0
  82. data/test/ets_node_gc.rb +21 -0
  83. data/test/ets_test.xml +2 -0
  84. data/test/ets_tsr.rb +9 -0
  85. data/{tests → test}/merge_bug.rb +4 -5
  86. data/{tests → test}/model/default_validation_bug.rb +0 -0
  87. data/{tests → test}/model/merge_bug_data.xml +0 -0
  88. data/{tests → test}/model/rubynet.xml +0 -0
  89. data/{tests → test}/model/rubynet_project +1 -1
  90. data/{tests → test}/model/saxtest.xml +0 -0
  91. data/{tests → test}/model/simple.xml +0 -0
  92. data/{tests → test}/model/xinclude.xml +0 -0
  93. data/{tests → test}/schema-test.rb +2 -2
  94. data/{tests → test}/tc_xml_document.rb +2 -2
  95. data/{tests → test}/tc_xml_document_write.rb +1 -2
  96. data/{tests → test}/tc_xml_document_write2.rb +1 -2
  97. data/{tests → test}/tc_xml_document_write3.rb +1 -2
  98. data/{tests → test}/tc_xml_html_parser.rb +7 -8
  99. data/{tests → test}/tc_xml_node.rb +1 -2
  100. data/{tests → test}/tc_xml_node2.rb +1 -2
  101. data/{tests → test}/tc_xml_node3.rb +2 -3
  102. data/{tests → test}/tc_xml_node4.rb +19 -20
  103. data/{tests → test}/tc_xml_node5.rb +8 -9
  104. data/{tests → test}/tc_xml_node6.rb +1 -2
  105. data/{tests → test}/tc_xml_node7.rb +5 -6
  106. data/{tests → test}/tc_xml_node8.rb +5 -5
  107. data/{tests → test}/tc_xml_node9.rb +5 -5
  108. data/test/tc_xml_node_copy.rb +40 -0
  109. data/{tests → test}/tc_xml_node_set.rb +2 -3
  110. data/{tests → test}/tc_xml_node_set2.rb +4 -5
  111. data/test/tc_xml_node_text.rb +17 -0
  112. data/{tests → test}/tc_xml_node_xlink.rb +2 -2
  113. data/{tests → test}/tc_xml_parser.rb +5 -6
  114. data/{tests → test}/tc_xml_parser2.rb +2 -2
  115. data/{tests → test}/tc_xml_parser3.rb +2 -2
  116. data/{tests → test}/tc_xml_parser4.rb +2 -2
  117. data/{tests → test}/tc_xml_parser5.rb +2 -2
  118. data/{tests → test}/tc_xml_parser6.rb +3 -3
  119. data/{tests → test}/tc_xml_parser7.rb +3 -3
  120. data/{tests → test}/tc_xml_parser8.rb +13 -13
  121. data/{tests → test}/tc_xml_parser_context.rb +1 -2
  122. data/{tests → test}/tc_xml_reader.rb +22 -14
  123. data/{tests → test}/tc_xml_sax_parser.rb +21 -22
  124. data/{tests → test}/tc_xml_xinclude.rb +4 -4
  125. data/{tests → test}/tc_xml_xpath.rb +17 -3
  126. data/{tests → test}/tc_xml_xpointer.rb +4 -5
  127. metadata +231 -158
  128. data/CHANGELOG_to200701 +0 -82
  129. data/ext/xml/extconf.rb +0 -98
  130. data/tests/libxml_test.rb +0 -3
  131. 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 &#x00A9; 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
+
@@ -1,4 +1,4 @@
1
- require "libxml_test"
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
@@ -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
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0"?>
2
+ <test/>
data/test/ets_tsr.rb ADDED
@@ -0,0 +1,9 @@
1
+ require 'libxml'
2
+
3
+ 1_000_000.times {|n|
4
+ j=XML::Node.new2(nil,"happy#{n}")
5
+ 10.times {|r|
6
+ j1=XML::Node.new("happy#{r}","farts")
7
+ j.child=j1
8
+ }
9
+ }
@@ -1,7 +1,6 @@
1
1
  #!/usr/local/bin/ruby
2
2
 
3
- require 'libxml_test'
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
@@ -1,4 +1,4 @@
1
- # $Id: rubynet_project 26 2005-12-19 19:53:07Z roscopeco $
1
+ # $Id: rubynet_project 260 2008-02-01 20:56:58Z transami $
2
2
 
3
3
  copyright: 2001-2003, rubynet.org
4
4
  description: Ruby bindings for the libxml2 library. The API for this
File without changes
File without changes
File without changes
@@ -1,4 +1,4 @@
1
- require "libxml_test"
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,6 +1,6 @@
1
- # $Id: tc_xml_document.rb 183 2007-09-21 14:09:52Z danj $
1
+ require "libxml"
2
2
  require 'test/unit'
3
- require "libxml_test"
3
+
4
4
 
5
5
  class TC_XML_Document < Test::Unit::TestCase
6
6
  def setup()
@@ -1,5 +1,4 @@
1
- # $Id: tc_xml_document_write.rb 67 2006-04-17 13:30:22Z roscopeco $
2
- require "libxml_test"
1
+ require "libxml"
3
2
  require 'test/unit'
4
3
 
5
4
  class TC_XML_Document_Write < Test::Unit::TestCase
@@ -1,5 +1,4 @@
1
- # $Id: tc_xml_document_write2.rb 67 2006-04-17 13:30:22Z roscopeco $
2
- require "libxml_test"
1
+ require "libxml"
3
2
  require 'test/unit'
4
3
 
5
4
  class TC_XML_Document_Write2 < Test::Unit::TestCase
@@ -1,5 +1,4 @@
1
- # $Id: tc_xml_document_write3.rb 107 2006-11-20 01:22:08Z roscopeco $
2
- require "libxml_test"
1
+ require "libxml"
3
2
  require 'test/unit'
4
3
 
5
4
  class TC_XML_Document_Write3 < Test::Unit::TestCase
@@ -1,5 +1,4 @@
1
- # $Id: tc_xml_html_parser.rb 182 2007-09-12 14:47:09Z danj $
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
- # $Id: tc_xml_node.rb 191 2007-10-05 14:56:49Z danj $
2
- require "libxml_test"
1
+ require "libxml"
3
2
  require 'test/unit'
4
3
 
5
4
  class TC_XML_Node < Test::Unit::TestCase
@@ -1,5 +1,4 @@
1
- # $Id: tc_xml_node2.rb 67 2006-04-17 13:30:22Z roscopeco $
2
- require "libxml_test"
1
+ require "libxml"
3
2
  require 'test/unit'
4
3
 
5
4
  class TC_XML_Node2 < Test::Unit::TestCase
@@ -1,5 +1,4 @@
1
- # $Id: tc_xml_node3.rb 107 2006-11-20 01:22:08Z roscopeco $
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
- # $Id: tc_xml_node4.rb 142 2007-08-29 18:56:22Z danj $
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