libxml-ruby 2.8.0 → 3.2.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 (205) hide show
  1. checksums.yaml +5 -5
  2. data/HISTORY +859 -775
  3. data/LICENSE +20 -20
  4. data/MANIFEST +166 -166
  5. data/README.rdoc +217 -184
  6. data/Rakefile +98 -78
  7. data/ext/libxml/extconf.rb +61 -116
  8. data/ext/libxml/libxml.c +80 -76
  9. data/ext/libxml/ruby_libxml.h +67 -75
  10. data/ext/libxml/ruby_xml.c +937 -893
  11. data/ext/libxml/ruby_xml.h +10 -10
  12. data/ext/libxml/ruby_xml_attr.c +333 -333
  13. data/ext/libxml/ruby_xml_attr.h +12 -12
  14. data/ext/libxml/ruby_xml_attr_decl.c +153 -153
  15. data/ext/libxml/ruby_xml_attr_decl.h +11 -11
  16. data/ext/libxml/ruby_xml_attributes.c +275 -275
  17. data/ext/libxml/ruby_xml_attributes.h +15 -15
  18. data/ext/libxml/ruby_xml_cbg.c +85 -85
  19. data/ext/libxml/ruby_xml_document.c +1123 -1147
  20. data/ext/libxml/ruby_xml_document.h +11 -11
  21. data/ext/libxml/ruby_xml_dtd.c +248 -268
  22. data/ext/libxml/ruby_xml_dtd.h +9 -9
  23. data/ext/libxml/ruby_xml_encoding.c +250 -260
  24. data/ext/libxml/ruby_xml_encoding.h +16 -19
  25. data/ext/libxml/ruby_xml_error.c +996 -996
  26. data/ext/libxml/ruby_xml_error.h +12 -12
  27. data/ext/libxml/ruby_xml_html_parser.c +89 -92
  28. data/ext/libxml/ruby_xml_html_parser.h +10 -10
  29. data/ext/libxml/ruby_xml_html_parser_context.c +337 -338
  30. data/ext/libxml/ruby_xml_html_parser_context.h +10 -10
  31. data/ext/libxml/ruby_xml_html_parser_options.c +46 -46
  32. data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
  33. data/ext/libxml/ruby_xml_input_cbg.c +191 -191
  34. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  35. data/ext/libxml/ruby_xml_io.c +47 -50
  36. data/ext/libxml/ruby_xml_io.h +10 -10
  37. data/ext/libxml/ruby_xml_namespace.c +154 -153
  38. data/ext/libxml/ruby_xml_namespace.h +10 -10
  39. data/ext/libxml/ruby_xml_namespaces.c +293 -293
  40. data/ext/libxml/ruby_xml_namespaces.h +9 -9
  41. data/ext/libxml/ruby_xml_node.c +1406 -1452
  42. data/ext/libxml/ruby_xml_node.h +13 -11
  43. data/ext/libxml/ruby_xml_parser.c +91 -94
  44. data/ext/libxml/ruby_xml_parser.h +12 -12
  45. data/ext/libxml/ruby_xml_parser_context.c +999 -1001
  46. data/ext/libxml/ruby_xml_parser_context.h +10 -10
  47. data/ext/libxml/ruby_xml_parser_options.c +66 -66
  48. data/ext/libxml/ruby_xml_parser_options.h +12 -12
  49. data/ext/libxml/ruby_xml_reader.c +1239 -1228
  50. data/ext/libxml/ruby_xml_reader.h +17 -17
  51. data/ext/libxml/ruby_xml_relaxng.c +110 -111
  52. data/ext/libxml/ruby_xml_relaxng.h +10 -10
  53. data/ext/libxml/ruby_xml_sax2_handler.c +326 -328
  54. data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
  55. data/ext/libxml/ruby_xml_sax_parser.c +116 -120
  56. data/ext/libxml/ruby_xml_sax_parser.h +10 -10
  57. data/ext/libxml/ruby_xml_schema.c +350 -301
  58. data/ext/libxml/ruby_xml_schema.h +806 -809
  59. data/ext/libxml/ruby_xml_schema_attribute.c +61 -109
  60. data/ext/libxml/ruby_xml_schema_attribute.h +15 -15
  61. data/ext/libxml/ruby_xml_schema_element.c +69 -94
  62. data/ext/libxml/ruby_xml_schema_element.h +14 -14
  63. data/ext/libxml/ruby_xml_schema_facet.c +46 -52
  64. data/ext/libxml/ruby_xml_schema_facet.h +13 -13
  65. data/ext/libxml/ruby_xml_schema_type.c +214 -259
  66. data/ext/libxml/ruby_xml_schema_type.h +9 -9
  67. data/ext/libxml/ruby_xml_version.h +9 -9
  68. data/ext/libxml/ruby_xml_writer.c +1133 -1137
  69. data/ext/libxml/ruby_xml_writer.h +10 -10
  70. data/ext/libxml/ruby_xml_xinclude.c +16 -16
  71. data/ext/libxml/ruby_xml_xinclude.h +11 -11
  72. data/ext/libxml/ruby_xml_xpath.c +194 -188
  73. data/ext/libxml/ruby_xml_xpath.h +13 -13
  74. data/ext/libxml/ruby_xml_xpath_context.c +360 -361
  75. data/ext/libxml/ruby_xml_xpath_context.h +9 -9
  76. data/ext/libxml/ruby_xml_xpath_expression.c +81 -81
  77. data/ext/libxml/ruby_xml_xpath_expression.h +10 -10
  78. data/ext/libxml/ruby_xml_xpath_object.c +338 -335
  79. data/ext/libxml/ruby_xml_xpath_object.h +17 -17
  80. data/ext/libxml/ruby_xml_xpointer.c +99 -99
  81. data/ext/libxml/ruby_xml_xpointer.h +11 -11
  82. data/ext/vc/libxml_ruby.sln +17 -15
  83. data/lib/libxml/node.rb +2 -78
  84. data/lib/libxml/parser.rb +0 -266
  85. data/lib/libxml/sax_parser.rb +0 -17
  86. data/lib/libxml/schema/attribute.rb +19 -19
  87. data/lib/libxml/schema/element.rb +19 -27
  88. data/lib/libxml/schema/type.rb +21 -29
  89. data/lib/libxml/schema.rb +47 -66
  90. data/lib/libxml-ruby.rb +30 -0
  91. data/lib/libxml.rb +3 -33
  92. data/libxml-ruby.gemspec +48 -44
  93. data/script/benchmark/depixelate +634 -634
  94. data/script/benchmark/hamlet.xml +9054 -9054
  95. data/script/benchmark/parsecount +170 -170
  96. data/script/benchmark/throughput +41 -41
  97. data/script/test +6 -6
  98. data/setup.rb +0 -1
  99. data/test/c14n/given/example-1.xml +14 -14
  100. data/test/c14n/given/example-2.xml +11 -11
  101. data/test/c14n/given/example-3.xml +18 -18
  102. data/test/c14n/given/example-4.xml +9 -9
  103. data/test/c14n/given/example-5.xml +12 -12
  104. data/test/c14n/given/example-6.xml +2 -2
  105. data/test/c14n/given/example-7.xml +11 -11
  106. data/test/c14n/given/example-8.xml +11 -11
  107. data/test/c14n/given/example-8.xpath +9 -9
  108. data/test/c14n/result/1-1-without-comments/example-1 +3 -3
  109. data/test/c14n/result/1-1-without-comments/example-2 +10 -10
  110. data/test/c14n/result/1-1-without-comments/example-3 +13 -13
  111. data/test/c14n/result/1-1-without-comments/example-4 +8 -8
  112. data/test/c14n/result/1-1-without-comments/example-5 +2 -2
  113. data/test/c14n/result/with-comments/example-1 +5 -5
  114. data/test/c14n/result/with-comments/example-2 +10 -10
  115. data/test/c14n/result/with-comments/example-3 +13 -13
  116. data/test/c14n/result/with-comments/example-4 +8 -8
  117. data/test/c14n/result/with-comments/example-5 +3 -3
  118. data/test/c14n/result/without-comments/example-1 +3 -3
  119. data/test/c14n/result/without-comments/example-2 +10 -10
  120. data/test/c14n/result/without-comments/example-3 +13 -13
  121. data/test/c14n/result/without-comments/example-4 +8 -8
  122. data/test/c14n/result/without-comments/example-5 +2 -2
  123. data/test/model/atom.xml +12 -12
  124. data/test/model/bands.iso-8859-1.xml +4 -4
  125. data/test/model/bands.utf-8.xml +4 -4
  126. data/test/model/bands.xml +4 -4
  127. data/test/model/books.xml +153 -153
  128. data/test/model/cwm_1_0.xml +11336 -0
  129. data/test/model/merge_bug_data.xml +58 -58
  130. data/test/model/ruby-lang.html +238 -238
  131. data/test/model/rubynet.xml +79 -79
  132. data/test/model/shiporder.rnc +28 -28
  133. data/test/model/shiporder.rng +86 -86
  134. data/test/model/shiporder.xml +22 -22
  135. data/test/model/shiporder.xsd +44 -40
  136. data/test/model/shiporder_bad.xsd +40 -0
  137. data/test/model/shiporder_import.xsd +45 -0
  138. data/test/model/soap.xml +27 -27
  139. data/test/model/xinclude.xml +4 -4
  140. data/test/{tc_attr.rb → test_attr.rb} +23 -25
  141. data/test/{tc_attr_decl.rb → test_attr_decl.rb} +13 -14
  142. data/test/{tc_attributes.rb → test_attributes.rb} +11 -18
  143. data/test/{tc_canonicalize.rb → test_canonicalize.rb} +36 -41
  144. data/test/test_deprecated_require.rb +12 -0
  145. data/test/{tc_document.rb → test_document.rb} +33 -27
  146. data/test/test_document_write.rb +146 -0
  147. data/test/{tc_dtd.rb → test_dtd.rb} +29 -29
  148. data/test/{tc_encoding.rb → test_encoding.rb} +129 -126
  149. data/test/{tc_encoding_sax.rb → test_encoding_sax.rb} +7 -6
  150. data/test/test_error.rb +178 -0
  151. data/test/test_helper.rb +4 -9
  152. data/test/test_html_parser.rb +162 -0
  153. data/test/test_html_parser_context.rb +23 -0
  154. data/test/test_namespace.rb +60 -0
  155. data/test/{tc_namespaces.rb → test_namespaces.rb} +34 -44
  156. data/test/{tc_node.rb → test_node.rb} +68 -47
  157. data/test/{tc_node_cdata.rb → test_node_cdata.rb} +12 -13
  158. data/test/{tc_node_comment.rb → test_node_comment.rb} +7 -8
  159. data/test/{tc_node_copy.rb → test_node_copy.rb} +4 -6
  160. data/test/{tc_node_edit.rb → test_node_edit.rb} +23 -41
  161. data/test/{tc_node_pi.rb → test_node_pi.rb} +37 -40
  162. data/test/{tc_node_text.rb → test_node_text.rb} +10 -12
  163. data/test/{tc_node_write.rb → test_node_write.rb} +18 -29
  164. data/test/test_node_xlink.rb +28 -0
  165. data/test/test_parser.rb +324 -0
  166. data/test/{tc_parser_context.rb → test_parser_context.rb} +42 -49
  167. data/test/{tc_properties.rb → test_properties.rb} +6 -7
  168. data/test/test_reader.rb +364 -0
  169. data/test/test_relaxng.rb +53 -0
  170. data/test/{tc_sax_parser.rb → test_sax_parser.rb} +44 -38
  171. data/test/test_schema.rb +231 -0
  172. data/test/test_suite.rb +38 -40
  173. data/test/{tc_traversal.rb → test_traversal.rb} +5 -6
  174. data/test/{tc_writer.rb → test_writer.rb} +468 -448
  175. data/test/{tc_xinclude.rb → test_xinclude.rb} +4 -5
  176. data/test/test_xml.rb +263 -0
  177. data/test/{tc_xpath.rb → test_xpath.rb} +31 -32
  178. data/test/{tc_xpath_context.rb → test_xpath_context.rb} +8 -9
  179. data/test/test_xpath_expression.rb +37 -0
  180. data/test/{tc_xpointer.rb → test_xpointer.rb} +16 -18
  181. metadata +122 -100
  182. data/lib/libxml/ns.rb +0 -22
  183. data/lib/libxml/properties.rb +0 -23
  184. data/lib/libxml/reader.rb +0 -29
  185. data/lib/libxml/xpath_object.rb +0 -16
  186. data/test/etc_doc_to_s.rb +0 -21
  187. data/test/ets_doc_file.rb +0 -17
  188. data/test/ets_doc_to_s.rb +0 -23
  189. data/test/ets_gpx.rb +0 -28
  190. data/test/ets_node_gc.rb +0 -23
  191. data/test/ets_test.xml +0 -2
  192. data/test/ets_tsr.rb +0 -11
  193. data/test/tc_deprecated_require.rb +0 -13
  194. data/test/tc_document_write.rb +0 -196
  195. data/test/tc_error.rb +0 -180
  196. data/test/tc_html_parser.rb +0 -153
  197. data/test/tc_html_parser_context.rb +0 -24
  198. data/test/tc_namespace.rb +0 -62
  199. data/test/tc_node_xlink.rb +0 -29
  200. data/test/tc_parser.rb +0 -381
  201. data/test/tc_reader.rb +0 -400
  202. data/test/tc_relaxng.rb +0 -54
  203. data/test/tc_schema.rb +0 -162
  204. data/test/tc_xml.rb +0 -226
  205. data/test/tc_xpath_expression.rb +0 -38
data/test/tc_xml.rb DELETED
@@ -1,226 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require './test_helper'
4
- require 'test/unit'
5
- require 'stringio'
6
-
7
- class TestXml < Test::Unit::TestCase
8
- # ----- Constants ------
9
- def test_lib_versions
10
- assert(XML.check_lib_versions)
11
- end
12
-
13
- def test_debug_entities
14
- XML.debug_entities = false
15
- assert(!XML.debug_entities)
16
-
17
- XML.debug_entities = true
18
- assert(XML.debug_entities)
19
-
20
- XML.debug_entities = false
21
- assert(!XML.debug_entities)
22
- end
23
-
24
- def test_default_compression
25
- return unless XML.default_compression
26
-
27
- 0.upto(9) do |i|
28
- XML.default_compression = i
29
- assert_equal(i, XML.default_compression)
30
- end
31
-
32
- 9.downto(0) do |i|
33
- assert_equal(i, XML.default_compression = i)
34
- assert_equal(i, XML.default_compression)
35
- end
36
-
37
- 0.downto(-10) do |i|
38
- assert_equal(i, XML.default_compression = i)
39
- assert_equal(0, XML.default_compression)
40
- end
41
-
42
- 10.upto(20) do |i|
43
- assert_equal(i, XML.default_compression = i)
44
- assert_equal(9, XML.default_compression)
45
- end
46
- end
47
-
48
- def test_default_keep_blanks
49
- XML.default_keep_blanks = false
50
- assert(!XML.default_keep_blanks)
51
- assert_equal(XML::Parser::Options::NOBLANKS, XML.default_options)
52
-
53
- XML.default_keep_blanks = true
54
- assert(XML.default_keep_blanks)
55
- assert_equal(0, XML.default_options)
56
-
57
- XML.default_keep_blanks = false
58
- assert(!XML.default_keep_blanks)
59
-
60
- # other tests depend on keeping blanks by default,
61
- # which is the default default behaviour anyway.
62
- XML.default_keep_blanks = true
63
- end
64
-
65
- def test_default_line_numbers
66
- XML.default_line_numbers = false
67
- assert(!XML.default_line_numbers)
68
-
69
- XML.default_line_numbers = true
70
- assert(XML.default_line_numbers)
71
-
72
- XML.default_line_numbers = false
73
- assert(!XML.default_line_numbers)
74
- end
75
-
76
- def test_default_substitute_entities
77
- XML.default_substitute_entities = false
78
- assert(!XML.default_substitute_entities)
79
- assert_equal(0, XML.default_options)
80
-
81
- XML.default_substitute_entities = true
82
- assert(XML.default_substitute_entities)
83
- assert_equal(XML::Parser::Options::NOENT, XML.default_options)
84
-
85
- XML.default_substitute_entities = false
86
- assert(!XML.default_substitute_entities)
87
- end
88
-
89
- def test_default_tree_indent_string
90
- s = XML.default_tree_indent_string
91
- assert_instance_of(String, s)
92
- assert_equal(' ', s)
93
- XML.default_tree_indent_string = 'uga'
94
- s = XML.default_tree_indent_string
95
- assert_instance_of(String, s)
96
- assert_equal('uga', s)
97
- XML.default_tree_indent_string = ' '
98
- s = XML.default_tree_indent_string
99
- assert_instance_of(String, s)
100
- assert_equal(' ', s)
101
- end
102
-
103
- def test_default_validity_checking
104
- XML.default_validity_checking = false
105
- assert(!XML.default_validity_checking)
106
- assert_equal(0, XML.default_options)
107
-
108
- XML.default_validity_checking = true
109
- assert(XML.default_validity_checking)
110
- assert_equal(XML::Parser::Options::DTDVALID, XML.default_options)
111
-
112
- XML.default_validity_checking = false
113
- assert(!XML.default_validity_checking)
114
- end
115
-
116
- def test_default_warnings
117
- XML.default_warnings = false
118
- assert(!XML.default_warnings)
119
- assert_equal(XML::Parser::Options::NOWARNING, XML.default_options)
120
-
121
- XML.default_warnings = true
122
- assert(XML.default_warnings)
123
- assert_equal(0, XML.default_options)
124
-
125
- XML.default_warnings = false
126
- assert(!XML.default_warnings)
127
- end
128
-
129
- def test_enabled_automata
130
- assert_equal(true, XML.enabled_automata?)
131
- end
132
-
133
- def test_enabled_c14n
134
- assert_equal(true, XML.enabled_c14n?)
135
- end
136
-
137
- def test_enabled_catalog
138
- assert_equal(true, XML.enabled_catalog?)
139
- end
140
-
141
- def test_enabled_debug
142
- assert_equal(true, XML.enabled_debug?)
143
- end
144
-
145
- def test_enabled_docbook
146
- assert_equal(true, XML.enabled_docbook?)
147
- end
148
-
149
- def test_enabled_ftp
150
- assert_equal(true, XML.enabled_ftp?)
151
- end
152
-
153
- def test_enabled_http
154
- assert_equal(true, XML.enabled_http?)
155
- end
156
-
157
- def test_enabled_html
158
- assert_equal(true, XML.enabled_html?)
159
- end
160
-
161
- def test_enabled_iconv
162
- assert_equal(true, XML.enabled_iconv?)
163
- end
164
-
165
- def test_enabled_memory_debug
166
- assert_equal(false, XML.enabled_memory_debug?)
167
- end
168
-
169
- def test_enabled_regexp
170
- assert_equal(true, XML.enabled_regexp?)
171
- end
172
-
173
- def test_enabled_schemas
174
- assert_equal(true, XML.enabled_schemas?)
175
- end
176
-
177
- def test_enabled_thread
178
- assert_equal(true, XML.enabled_thread?)
179
- end
180
-
181
- def test_enabled_unicode
182
- assert_equal(true, XML.enabled_unicode?)
183
- end
184
-
185
- def test_enabled_xinclude
186
- assert_equal(true, XML.enabled_xinclude?)
187
- end
188
-
189
- def test_enabled_xpath
190
- assert_equal(true, XML.enabled_xpath?)
191
- end
192
-
193
- def test_enabled_xpointer
194
- assert_equal(true, XML.enabled_xpointer?)
195
- end
196
-
197
- def test_enabled_zlib
198
- assert_equal(true, XML.enabled_zlib?)
199
- end
200
-
201
- def test_intent_tree_output
202
- assert(TrueClass, XML.indent_tree_output)
203
-
204
- XML.indent_tree_output = false
205
- assert(FalseClass, XML.indent_tree_output)
206
-
207
- XML.indent_tree_output = true
208
- assert(TrueClass, XML.indent_tree_output)
209
- end
210
-
211
- def test_version
212
- assert_instance_of(String, XML::VERSION)
213
- end
214
-
215
- def test_vernum
216
- assert_instance_of(Fixnum, XML::VERNUM)
217
- end
218
-
219
- def test_libxml_parser_features
220
- assert_instance_of(Array, XML.features)
221
- end
222
-
223
- def test_default_options
224
- assert_equal(0, XML.default_options)
225
- end
226
- end
@@ -1,38 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require './test_helper'
4
-
5
- require 'test/unit'
6
-
7
- class TestXPathExpression < Test::Unit::TestCase
8
- def setup
9
- xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
10
- @doc = xp.parse
11
- end
12
-
13
- def teardown
14
- @doc = nil
15
- end
16
-
17
- def test_nodes
18
- expr = XML::XPath::Expression.compile('/ruby_array/fixnum')
19
- set = @doc.find(expr)
20
- assert_instance_of(XML::XPath::Object, set)
21
- assert_equal(2, set.size)
22
- end
23
-
24
- def test_find_class
25
- expr = XML::XPath::Expression.new('/ruby_array/fixnum')
26
- set = @doc.find(expr)
27
- assert_instance_of(XML::XPath::Object, set)
28
- assert_equal(2, set.size)
29
- end
30
-
31
- def test_find_invalid
32
- error = assert_raise(TypeError) do
33
- set = @doc.find(999)
34
- end
35
- assert_equal('Argument should be an intance of a String or XPath::Expression',
36
- error.to_s)
37
- end
38
- end