libxml-ruby 0.6.0-x86-mswin32-60 → 0.7.0-x86-mswin32-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. data/CHANGES +42 -0
  2. data/README +123 -117
  3. data/doc/classes/XML.html +226 -0
  4. data/doc/classes/XML/Attr.html +969 -0
  5. data/doc/classes/XML/Attributes.html +487 -0
  6. data/doc/classes/XML/Document.html +1423 -0
  7. data/doc/classes/XML/Dtd.html +159 -0
  8. data/doc/classes/XML/Error.html +111 -0
  9. data/doc/classes/XML/HTMLParser.html +330 -0
  10. data/doc/classes/XML/InputCallbacks.html +154 -0
  11. data/doc/classes/XML/NS.html +366 -0
  12. data/doc/classes/XML/Node.html +3292 -0
  13. data/doc/classes/XML/Node/FailedModify.html +111 -0
  14. data/doc/classes/XML/Node/Set.html +435 -0
  15. data/doc/classes/XML/Node/SetNamespace.html +111 -0
  16. data/doc/classes/XML/Node/UnknownType.html +111 -0
  17. data/doc/classes/XML/Parser.html +2178 -0
  18. data/doc/classes/XML/Parser/Context.html +1233 -0
  19. data/doc/classes/XML/Parser/ParseError.html +111 -0
  20. data/doc/classes/XML/Reader.html +2173 -0
  21. data/doc/classes/XML/SaxParser.html +396 -0
  22. data/doc/classes/XML/SiblingEnum.html +142 -0
  23. data/doc/classes/XML/State.html +118 -0
  24. data/doc/classes/XML/Tree.html +224 -0
  25. data/doc/classes/XML/XInclude.html +117 -0
  26. data/doc/classes/XML/XInclude/Error.html +111 -0
  27. data/doc/classes/XML/XMLParserOptions.html +198 -0
  28. data/doc/classes/XML/XPath.html +269 -0
  29. data/doc/classes/XML/XPath/Context.html +193 -0
  30. data/doc/classes/XML/XPath/InvalidPath.html +111 -0
  31. data/doc/classes/XML/XPath/Object.html +439 -0
  32. data/doc/classes/XML/XPointer.html +164 -0
  33. data/doc/classes/XML/XPointer/Context.html +117 -0
  34. data/doc/classes/XML/XPointer/Context/InvalidPath.html +111 -0
  35. data/doc/classes/XML/XPointer/InvalidExpression.html +111 -0
  36. data/doc/classes/singleton.html +114 -0
  37. data/doc/created.rid +1 -0
  38. data/doc/files/CHANGES.html +375 -0
  39. data/doc/files/LICENSE.html +133 -0
  40. data/doc/files/README.html +279 -0
  41. data/doc/files/VERSION.html +107 -0
  42. data/doc/files/ext/libxml/cbg_c.html +101 -0
  43. data/doc/files/ext/libxml/libxml_c.html +101 -0
  44. data/doc/files/ext/libxml/ruby_xml_attr_c.html +101 -0
  45. data/doc/files/ext/libxml/ruby_xml_attributes_c.html +101 -0
  46. data/doc/files/ext/libxml/ruby_xml_document_c.html +101 -0
  47. data/doc/files/ext/libxml/ruby_xml_dtd_c.html +101 -0
  48. data/doc/files/ext/libxml/ruby_xml_html_parser_c.html +101 -0
  49. data/doc/files/ext/libxml/ruby_xml_input_cbg_c.html +101 -0
  50. data/doc/files/ext/libxml/ruby_xml_node_c.html +101 -0
  51. data/doc/files/ext/libxml/ruby_xml_node_set_c.html +101 -0
  52. data/doc/files/ext/libxml/ruby_xml_ns_c.html +101 -0
  53. data/doc/files/ext/libxml/ruby_xml_parser_c.html +101 -0
  54. data/doc/files/ext/libxml/ruby_xml_parser_context_c.html +101 -0
  55. data/doc/files/ext/libxml/ruby_xml_reader_c.html +101 -0
  56. data/doc/files/ext/libxml/ruby_xml_sax_parser_c.html +101 -0
  57. data/doc/files/ext/libxml/ruby_xml_schema_c.html +101 -0
  58. data/doc/files/ext/libxml/ruby_xml_state_c.html +101 -0
  59. data/doc/files/ext/libxml/ruby_xml_tree_c.html +101 -0
  60. data/doc/files/ext/libxml/ruby_xml_xinclude_c.html +101 -0
  61. data/doc/files/ext/libxml/ruby_xml_xpath_c.html +101 -0
  62. data/doc/files/ext/libxml/ruby_xml_xpath_context_c.html +101 -0
  63. data/doc/files/ext/libxml/ruby_xml_xpath_object_c.html +101 -0
  64. data/doc/files/ext/libxml/ruby_xml_xpointer_c.html +101 -0
  65. data/doc/files/ext/libxml/ruby_xml_xpointer_context_c.html +101 -0
  66. data/doc/files/lib/libxml_rb.html +115 -0
  67. data/doc/files/lib/xml/libxml_rb.html +114 -0
  68. data/doc/fr_class_index.html +60 -0
  69. data/doc/fr_file_index.html +56 -0
  70. data/doc/fr_method_index.html +373 -0
  71. data/doc/index.html +24 -0
  72. data/doc/rdoc-style.css +208 -0
  73. data/ext/libxml/cbg.c +76 -76
  74. data/ext/libxml/extconf.rb +308 -308
  75. data/ext/libxml/libxml.c +58 -62
  76. data/ext/libxml/ruby_libxml.h +1 -0
  77. data/ext/libxml/ruby_xml_attr.c +201 -113
  78. data/ext/libxml/ruby_xml_attr.h +6 -9
  79. data/ext/libxml/ruby_xml_attributes.c +268 -0
  80. data/ext/libxml/ruby_xml_attributes.h +17 -0
  81. data/ext/libxml/ruby_xml_document.c +80 -66
  82. data/ext/libxml/ruby_xml_dtd.c +2 -2
  83. data/ext/libxml/ruby_xml_dtd.h +17 -17
  84. data/ext/libxml/ruby_xml_html_parser.c +18 -19
  85. data/ext/libxml/ruby_xml_html_parser.h +29 -29
  86. data/ext/libxml/ruby_xml_input_cbg.c +6 -0
  87. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  88. data/ext/libxml/ruby_xml_node.c +438 -536
  89. data/ext/libxml/ruby_xml_node.h +17 -27
  90. data/ext/libxml/ruby_xml_node_set.c +10 -9
  91. data/ext/libxml/ruby_xml_node_set.h +20 -20
  92. data/ext/libxml/ruby_xml_ns.c +60 -69
  93. data/ext/libxml/ruby_xml_ns.h +12 -21
  94. data/ext/libxml/ruby_xml_parser.c +54 -53
  95. data/ext/libxml/ruby_xml_parser.h +31 -31
  96. data/ext/libxml/ruby_xml_parser_context.c +37 -91
  97. data/ext/libxml/ruby_xml_parser_context.h +20 -22
  98. data/ext/libxml/ruby_xml_reader.h +14 -14
  99. data/ext/libxml/ruby_xml_sax_parser.c +55 -55
  100. data/ext/libxml/ruby_xml_sax_parser.h +56 -56
  101. data/ext/libxml/ruby_xml_schema.c +44 -51
  102. data/ext/libxml/ruby_xml_schema.h +16 -16
  103. data/ext/libxml/ruby_xml_state.c +35 -96
  104. data/ext/libxml/ruby_xml_state.h +2 -3
  105. data/ext/libxml/ruby_xml_tree.h +12 -12
  106. data/ext/libxml/ruby_xml_xinclude.h +13 -13
  107. data/ext/libxml/ruby_xml_xpath.c +57 -18
  108. data/ext/libxml/ruby_xml_xpath.h +23 -23
  109. data/ext/libxml/ruby_xml_xpath_context.c +11 -7
  110. data/ext/libxml/ruby_xml_xpath_context.h +20 -20
  111. data/ext/libxml/ruby_xml_xpath_object.c +9 -16
  112. data/ext/libxml/ruby_xml_xpath_object.h +4 -10
  113. data/ext/libxml/ruby_xml_xpointer.c +11 -11
  114. data/ext/libxml/ruby_xml_xpointer.h +27 -27
  115. data/ext/libxml/ruby_xml_xpointer_context.h +18 -18
  116. data/ext/libxml/version.h +2 -2
  117. data/lib/libxml.rb +134 -125
  118. data/lib/libxml_ruby.so +0 -0
  119. data/mingw/libiconv-2.dll +0 -0
  120. data/mingw/libxml2-2.dll +0 -0
  121. data/mingw/libxml_ruby.so +0 -0
  122. data/test/ets_copy_bug.rb +1 -1
  123. data/test/ets_copy_bug2.rb +16 -27
  124. data/test/ets_doc_to_s.rb +1 -1
  125. data/test/ets_gpx.rb +1 -1
  126. data/test/ets_node_gc.rb +1 -1
  127. data/test/ets_tsr.rb +1 -1
  128. data/test/tc_well_formed.rb +1 -1
  129. data/test/tc_xml_attributes.rb +106 -0
  130. data/test/tc_xml_document.rb +10 -10
  131. data/test/tc_xml_document_write3.rb +1 -1
  132. data/test/tc_xml_dtd.rb +49 -0
  133. data/test/tc_xml_html_parser.rb +3 -3
  134. data/test/tc_xml_node.rb +69 -33
  135. data/test/tc_xml_node_attr.rb +170 -0
  136. data/test/{tc_xml_node8.rb → tc_xml_node_cdata.rb} +2 -2
  137. data/test/{tc_xml_node9.rb → tc_xml_node_comment.rb} +3 -3
  138. data/test/tc_xml_node_edit.rb +91 -0
  139. data/test/tc_xml_parser.rb +97 -50
  140. data/test/tc_xml_parser_context.rb +61 -23
  141. data/test/tc_xml_schema.rb +39 -0
  142. data/test/tc_xml_xinclude.rb +5 -6
  143. data/test/tc_xml_xpath.rb +51 -27
  144. data/test/test_suite.rb +27 -0
  145. data/vc/{libxml.sln → libxml_ruby.sln} +5 -5
  146. data/vc/{libxml.vcproj → libxml_ruby.vcproj} +9 -1
  147. metadata +106 -54
  148. data/mingw/mingw.rake +0 -36
  149. data/test/dtd-test.rb +0 -24
  150. data/test/merge_bug.rb +0 -55
  151. data/test/schema-test.rb +0 -74
  152. data/test/tc_xml_node2.rb +0 -25
  153. data/test/tc_xml_node3.rb +0 -27
  154. data/test/tc_xml_node4.rb +0 -86
  155. data/test/tc_xml_node5.rb +0 -52
  156. data/test/tc_xml_node6.rb +0 -27
  157. data/test/tc_xml_node7.rb +0 -35
  158. data/test/tc_xml_parser2.rb +0 -16
  159. data/test/tc_xml_parser3.rb +0 -23
  160. data/test/tc_xml_parser4.rb +0 -33
  161. data/test/tc_xml_parser5.rb +0 -27
  162. data/test/tc_xml_parser6.rb +0 -23
  163. data/test/tc_xml_parser7.rb +0 -28
  164. data/test/tc_xml_parser8.rb +0 -32
  165. data/test/tc_xml_parser9.rb +0 -11
  166. data/test/tc_xml_xpath2.rb +0 -14
  167. data/work/vc/debug/libxml.exp +0 -0
  168. data/work/vc/debug/libxml.ilk +0 -0
  169. data/work/vc/debug/libxml.lib +0 -0
  170. data/work/vc/debug/libxml.pdb +0 -0
  171. data/work/vc/debug/libxml.so +0 -0
data/mingw/mingw.rake DELETED
@@ -1,36 +0,0 @@
1
- # We can't use Ruby's standard build procedures
2
- # on Windows because the Ruby executable is
3
- # built with VC++ while here we want to build
4
- # with MingW. So just roll our own...
5
-
6
- require 'rake/clean'
7
- require 'rbconfig'
8
-
9
- RUBY_INCLUDE_DIR = Config::CONFIG["archdir"]
10
- RUBY_BIN_DIR = Config::CONFIG["bindir"]
11
- RUBY_LIB_DIR = Config::CONFIG["libdir"]
12
- RUBY_SHARED_LIB = Config::CONFIG["LIBRUBY"]
13
- RUBY_SHARED_DLL = RUBY_SHARED_LIB.gsub(/lib$/, 'dll')
14
-
15
- CLEAN.include('*.o')
16
- CLOBBER.include('libxml.so')
17
-
18
- task :default => "libxml"
19
-
20
- SRC = FileList['../ext/libxml/*.c']
21
- OBJ = SRC.collect do |file_name|
22
- File.basename(file_name).ext('o')
23
- end
24
-
25
- SRC.each do |srcfile|
26
- objfile = File.basename(srcfile).ext('o')
27
- file objfile => srcfile do
28
- command = "gcc -c -fPIC -O2 -Wall -o #{objfile} -I/usr/local/include #{srcfile} -I#{RUBY_INCLUDE_DIR}"
29
- sh "sh -c '#{command}'"
30
- end
31
- end
32
-
33
- file "libxml" => OBJ do
34
- command = "libtool --mode=link gcc -shared -o libxml_ruby.so -L/usr/local/lib -lxml2 #{OBJ} #{RUBY_BIN_DIR}/#{RUBY_SHARED_DLL}"
35
- sh "sh -c '#{command}'"
36
- end
data/test/dtd-test.rb DELETED
@@ -1,24 +0,0 @@
1
- require "libxml"
2
-
3
- xp = XML::Parser.new
4
- xp.string = '<?xml version="1.0" encoding="utf-8"?>
5
- <root><head a="ee" id="1">ass<buzz/></head><descr>really big ass</descr></root>'
6
-
7
- doc = xp.parse
8
-
9
- dtd = XML::Dtd.new('
10
- <!ELEMENT root (head, descr)>
11
- <!ELEMENT head (#PCDATA)>
12
- <!ATTLIST head
13
- id NMTOKEN #REQUIRED
14
- a CDATA #IMPLIED
15
- >
16
- <!ELEMENT descr (#PCDATA)>
17
- ')
18
-
19
- if doc.validate(dtd) { |message, error| puts "#{error ? 'error' : 'warning'} : #{message}" }
20
- puts "validation passed"
21
- else
22
- puts "validation failed"
23
- end
24
-
data/test/merge_bug.rb DELETED
@@ -1,55 +0,0 @@
1
- #!/usr/local/bin/ruby
2
-
3
- require 'libxml'
4
-
5
- class XML::Node
6
- def first_child_element
7
- result = nil
8
- if self.children?
9
- self.each_child{|node_child| result = node_child if ((result.nil?) && node_child.element?) }
10
- end
11
- result
12
- end
13
- end
14
-
15
- #
16
- # Method which generates crash
17
- #
18
- def merge(forms)
19
- starting_form = forms.shift
20
- forms.inject(starting_form) do |master_form,form|
21
- master_form.find("//body").first << form.find("//body").first.first_child_element
22
- master_form
23
- end
24
- end
25
-
26
- #
27
- # Run
28
- # Must tell it how many times to merge a document
29
- # On my linux box, it takes about 350 to crash it
30
- # On my OS X box, it takes about 150
31
- #
32
-
33
- if (ARGV[0].to_i > 0)
34
- count = ARGV[0].to_i
35
- else
36
- count = 500
37
- end
38
-
39
-
40
- merge_list = []
41
-
42
- count.times do
43
- merge_list << XML::Parser.string(File.read(File.join(File.dirname(__FILE__), 'model', 'merge_bug_data.xml'))).parse
44
- end
45
-
46
- result = merge(merge_list)
47
- puts "Merged!"
48
-
49
- #File.open(File.join(File.dirname(__FILE__), 'model', '/generated_form.xml'), "w") do |f|
50
- # puts "Trying to write to file"
51
- # f << result
52
- # puts "After trying to write to file"
53
- #end
54
-
55
- puts "nothing left to do but print this message"
data/test/schema-test.rb DELETED
@@ -1,74 +0,0 @@
1
- require "libxml"
2
-
3
- xp = XML::Parser.new
4
- xp.string = '<?xml version="1.0" encoding="utf-8"?>
5
-
6
- <shiporder orderid="889923"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:noNamespaceSchemaLocation="shiporder.xsd">
9
- <orderperson>John Smith</orderperson>
10
- <shipto>
11
- <name>Ola Nordmann</name>
12
- <address>Langgt 23</address>
13
- <city>4000 Stavanger</city>
14
- <country>Norway</country>
15
- </shipto>
16
- <item>
17
- <title>Empire Burlesque</title>
18
- <note>Special Edition</note>
19
- <quantity>1</quantity>
20
- <price>10.90</price>
21
- </item>
22
- <item>
23
- <title>Hide your heart</title>
24
- <quantity>1</quantity>
25
- <price>9.90</price>
26
- </item>
27
- </shiporder>
28
- '
29
-
30
- doc = xp.parse
31
-
32
- schema = XML::Schema.from_string('<?xml version="1.0" encoding="ISO-8859-1" ?>
33
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
34
-
35
- <xs:element name="shiporder">
36
- <xs:complexType>
37
- <xs:sequence>
38
- <xs:element name="orderperson" type="xs:string"/>
39
- <xs:element name="shipto">
40
- <xs:complexType>
41
- <xs:sequence>
42
- <xs:element name="name" type="xs:string"/>
43
- <xs:element name="address" type="xs:string"/>
44
- <xs:element name="city" type="xs:string"/>
45
- <xs:element name="country" type="xs:string"/>
46
- </xs:sequence>
47
- </xs:complexType>
48
- </xs:element>
49
- <xs:element name="item" maxOccurs="unbounded">
50
- <xs:complexType>
51
- <xs:sequence>
52
- <xs:element name="title" type="xs:string"/>
53
- <xs:element name="note" type="xs:string" minOccurs="0"/>
54
- <xs:element name="quantity" type="xs:positiveInteger"/>
55
- <xs:element name="price" type="xs:decimal"/>
56
- </xs:sequence>
57
- </xs:complexType>
58
- </xs:element>
59
- </xs:sequence>
60
- <xs:attribute name="orderid" type="xs:string" use="required"/>
61
- </xs:complexType>
62
- </xs:element>
63
-
64
- </xs:schema>
65
- ')
66
-
67
- p schema
68
-
69
- if doc.validate_schema(schema) { |message, error| puts "#{error ? 'error' : 'warning'} : #{message}" }
70
- puts "validation passed"
71
- else
72
- puts "validation failed"
73
- end
74
-
data/test/tc_xml_node2.rb DELETED
@@ -1,25 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Node2 < Test::Unit::TestCase
5
- def setup()
6
- xp = XML::Parser.new()
7
- str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
8
- assert_equal(str, xp.string = str)
9
- doc = xp.parse
10
- assert_instance_of(XML::Document, doc)
11
- assert_instance_of(XML::Node, doc.root)
12
- @root = doc.root
13
- assert_instance_of(XML::Node, @root)
14
- end
15
-
16
- def teardown()
17
- @root = nil
18
- end
19
-
20
- def test_xml_node_doc_get()
21
- GC.start
22
- assert_instance_of(XML::Node, @root)
23
- assert_instance_of(XML::Document, @root.doc)
24
- end
25
- end
data/test/tc_xml_node3.rb DELETED
@@ -1,27 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Node3 < Test::Unit::TestCase
5
- def setup()
6
- xp = XML::Parser.new()
7
- str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
8
- assert_equal(str, xp.string = str)
9
- doc = xp.parse
10
- assert_instance_of(XML::Document, doc)
11
- assert_instance_of(XML::Node, doc.root)
12
- @root = doc.root
13
- assert_instance_of(XML::Node, @root)
14
- end
15
-
16
- def teardown()
17
- @root = nil
18
- end
19
-
20
- def test_xml_node_doc_content()
21
- assert_equal 'onetwo', @root.content
22
- first = @root.child
23
-
24
- assert_equal 'one', first.content
25
- assert_equal 'two', first.next.content
26
- end
27
- end
data/test/tc_xml_node4.rb DELETED
@@ -1,86 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Node4 < Test::Unit::TestCase
5
- def setup()
6
- xp = XML::Parser.new()
7
- @str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
8
- assert_equal(@str, xp.string = @str)
9
- doc = xp.parse
10
- xp2=XML::Parser.new()
11
- xp2.string=@str
12
- @doc2 = xp2.parse
13
- assert_instance_of(XML::Document, doc)
14
- assert_instance_of(XML::Node, doc.root)
15
- @root = doc.root
16
- assert_instance_of(XML::Node, @root)
17
- end
18
-
19
- def teardown()
20
- @root = nil
21
- end
22
-
23
- def test_xml_node_eql?()
24
- first1 = @root.child
25
- first2 = @doc2.root.child
26
-
27
- assert_not_equal first1.object_id, first2.object_id
28
- assert first1.eql?(first2)
29
- assert first2.eql?(first1)
30
-
31
- assert_equal first1, first2
32
- end
33
-
34
- def test_xml_node_hash()
35
- first1 = @root.child
36
- first2 = @doc2.root.child
37
-
38
- assert_not_equal first1.object_id, first2.object_id
39
- assert_equal first1.hash, first2.hash
40
- end
41
-
42
- def test_01_xml_node_remove!()
43
- first = @root.child
44
-
45
- assert_equal 'fixnum', first.name
46
- assert_equal 'fixnum', first.next.name
47
-
48
- first.next.remove!
49
-
50
- assert_equal 'fixnum', first.name
51
- assert_equal nil, first.next
52
- end
53
-
54
- def test_02_xml_node_remove!()
55
- first = @root.child
56
-
57
- assert_equal 'fixnum', first.name
58
- assert_equal 'fixnum', first.next.name
59
- assert_equal 'one', first.content
60
-
61
- first.remove!
62
-
63
- first = @root.child
64
- assert_equal 'fixnum', first.name
65
- assert_equal nil, first.next
66
- assert_equal 'two', first.content
67
- end
68
-
69
- # TODO need to test namespace support
70
- def test_xml_node_find_first()
71
- first = @root.find_first('//fixnum')
72
-
73
- assert_equal 'one', first.content
74
- end
75
-
76
- def test_xml_node_property_set_remove()
77
- assert_equal 'booga', @root['uga']
78
- @root['uga'] = nil
79
- assert_equal nil , @root['uga']
80
- assert_equal "<ruby_array foo=\"bar\">\n <fixnum>one</fixnum>\n <fixnum>two</fixnum>\n</ruby_array>",
81
- @root.to_s
82
- end
83
-
84
-
85
-
86
- end
data/test/tc_xml_node5.rb DELETED
@@ -1,52 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Node5 < Test::Unit::TestCase
5
- def setup()
6
- xp = XML::Parser.new()
7
- str = '<test><num>one</num><num>two</num><num>three</num></test>'
8
- assert_equal(str, xp.string = str)
9
- @doc = xp.parse
10
- assert_instance_of(XML::Document, @doc)
11
- @root = @doc.root
12
- @num1 = @root.child
13
- @num2 = @num1.next
14
- @num3 = @num2.next
15
- end
16
-
17
- def test_libxml_node_add_next_01
18
- @num1.next = XML::Node.new('num', 'one-and-a-half')
19
- assert_equal '<test><num>one</num><num>one-and-a-half</num><num>two</num><num>three</num></test>',
20
- @root.to_s.gsub(/\n\s*/,'')
21
- end
22
-
23
- def test_libxml_node_add_next_02
24
- @num2.next = XML::Node.new('num', 'two-and-a-half')
25
- assert_equal '<test><num>one</num><num>two</num><num>two-and-a-half</num><num>three</num></test>',
26
- @root.to_s.gsub(/\n\s*/,'')
27
- end
28
-
29
- def test_libxml_node_add_next_03
30
- @num3.next = XML::Node.new('num', 'four')
31
- assert_equal '<test><num>one</num><num>two</num><num>three</num><num>four</num></test>',
32
- @root.to_s.gsub(/\n\s*/,'')
33
- end
34
-
35
- def test_libxml_node_add_prev_01
36
- @num1.prev = XML::Node.new('num', 'half')
37
- assert_equal '<test><num>half</num><num>one</num><num>two</num><num>three</num></test>',
38
- @root.to_s.gsub(/\n\s*/,'')
39
- end
40
-
41
- def test_libxml_node_add_prev_02
42
- @num2.prev = XML::Node.new('num', 'one-and-a-half')
43
- assert_equal '<test><num>one</num><num>one-and-a-half</num><num>two</num><num>three</num></test>',
44
- @root.to_s.gsub(/\n\s*/,'')
45
- end
46
-
47
- def test_libxml_node_add_prev_03
48
- @num3.prev = XML::Node.new('num', 'two-and-a-half')
49
- assert_equal '<test><num>one</num><num>two</num><num>two-and-a-half</num><num>three</num></test>',
50
- @root.to_s.gsub(/\n\s*/,'')
51
- end
52
- end
data/test/tc_xml_node6.rb DELETED
@@ -1,27 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Node6 < Test::Unit::TestCase
5
- def setup()
6
- xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
7
- doc = xp.parse
8
- @root = doc.root
9
- assert_equal 'bar', @root['foo']
10
- end
11
-
12
- def teardown()
13
- @root = nil
14
- end
15
-
16
- def test_xml_node_prop_get_str_sym()
17
- assert_equal @root['foo'], @root[:foo]
18
- assert_equal @root['uga'], @root[:uga]
19
- end
20
-
21
- def test_xml_node_prop_set_str_sym()
22
- @root[:foo] = 'boo'
23
- @root[:uga] = 'zoo'
24
- assert_equal 'boo', @root['foo']
25
- assert_equal 'zoo', @root['uga']
26
- end
27
- end
data/test/tc_xml_node7.rb DELETED
@@ -1,35 +0,0 @@
1
- require "libxml"
2
- require 'test/unit'
3
-
4
- class TC_XML_Node7 < Test::Unit::TestCase
5
- def setup()
6
- xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
7
- doc = xp.parse
8
- @root = doc.root
9
- assert_equal 'bar', @root['foo']
10
- end
11
-
12
- def teardown()
13
- @root = nil
14
- end
15
-
16
- def test_xml_node_properties_traversal_bug()
17
- prop = @root.properties
18
- assert_instance_of XML::Attr, prop
19
- assert_equal 'uga', prop.name
20
- assert_equal 'booga', prop.value
21
-
22
- prop = prop.next
23
- assert_instance_of XML::Attr, prop
24
- assert_equal 'foo', prop.name
25
- assert_equal 'bar', prop.value
26
- end
27
-
28
- def test_xml_node_properties_when_no_attributes
29
- xp = XML::Parser.string("<root></root>")
30
- doc = xp.parse
31
- root = doc.root
32
-
33
- assert_nil root.properties
34
- end
35
- end