libxml-ruby 2.8.0 → 3.2.1

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 (204) hide show
  1. checksums.yaml +5 -5
  2. data/HISTORY +842 -775
  3. data/LICENSE +20 -20
  4. data/MANIFEST +166 -166
  5. data/README.rdoc +217 -184
  6. data/Rakefile +90 -78
  7. data/ext/libxml/extconf.h +3 -0
  8. data/ext/libxml/extconf.rb +61 -116
  9. data/ext/libxml/libxml.c +80 -76
  10. data/ext/libxml/ruby_libxml.h +67 -75
  11. data/ext/libxml/ruby_xml.c +933 -893
  12. data/ext/libxml/ruby_xml.h +10 -10
  13. data/ext/libxml/ruby_xml_attr.c +333 -333
  14. data/ext/libxml/ruby_xml_attr.h +12 -12
  15. data/ext/libxml/ruby_xml_attr_decl.c +153 -153
  16. data/ext/libxml/ruby_xml_attr_decl.h +11 -11
  17. data/ext/libxml/ruby_xml_attributes.c +275 -275
  18. data/ext/libxml/ruby_xml_attributes.h +15 -15
  19. data/ext/libxml/ruby_xml_cbg.c +85 -85
  20. data/ext/libxml/ruby_xml_document.c +1123 -1147
  21. data/ext/libxml/ruby_xml_document.h +11 -11
  22. data/ext/libxml/ruby_xml_dtd.c +248 -268
  23. data/ext/libxml/ruby_xml_dtd.h +9 -9
  24. data/ext/libxml/ruby_xml_encoding.c +250 -260
  25. data/ext/libxml/ruby_xml_encoding.h +16 -19
  26. data/ext/libxml/ruby_xml_error.c +996 -996
  27. data/ext/libxml/ruby_xml_error.h +12 -12
  28. data/ext/libxml/ruby_xml_html_parser.c +89 -92
  29. data/ext/libxml/ruby_xml_html_parser.h +10 -10
  30. data/ext/libxml/ruby_xml_html_parser_context.c +337 -338
  31. data/ext/libxml/ruby_xml_html_parser_context.h +10 -10
  32. data/ext/libxml/ruby_xml_html_parser_options.c +46 -46
  33. data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
  34. data/ext/libxml/ruby_xml_input_cbg.c +191 -191
  35. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  36. data/ext/libxml/ruby_xml_io.c +47 -50
  37. data/ext/libxml/ruby_xml_io.h +10 -10
  38. data/ext/libxml/ruby_xml_namespace.c +153 -153
  39. data/ext/libxml/ruby_xml_namespace.h +10 -10
  40. data/ext/libxml/ruby_xml_namespaces.c +293 -293
  41. data/ext/libxml/ruby_xml_namespaces.h +9 -9
  42. data/ext/libxml/ruby_xml_node.c +1402 -1452
  43. data/ext/libxml/ruby_xml_node.h +13 -11
  44. data/ext/libxml/ruby_xml_parser.c +91 -94
  45. data/ext/libxml/ruby_xml_parser.h +12 -12
  46. data/ext/libxml/ruby_xml_parser_context.c +999 -1001
  47. data/ext/libxml/ruby_xml_parser_context.h +10 -10
  48. data/ext/libxml/ruby_xml_parser_options.c +66 -66
  49. data/ext/libxml/ruby_xml_parser_options.h +12 -12
  50. data/ext/libxml/ruby_xml_reader.c +1239 -1228
  51. data/ext/libxml/ruby_xml_reader.h +17 -17
  52. data/ext/libxml/ruby_xml_relaxng.c +110 -111
  53. data/ext/libxml/ruby_xml_relaxng.h +10 -10
  54. data/ext/libxml/ruby_xml_sax2_handler.c +326 -328
  55. data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
  56. data/ext/libxml/ruby_xml_sax_parser.c +116 -120
  57. data/ext/libxml/ruby_xml_sax_parser.h +10 -10
  58. data/ext/libxml/ruby_xml_schema.c +278 -301
  59. data/ext/libxml/ruby_xml_schema.h +809 -809
  60. data/ext/libxml/ruby_xml_schema_attribute.c +109 -109
  61. data/ext/libxml/ruby_xml_schema_attribute.h +15 -15
  62. data/ext/libxml/ruby_xml_schema_element.c +95 -94
  63. data/ext/libxml/ruby_xml_schema_element.h +14 -14
  64. data/ext/libxml/ruby_xml_schema_facet.c +52 -52
  65. data/ext/libxml/ruby_xml_schema_facet.h +13 -13
  66. data/ext/libxml/ruby_xml_schema_type.c +232 -259
  67. data/ext/libxml/ruby_xml_schema_type.h +9 -9
  68. data/ext/libxml/ruby_xml_version.h +9 -9
  69. data/ext/libxml/ruby_xml_writer.c +1133 -1137
  70. data/ext/libxml/ruby_xml_writer.h +10 -10
  71. data/ext/libxml/ruby_xml_xinclude.c +16 -16
  72. data/ext/libxml/ruby_xml_xinclude.h +11 -11
  73. data/ext/libxml/ruby_xml_xpath.c +194 -188
  74. data/ext/libxml/ruby_xml_xpath.h +13 -13
  75. data/ext/libxml/ruby_xml_xpath_context.c +360 -361
  76. data/ext/libxml/ruby_xml_xpath_context.h +9 -9
  77. data/ext/libxml/ruby_xml_xpath_expression.c +81 -81
  78. data/ext/libxml/ruby_xml_xpath_expression.h +10 -10
  79. data/ext/libxml/ruby_xml_xpath_object.c +338 -335
  80. data/ext/libxml/ruby_xml_xpath_object.h +17 -17
  81. data/ext/libxml/ruby_xml_xpointer.c +99 -99
  82. data/ext/libxml/ruby_xml_xpointer.h +11 -11
  83. data/ext/vc/libxml_ruby.sln +17 -15
  84. data/lib/libxml-ruby.rb +30 -0
  85. data/lib/libxml.rb +3 -33
  86. data/lib/libxml/node.rb +2 -78
  87. data/lib/libxml/parser.rb +0 -266
  88. data/lib/libxml/sax_parser.rb +0 -17
  89. data/lib/libxml/schema.rb +47 -66
  90. data/lib/libxml/schema/attribute.rb +19 -19
  91. data/lib/libxml/schema/element.rb +19 -27
  92. data/lib/libxml/schema/type.rb +21 -29
  93. data/libxml-ruby.gemspec +48 -44
  94. data/script/benchmark/depixelate +634 -634
  95. data/script/benchmark/hamlet.xml +9054 -9054
  96. data/script/benchmark/parsecount +170 -170
  97. data/script/benchmark/throughput +41 -41
  98. data/script/test +6 -6
  99. data/setup.rb +0 -1
  100. data/test/c14n/given/example-1.xml +14 -14
  101. data/test/c14n/given/example-2.xml +11 -11
  102. data/test/c14n/given/example-3.xml +18 -18
  103. data/test/c14n/given/example-4.xml +9 -9
  104. data/test/c14n/given/example-5.xml +12 -12
  105. data/test/c14n/given/example-6.xml +2 -2
  106. data/test/c14n/given/example-7.xml +11 -11
  107. data/test/c14n/given/example-8.xml +11 -11
  108. data/test/c14n/given/example-8.xpath +9 -9
  109. data/test/c14n/result/1-1-without-comments/example-1 +3 -3
  110. data/test/c14n/result/1-1-without-comments/example-2 +10 -10
  111. data/test/c14n/result/1-1-without-comments/example-3 +13 -13
  112. data/test/c14n/result/1-1-without-comments/example-4 +8 -8
  113. data/test/c14n/result/1-1-without-comments/example-5 +2 -2
  114. data/test/c14n/result/with-comments/example-1 +5 -5
  115. data/test/c14n/result/with-comments/example-2 +10 -10
  116. data/test/c14n/result/with-comments/example-3 +13 -13
  117. data/test/c14n/result/with-comments/example-4 +8 -8
  118. data/test/c14n/result/with-comments/example-5 +3 -3
  119. data/test/c14n/result/without-comments/example-1 +3 -3
  120. data/test/c14n/result/without-comments/example-2 +10 -10
  121. data/test/c14n/result/without-comments/example-3 +13 -13
  122. data/test/c14n/result/without-comments/example-4 +8 -8
  123. data/test/c14n/result/without-comments/example-5 +2 -2
  124. data/test/model/atom.xml +12 -12
  125. data/test/model/bands.iso-8859-1.xml +4 -4
  126. data/test/model/bands.utf-8.xml +4 -4
  127. data/test/model/bands.xml +4 -4
  128. data/test/model/books.xml +153 -153
  129. data/test/model/cwm_1_0.xml +11336 -0
  130. data/test/model/merge_bug_data.xml +58 -58
  131. data/test/model/ruby-lang.html +238 -238
  132. data/test/model/rubynet.xml +79 -79
  133. data/test/model/shiporder.rnc +28 -28
  134. data/test/model/shiporder.rng +86 -86
  135. data/test/model/shiporder.xml +22 -22
  136. data/test/model/shiporder.xsd +39 -39
  137. data/test/model/soap.xml +27 -27
  138. data/test/model/xinclude.xml +4 -4
  139. data/test/test.xml +2 -0
  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} +32 -27
  146. data/test/test_document_write.rb +146 -0
  147. data/test/{tc_dtd.rb → test_dtd.rb} +28 -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 +3 -10
  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} +41 -42
  167. data/test/{tc_properties.rb → test_properties.rb} +6 -7
  168. data/test/test_reader.rb +363 -0
  169. data/test/test_relaxng.rb +53 -0
  170. data/test/{tc_sax_parser.rb → test_sax_parser.rb} +36 -37
  171. data/test/{tc_schema.rb → test_schema.rb} +43 -37
  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 +262 -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 +117 -95
  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_xml.rb +0 -226
  204. data/test/tc_xpath_expression.rb +0 -38
@@ -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