libxml-ruby 3.0.0 → 3.2.2
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.
- checksums.yaml +5 -5
- data/HISTORY +37 -0
- data/MANIFEST +34 -34
- data/README.rdoc +65 -36
- data/Rakefile +21 -3
- data/ext/libxml/extconf.rb +30 -26
- data/ext/libxml/ruby_libxml.h +0 -8
- data/ext/libxml/ruby_xml.c +40 -0
- data/ext/libxml/ruby_xml_document.c +1 -5
- data/ext/libxml/ruby_xml_dtd.c +6 -8
- data/ext/libxml/ruby_xml_encoding.c +1 -13
- data/ext/libxml/ruby_xml_encoding.h +0 -3
- data/ext/libxml/ruby_xml_error.c +1 -1
- data/ext/libxml/ruby_xml_error.h +1 -1
- data/ext/libxml/ruby_xml_io.c +14 -18
- data/ext/libxml/ruby_xml_io.h +1 -1
- data/ext/libxml/ruby_xml_node.c +16 -17
- data/ext/libxml/ruby_xml_parser_context.c +1 -1
- data/ext/libxml/ruby_xml_reader.c +7 -2
- data/ext/libxml/ruby_xml_schema.c +44 -66
- data/ext/libxml/ruby_xml_schema_element.c +15 -14
- data/ext/libxml/ruby_xml_schema_type.c +66 -93
- data/ext/libxml/ruby_xml_version.h +4 -4
- data/ext/libxml/ruby_xml_writer.c +189 -192
- data/lib/libxml/schema/element.rb +0 -8
- data/lib/libxml/schema/type.rb +0 -8
- data/lib/libxml/schema.rb +0 -19
- data/lib/libxml-ruby.rb +30 -0
- data/lib/libxml.rb +3 -28
- data/libxml-ruby.gemspec +5 -4
- data/setup.rb +0 -1
- data/test/model/cwm_1_0.xml +11336 -0
- data/test/{tc_attr.rb → test_attr.rb} +18 -18
- data/test/{tc_attr_decl.rb → test_attr_decl.rb} +8 -8
- data/test/{tc_attributes.rb → test_attributes.rb} +10 -10
- data/test/{tc_canonicalize.rb → test_canonicalize.rb} +35 -39
- data/test/test_deprecated_require.rb +12 -0
- data/test/{tc_document.rb → test_document.rb} +31 -24
- data/test/test_document_write.rb +146 -0
- data/test/{tc_dtd.rb → test_dtd.rb} +26 -25
- data/test/{tc_encoding.rb → test_encoding.rb} +20 -17
- data/test/{tc_encoding_sax.rb → test_encoding_sax.rb} +3 -3
- data/test/test_error.rb +178 -0
- data/test/test_helper.rb +4 -11
- data/test/{tc_html_parser.rb → test_html_parser.rb} +31 -30
- data/test/test_html_parser_context.rb +23 -0
- data/test/test_namespace.rb +60 -0
- data/test/{tc_namespaces.rb → test_namespaces.rb} +29 -38
- data/test/{tc_node.rb → test_node.rb} +37 -31
- data/test/{tc_node_cdata.rb → test_node_cdata.rb} +10 -10
- data/test/{tc_node_comment.rb → test_node_comment.rb} +6 -6
- data/test/{tc_node_copy.rb → test_node_copy.rb} +3 -4
- data/test/{tc_node_edit.rb → test_node_edit.rb} +20 -21
- data/test/{tc_node_pi.rb → test_node_pi.rb} +8 -10
- data/test/{tc_node_text.rb → test_node_text.rb} +8 -9
- data/test/{tc_node_write.rb → test_node_write.rb} +16 -26
- data/test/test_node_xlink.rb +28 -0
- data/test/{tc_parser.rb → test_parser.rb} +72 -75
- data/test/{tc_parser_context.rb → test_parser_context.rb} +38 -44
- data/test/{tc_properties.rb → test_properties.rb} +5 -5
- data/test/test_reader.rb +364 -0
- data/test/{tc_relaxng.rb → test_relaxng.rb} +11 -11
- data/test/{tc_sax_parser.rb → test_sax_parser.rb} +38 -31
- data/test/{tc_schema.rb → test_schema.rb} +40 -33
- data/test/test_suite.rb +39 -40
- data/test/{tc_traversal.rb → test_traversal.rb} +4 -4
- data/test/{tc_writer.rb → test_writer.rb} +95 -74
- data/test/{tc_xinclude.rb → test_xinclude.rb} +3 -3
- data/test/test_xml.rb +263 -0
- data/test/{tc_xpath.rb → test_xpath.rb} +25 -25
- data/test/{tc_xpath_context.rb → test_xpath_context.rb} +5 -5
- data/test/{tc_xpath_expression.rb → test_xpath_expression.rb} +7 -7
- data/test/{tc_xpointer.rb → test_xpointer.rb} +15 -15
- metadata +91 -102
- data/test/tc_deprecated_require.rb +0 -12
- data/test/tc_document_write.rb +0 -195
- data/test/tc_error.rb +0 -178
- data/test/tc_html_parser_context.rb +0 -23
- data/test/tc_namespace.rb +0 -61
- data/test/tc_node_xlink.rb +0 -28
- data/test/tc_reader.rb +0 -358
- data/test/tc_xml.rb +0 -225
@@ -1,11 +1,11 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
|
3
|
+
require_relative './test_helper'
|
4
4
|
require 'tempfile'
|
5
5
|
|
6
6
|
class TestXPath < Minitest::Test
|
7
7
|
def setup
|
8
|
-
@doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
8
|
+
@doc = LibXML::XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
9
9
|
end
|
10
10
|
|
11
11
|
def teardown
|
@@ -14,14 +14,14 @@ class TestXPath < Minitest::Test
|
|
14
14
|
|
15
15
|
def test_doc_find
|
16
16
|
nodes = @doc.find('/soap:Envelope')
|
17
|
-
assert_instance_of(XML::XPath::Object, nodes)
|
17
|
+
assert_instance_of(LibXML::XML::XPath::Object, nodes)
|
18
18
|
assert_equal(1, nodes.length)
|
19
|
-
assert_equal(nodes.xpath_type, XML::XPath::NODESET)
|
19
|
+
assert_equal(nodes.xpath_type, LibXML::XML::XPath::NODESET)
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_doc_find_first
|
23
23
|
node = @doc.find_first('/soap:Envelope/soap:Body')
|
24
|
-
assert_instance_of(XML::Node, node)
|
24
|
+
assert_instance_of(LibXML::XML::Node, node)
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_ns
|
@@ -33,7 +33,7 @@ class TestXPath < Minitest::Test
|
|
33
33
|
_stress = GC.stress
|
34
34
|
GC.stress = true
|
35
35
|
|
36
|
-
doc = XML::Document.string('<foo xmlns="http://bar.com" />')
|
36
|
+
doc = LibXML::XML::Document.string('<foo xmlns="http://bar.com" />')
|
37
37
|
node = doc.root
|
38
38
|
# This line segfaults on prior versions of libxml-ruby
|
39
39
|
node.find("namespace::*")
|
@@ -89,7 +89,7 @@ class TestXPath < Minitest::Test
|
|
89
89
|
|
90
90
|
def test_default_ns5
|
91
91
|
# Find all nodes with http://services.somewhere.com namespace
|
92
|
-
XML::Namespace.new(@doc.root, 'ns', 'http://services.somewhere.com')
|
92
|
+
LibXML::XML::Namespace.new(@doc.root, 'ns', 'http://services.somewhere.com')
|
93
93
|
nodes = @doc.find('//ns:*')
|
94
94
|
assert_equal(2, nodes.length)
|
95
95
|
assert_equal('getManufacturerNamesResponse', nodes[0].name)
|
@@ -105,11 +105,11 @@ class TestXPath < Minitest::Test
|
|
105
105
|
end
|
106
106
|
|
107
107
|
def test_register_default_ns
|
108
|
-
doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/atom.xml'))
|
108
|
+
doc = LibXML::XML::Document.file(File.join(File.dirname(__FILE__), 'model/atom.xml'))
|
109
109
|
|
110
110
|
# No namespace has been yet defined
|
111
|
-
assert_raises(XML::Error) do
|
112
|
-
|
111
|
+
assert_raises(LibXML::XML::Error) do
|
112
|
+
doc.find("atom:title")
|
113
113
|
end
|
114
114
|
|
115
115
|
node = doc.find('atom:title', 'atom:http://www.w3.org/2005/Atom')
|
@@ -143,7 +143,7 @@ class TestXPath < Minitest::Test
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def test_node_no_doc
|
146
|
-
node = XML::Node.new('header', 'some content')
|
146
|
+
node = LibXML::XML::Node.new('header', 'some content')
|
147
147
|
assert_raises(TypeError) do
|
148
148
|
node = node.find_first('/header')
|
149
149
|
end
|
@@ -157,48 +157,48 @@ class TestXPath < Minitest::Test
|
|
157
157
|
# to the document's nodes. A segmentation fault then happens.
|
158
158
|
|
159
159
|
1000.times do
|
160
|
-
doc = XML::Document.new('1.0')
|
161
|
-
doc.root = XML::Node.new("header")
|
160
|
+
doc = LibXML::XML::Document.new('1.0')
|
161
|
+
doc.root = LibXML::XML::Node.new("header")
|
162
162
|
|
163
163
|
1000.times do
|
164
|
-
doc.root << XML::Node.new("footer")
|
164
|
+
doc.root << LibXML::XML::Node.new("footer")
|
165
165
|
end
|
166
166
|
|
167
|
-
|
167
|
+
doc.find('/header/footer')
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
171
171
|
# Test that document doesn't get freed before nodes
|
172
172
|
def test_xpath_free
|
173
|
-
doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
173
|
+
doc = LibXML::XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
174
174
|
nodes = doc.find('//*')
|
175
175
|
GC.start
|
176
176
|
assert_equal('Envelope', nodes.first.name)
|
177
177
|
end
|
178
178
|
|
179
179
|
def test_xpath_namespace_nodes
|
180
|
-
doc = XML::Document.string('<feed xmlns="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml"><entry/></feed>')
|
180
|
+
doc = LibXML::XML::Document.string('<feed xmlns="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml"><entry/></feed>')
|
181
181
|
nodes = doc.find('//atom:entry|namespace::*', :atom => "http://www.w3.org/2005/Atom")
|
182
182
|
assert_equal(4, nodes.length)
|
183
183
|
|
184
184
|
node = nodes[0]
|
185
|
-
assert_equal(XML::Node::ELEMENT_NODE, node.node_type)
|
185
|
+
assert_equal(LibXML::XML::Node::ELEMENT_NODE, node.node_type)
|
186
186
|
|
187
187
|
node = nodes[1]
|
188
|
-
assert_equal(XML::Node::NAMESPACE_DECL, node.node_type)
|
188
|
+
assert_equal(LibXML::XML::Node::NAMESPACE_DECL, node.node_type)
|
189
189
|
|
190
190
|
node = nodes[2]
|
191
|
-
assert_equal(XML::Node::NAMESPACE_DECL, node.node_type)
|
191
|
+
assert_equal(LibXML::XML::Node::NAMESPACE_DECL, node.node_type)
|
192
192
|
|
193
193
|
node = nodes[3]
|
194
|
-
assert_equal(XML::Node::NAMESPACE_DECL, node.node_type)
|
194
|
+
assert_equal(LibXML::XML::Node::NAMESPACE_DECL, node.node_type)
|
195
195
|
end
|
196
196
|
|
197
197
|
# Test to make sure we don't get nil on empty results.
|
198
198
|
# This is also to test that we don't segfault due to our C code getting a NULL pointer
|
199
199
|
# and not handling it properly.
|
200
200
|
def test_xpath_empty_result
|
201
|
-
doc = XML::Document.string('<html><body><p>Welcome to XHTML land!</p></body></html>')
|
201
|
+
doc = LibXML::XML::Document.string('<html><body><p>Welcome to XHTML land!</p></body></html>')
|
202
202
|
nodes = doc.find("//object/param[translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'wmode']")
|
203
203
|
refute_nil nodes
|
204
204
|
end
|
@@ -207,13 +207,13 @@ class TestXPath < Minitest::Test
|
|
207
207
|
xml = LibXML::XML::Document.string('<a></a>')
|
208
208
|
|
209
209
|
# Using the expression twice used to cause a Segmentation Fault
|
210
|
-
error = assert_raises(XML::Error) do
|
210
|
+
error = assert_raises(LibXML::XML::Error) do
|
211
211
|
xml.find('//a/')
|
212
212
|
end
|
213
213
|
assert_equal("Error: Invalid expression.", error.to_s)
|
214
214
|
|
215
215
|
# Try again - this used to cause a Segmentation Fault
|
216
|
-
error = assert_raises(XML::Error) do
|
216
|
+
error = assert_raises(LibXML::XML::Error) do
|
217
217
|
xml.find('//a/')
|
218
218
|
end
|
219
219
|
assert_equal("Error: Invalid expression.", error.to_s)
|
@@ -241,4 +241,4 @@ class TestXPath < Minitest::Test
|
|
241
241
|
assert_equal(1, nodes.length)
|
242
242
|
assert_equal(nodes[0].content, ' my comment ')
|
243
243
|
end
|
244
|
-
end
|
244
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
|
3
|
+
require_relative './test_helper'
|
4
4
|
require "tempfile"
|
5
5
|
|
6
6
|
class TestXPathContext < Minitest::Test
|
@@ -11,8 +11,8 @@ class TestXPathContext < Minitest::Test
|
|
11
11
|
NS0_URI = 'http://services.somewhere.com'
|
12
12
|
|
13
13
|
def setup
|
14
|
-
doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
15
|
-
@context = XML::XPath::Context.new(doc)
|
14
|
+
doc = LibXML::XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
15
|
+
@context = LibXML::XML::XPath::Context.new(doc)
|
16
16
|
end
|
17
17
|
|
18
18
|
def teardown()
|
@@ -79,9 +79,9 @@ class TestXPathContext < Minitest::Test
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def test_require_doc
|
82
|
-
doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
82
|
+
doc = LibXML::XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
83
83
|
error = assert_raises(TypeError) do
|
84
|
-
@context = XML::XPath::Context.new(doc.root)
|
84
|
+
@context = LibXML::XML::XPath::Context.new(doc.root)
|
85
85
|
end
|
86
86
|
assert_equal("Supplied argument must be a document or node.", error.to_s)
|
87
87
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
|
3
|
+
require_relative './test_helper'
|
4
4
|
|
5
5
|
|
6
6
|
class TestXPathExpression < Minitest::Test
|
7
7
|
def setup
|
8
|
-
xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
|
8
|
+
xp = LibXML::XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
|
9
9
|
@doc = xp.parse
|
10
10
|
end
|
11
11
|
|
@@ -14,22 +14,22 @@ class TestXPathExpression < Minitest::Test
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_nodes
|
17
|
-
expr = XML::XPath::Expression.compile('/ruby_array/fixnum')
|
17
|
+
expr = LibXML::XML::XPath::Expression.compile('/ruby_array/fixnum')
|
18
18
|
set = @doc.find(expr)
|
19
|
-
assert_instance_of(XML::XPath::Object, set)
|
19
|
+
assert_instance_of(LibXML::XML::XPath::Object, set)
|
20
20
|
assert_equal(2, set.size)
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_find_class
|
24
|
-
expr = XML::XPath::Expression.new('/ruby_array/fixnum')
|
24
|
+
expr = LibXML::XML::XPath::Expression.new('/ruby_array/fixnum')
|
25
25
|
set = @doc.find(expr)
|
26
|
-
assert_instance_of(XML::XPath::Object, set)
|
26
|
+
assert_instance_of(LibXML::XML::XPath::Object, set)
|
27
27
|
assert_equal(2, set.size)
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_find_invalid
|
31
31
|
error = assert_raises(TypeError) do
|
32
|
-
|
32
|
+
@doc.find(999)
|
33
33
|
end
|
34
34
|
assert_equal('Argument should be an instance of a String or XPath::Expression',
|
35
35
|
error.to_s)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
|
2
|
+
require_relative './test_helper'
|
3
3
|
|
4
4
|
class TC_XML_XPointer < Minitest::Test
|
5
5
|
def setup()
|
6
|
-
xp = XML::Parser.string('<!DOCTYPE ra [<!ELEMENT ra (foo+)><!ATTLIST ra id ID #IMPLIED><!ELEMENT foo (#PCDATA)><!ATTLIST foo id ID #IMPLIED>]><ra id="start"><foo id="one">one</foo><foo id="two">two</foo><foo id="three">three</foo></ra>')
|
6
|
+
xp = LibXML::XML::Parser.string('<!DOCTYPE ra [<!ELEMENT ra (foo+)><!ATTLIST ra id ID #IMPLIED><!ELEMENT foo (#PCDATA)><!ATTLIST foo id ID #IMPLIED>]><ra id="start"><foo id="one">one</foo><foo id="two">two</foo><foo id="three">three</foo></ra>')
|
7
7
|
@doc = xp.parse
|
8
|
-
assert_instance_of(XML::Document, @doc)
|
8
|
+
assert_instance_of(LibXML::XML::Document, @doc)
|
9
9
|
@root = @doc.root
|
10
|
-
assert_instance_of(XML::Node, @root)
|
10
|
+
assert_instance_of(LibXML::XML::Node, @root)
|
11
11
|
end
|
12
12
|
|
13
13
|
def teardown()
|
@@ -18,20 +18,20 @@ class TC_XML_XPointer < Minitest::Test
|
|
18
18
|
|
19
19
|
def test_libxml_xpointer_id
|
20
20
|
xptr = @root.pointer('xpointer(id("two"))')
|
21
|
-
assert_instance_of(XML::XPath::Object, xptr)
|
21
|
+
assert_instance_of(LibXML::XML::XPath::Object, xptr)
|
22
22
|
xptr.each do |node|
|
23
23
|
# It seems from the spec that the pointer should
|
24
24
|
# be the whole node, rather than just the ID attr.
|
25
25
|
assert_equal('two', node.content)
|
26
|
-
assert_instance_of(XML::Node, node)
|
26
|
+
assert_instance_of(LibXML::XML::Node, node)
|
27
27
|
assert_equal('two', node['id'])
|
28
28
|
end
|
29
29
|
|
30
30
|
# FIXME: Not sure at all about this kind of range
|
31
31
|
if ENV['NOTWORKING']
|
32
32
|
@xptr = @root.pointer('xpointer(id("two")) xpointer(id("three"))')
|
33
|
-
assert_instance_of(XML::XPath, @xptr)
|
34
|
-
assert_instance_of(XML::Node::Set, @xptr.set)
|
33
|
+
assert_instance_of(LibXML::XML::XPath, @xptr)
|
34
|
+
assert_instance_of(LibXML::XML::Node::Set, @xptr.set)
|
35
35
|
assert_equal(2, @xptr.set.length)
|
36
36
|
for n in @xptr.set
|
37
37
|
assert_match(/two|three/, n.to_s)
|
@@ -45,13 +45,13 @@ class TC_XML_XPointer < Minitest::Test
|
|
45
45
|
nstart = nend = nil
|
46
46
|
@xptr = @root.pointer('xpointer(id("one"))').set
|
47
47
|
@xptr.each{|n| nstart = n}
|
48
|
-
assert_instance_of(XML::Node, nstart)
|
48
|
+
assert_instance_of(LibXML::XML::Node, nstart)
|
49
49
|
@xptr = @root.pointer('xpointer(id("three"))').set
|
50
50
|
@xptr.each{|n| nend = n}
|
51
|
-
assert_instance_of(XML::Node, nend)
|
52
|
-
range = XML::XPointer.range(nstart, nend)
|
53
|
-
assert_instance_of(XML::XPath, range)
|
54
|
-
assert_instance_of(XML::Node::Set, range.set)
|
51
|
+
assert_instance_of(LibXML::XML::Node, nend)
|
52
|
+
range = LibXML::XML::XPointer.range(nstart, nend)
|
53
|
+
assert_instance_of(LibXML::XML::XPath, range)
|
54
|
+
assert_instance_of(LibXML::XML::Node::Set, range.set)
|
55
55
|
|
56
56
|
for n in range.set
|
57
57
|
assert_match(/one|two|three/, n.to_s)
|
@@ -62,9 +62,9 @@ class TC_XML_XPointer < Minitest::Test
|
|
62
62
|
|
63
63
|
# def test_libxml_xpointer_start_point()
|
64
64
|
# @xptr = @root.pointer('xpointer(start-point("one"))')
|
65
|
-
# assert_instance_of(XML::XPath, @xptr)
|
65
|
+
# assert_instance_of(LibXML::XML::XPath, @xptr)
|
66
66
|
# set = @xptr.set
|
67
|
-
# assert_instance_of(XML::Node::Set, set)
|
67
|
+
# assert_instance_of(LibXML::XML::Node::Set, set)
|
68
68
|
# for n in set
|
69
69
|
# assert_match(/one|two|three/, n.to_s)
|
70
70
|
# end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libxml-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ross Bamform
|
@@ -11,25 +11,11 @@ authors:
|
|
11
11
|
- Anurag Priyam
|
12
12
|
- Charlie Savage
|
13
13
|
- Ryan Johnson
|
14
|
-
autorequire:
|
14
|
+
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date:
|
17
|
+
date: 2022-01-15 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
|
-
- !ruby/object:Gem::Dependency
|
20
|
-
name: hanna_guado
|
21
|
-
requirement: !ruby/object:Gem::Requirement
|
22
|
-
requirements:
|
23
|
-
- - ">="
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
version: '0'
|
26
|
-
type: :development
|
27
|
-
prerelease: false
|
28
|
-
version_requirements: !ruby/object:Gem::Requirement
|
29
|
-
requirements:
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
33
19
|
- !ruby/object:Gem::Dependency
|
34
20
|
name: rake-compiler
|
35
21
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,7 +50,7 @@ description: |2
|
|
64
50
|
Libxml-ruby's primary advantage over REXML is performance - if speed
|
65
51
|
is your need, these are good libraries to consider, as demonstrated
|
66
52
|
by the informal benchmark below.
|
67
|
-
email:
|
53
|
+
email:
|
68
54
|
executables: []
|
69
55
|
extensions:
|
70
56
|
- ext/libxml/extconf.rb
|
@@ -152,6 +138,7 @@ files:
|
|
152
138
|
- ext/libxml/ruby_xml_xpointer.c
|
153
139
|
- ext/libxml/ruby_xml_xpointer.h
|
154
140
|
- ext/vc/libxml_ruby.sln
|
141
|
+
- lib/libxml-ruby.rb
|
155
142
|
- lib/libxml.rb
|
156
143
|
- lib/libxml/attr.rb
|
157
144
|
- lib/libxml/attr_decl.rb
|
@@ -219,6 +206,7 @@ files:
|
|
219
206
|
- test/model/bands.utf-8.xml
|
220
207
|
- test/model/bands.xml
|
221
208
|
- test/model/books.xml
|
209
|
+
- test/model/cwm_1_0.xml
|
222
210
|
- test/model/merge_bug_data.xml
|
223
211
|
- test/model/ruby-lang.html
|
224
212
|
- test/model/rubynet.xml
|
@@ -229,52 +217,52 @@ files:
|
|
229
217
|
- test/model/shiporder.xsd
|
230
218
|
- test/model/soap.xml
|
231
219
|
- test/model/xinclude.xml
|
232
|
-
- test/
|
233
|
-
- test/
|
234
|
-
- test/
|
235
|
-
- test/
|
236
|
-
- test/
|
237
|
-
- test/
|
238
|
-
- test/
|
239
|
-
- test/
|
240
|
-
- test/
|
241
|
-
- test/
|
242
|
-
- test/
|
243
|
-
- test/tc_html_parser.rb
|
244
|
-
- test/tc_html_parser_context.rb
|
245
|
-
- test/tc_namespace.rb
|
246
|
-
- test/tc_namespaces.rb
|
247
|
-
- test/tc_node.rb
|
248
|
-
- test/tc_node_cdata.rb
|
249
|
-
- test/tc_node_comment.rb
|
250
|
-
- test/tc_node_copy.rb
|
251
|
-
- test/tc_node_edit.rb
|
252
|
-
- test/tc_node_pi.rb
|
253
|
-
- test/tc_node_text.rb
|
254
|
-
- test/tc_node_write.rb
|
255
|
-
- test/tc_node_xlink.rb
|
256
|
-
- test/tc_parser.rb
|
257
|
-
- test/tc_parser_context.rb
|
258
|
-
- test/tc_properties.rb
|
259
|
-
- test/tc_reader.rb
|
260
|
-
- test/tc_relaxng.rb
|
261
|
-
- test/tc_sax_parser.rb
|
262
|
-
- test/tc_schema.rb
|
263
|
-
- test/tc_traversal.rb
|
264
|
-
- test/tc_writer.rb
|
265
|
-
- test/tc_xinclude.rb
|
266
|
-
- test/tc_xml.rb
|
267
|
-
- test/tc_xpath.rb
|
268
|
-
- test/tc_xpath_context.rb
|
269
|
-
- test/tc_xpath_expression.rb
|
270
|
-
- test/tc_xpointer.rb
|
220
|
+
- test/test_attr.rb
|
221
|
+
- test/test_attr_decl.rb
|
222
|
+
- test/test_attributes.rb
|
223
|
+
- test/test_canonicalize.rb
|
224
|
+
- test/test_deprecated_require.rb
|
225
|
+
- test/test_document.rb
|
226
|
+
- test/test_document_write.rb
|
227
|
+
- test/test_dtd.rb
|
228
|
+
- test/test_encoding.rb
|
229
|
+
- test/test_encoding_sax.rb
|
230
|
+
- test/test_error.rb
|
271
231
|
- test/test_helper.rb
|
232
|
+
- test/test_html_parser.rb
|
233
|
+
- test/test_html_parser_context.rb
|
234
|
+
- test/test_namespace.rb
|
235
|
+
- test/test_namespaces.rb
|
236
|
+
- test/test_node.rb
|
237
|
+
- test/test_node_cdata.rb
|
238
|
+
- test/test_node_comment.rb
|
239
|
+
- test/test_node_copy.rb
|
240
|
+
- test/test_node_edit.rb
|
241
|
+
- test/test_node_pi.rb
|
242
|
+
- test/test_node_text.rb
|
243
|
+
- test/test_node_write.rb
|
244
|
+
- test/test_node_xlink.rb
|
245
|
+
- test/test_parser.rb
|
246
|
+
- test/test_parser_context.rb
|
247
|
+
- test/test_properties.rb
|
248
|
+
- test/test_reader.rb
|
249
|
+
- test/test_relaxng.rb
|
250
|
+
- test/test_sax_parser.rb
|
251
|
+
- test/test_schema.rb
|
272
252
|
- test/test_suite.rb
|
273
|
-
|
253
|
+
- test/test_traversal.rb
|
254
|
+
- test/test_writer.rb
|
255
|
+
- test/test_xinclude.rb
|
256
|
+
- test/test_xml.rb
|
257
|
+
- test/test_xpath.rb
|
258
|
+
- test/test_xpath_context.rb
|
259
|
+
- test/test_xpath_expression.rb
|
260
|
+
- test/test_xpointer.rb
|
261
|
+
homepage: https://xml4r.github.io/libxml-ruby/
|
274
262
|
licenses:
|
275
263
|
- MIT
|
276
264
|
metadata: {}
|
277
|
-
post_install_message:
|
265
|
+
post_install_message:
|
278
266
|
rdoc_options: []
|
279
267
|
require_paths:
|
280
268
|
- lib
|
@@ -282,55 +270,56 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
282
270
|
requirements:
|
283
271
|
- - ">="
|
284
272
|
- !ruby/object:Gem::Version
|
285
|
-
version:
|
273
|
+
version: '2.5'
|
286
274
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
287
275
|
requirements:
|
288
276
|
- - ">="
|
289
277
|
- !ruby/object:Gem::Version
|
290
278
|
version: '0'
|
291
279
|
requirements: []
|
292
|
-
|
293
|
-
|
294
|
-
signing_key:
|
280
|
+
rubygems_version: 3.3.4
|
281
|
+
signing_key:
|
295
282
|
specification_version: 4
|
296
283
|
summary: Ruby Bindings for LibXML2
|
297
284
|
test_files:
|
298
|
-
- test/
|
299
|
-
- test/
|
300
|
-
- test/
|
301
|
-
- test/
|
302
|
-
- test/
|
303
|
-
- test/
|
304
|
-
- test/
|
305
|
-
- test/
|
306
|
-
- test/
|
307
|
-
- test/
|
308
|
-
- test/
|
309
|
-
- test/
|
310
|
-
- test/
|
311
|
-
- test/
|
312
|
-
- test/
|
313
|
-
- test/
|
314
|
-
- test/
|
315
|
-
- test/
|
316
|
-
- test/
|
317
|
-
- test/
|
318
|
-
- test/
|
319
|
-
- test/
|
320
|
-
- test/
|
321
|
-
- test/
|
322
|
-
- test/
|
323
|
-
- test/
|
324
|
-
- test/
|
325
|
-
- test/
|
326
|
-
- test/
|
327
|
-
- test/
|
328
|
-
- test/
|
329
|
-
- test/
|
330
|
-
- test/
|
331
|
-
- test/
|
332
|
-
- test/
|
333
|
-
- test/
|
334
|
-
- test/
|
335
|
-
- test/
|
336
|
-
- test/
|
285
|
+
- test/test_attr.rb
|
286
|
+
- test/test_attr_decl.rb
|
287
|
+
- test/test_attributes.rb
|
288
|
+
- test/test_canonicalize.rb
|
289
|
+
- test/test_deprecated_require.rb
|
290
|
+
- test/test_document.rb
|
291
|
+
- test/test_document_write.rb
|
292
|
+
- test/test_dtd.rb
|
293
|
+
- test/test_encoding.rb
|
294
|
+
- test/test_encoding_sax.rb
|
295
|
+
- test/test_error.rb
|
296
|
+
- test/test_helper.rb
|
297
|
+
- test/test_html_parser.rb
|
298
|
+
- test/test_html_parser_context.rb
|
299
|
+
- test/test_namespace.rb
|
300
|
+
- test/test_namespaces.rb
|
301
|
+
- test/test_node.rb
|
302
|
+
- test/test_node_cdata.rb
|
303
|
+
- test/test_node_comment.rb
|
304
|
+
- test/test_node_copy.rb
|
305
|
+
- test/test_node_edit.rb
|
306
|
+
- test/test_node_pi.rb
|
307
|
+
- test/test_node_text.rb
|
308
|
+
- test/test_node_write.rb
|
309
|
+
- test/test_node_xlink.rb
|
310
|
+
- test/test_parser.rb
|
311
|
+
- test/test_parser_context.rb
|
312
|
+
- test/test_properties.rb
|
313
|
+
- test/test_reader.rb
|
314
|
+
- test/test_relaxng.rb
|
315
|
+
- test/test_sax_parser.rb
|
316
|
+
- test/test_schema.rb
|
317
|
+
- test/test_suite.rb
|
318
|
+
- test/test_traversal.rb
|
319
|
+
- test/test_writer.rb
|
320
|
+
- test/test_xinclude.rb
|
321
|
+
- test/test_xml.rb
|
322
|
+
- test/test_xpath.rb
|
323
|
+
- test/test_xpath_context.rb
|
324
|
+
- test/test_xpath_expression.rb
|
325
|
+
- test/test_xpointer.rb
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
require 'xml/libxml'
|
4
|
-
|
5
|
-
class TestDeprecatedRequire < Minitest::Test
|
6
|
-
def test_basic
|
7
|
-
xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
|
8
|
-
assert_instance_of(XML::Parser, xp)
|
9
|
-
@doc = xp.parse
|
10
|
-
assert_instance_of(XML::Document, @doc)
|
11
|
-
end
|
12
|
-
end
|