libxml-ruby 5.0.6 → 6.0.0
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 +4 -4
- data/{HISTORY → CHANGELOG.md} +875 -930
- data/LICENSE +20 -20
- data/README.md +67 -0
- data/Rakefile +13 -34
- data/ext/libxml/extconf.rb +34 -20
- data/ext/libxml/libxml.c +2 -14
- data/ext/libxml/ruby_libxml.h +1 -1
- data/ext/libxml/ruby_xml_attr.c +27 -22
- data/ext/libxml/ruby_xml_attr.h +1 -0
- data/ext/libxml/ruby_xml_attr_decl.c +19 -12
- data/ext/libxml/ruby_xml_attributes.c +18 -9
- data/ext/libxml/ruby_xml_document.c +111 -98
- data/ext/libxml/ruby_xml_document.h +1 -0
- data/ext/libxml/ruby_xml_dtd.c +49 -19
- data/ext/libxml/ruby_xml_dtd.h +1 -0
- data/ext/libxml/ruby_xml_html_parser.c +1 -1
- data/ext/libxml/ruby_xml_html_parser_context.c +19 -6
- data/ext/libxml/ruby_xml_html_parser_context.h +1 -0
- data/ext/libxml/ruby_xml_input_cbg.c +45 -17
- data/ext/libxml/ruby_xml_io.c +3 -1
- data/ext/libxml/ruby_xml_namespace.c +20 -12
- data/ext/libxml/ruby_xml_namespace.h +1 -0
- data/ext/libxml/ruby_xml_namespaces.c +40 -20
- data/ext/libxml/ruby_xml_node.c +71 -32
- data/ext/libxml/ruby_xml_node.h +2 -0
- data/ext/libxml/ruby_xml_parser.c +1 -1
- data/ext/libxml/ruby_xml_parser_context.c +54 -47
- data/ext/libxml/ruby_xml_parser_context.h +1 -0
- data/ext/libxml/ruby_xml_reader.c +25 -15
- data/ext/libxml/ruby_xml_registry.c +31 -0
- data/ext/libxml/ruby_xml_registry.h +22 -0
- data/ext/libxml/ruby_xml_relaxng.c +21 -5
- data/ext/libxml/ruby_xml_relaxng.h +1 -0
- data/ext/libxml/ruby_xml_sax_parser.c +1 -1
- data/ext/libxml/ruby_xml_schema.c +18 -11
- data/ext/libxml/ruby_xml_schema.h +1 -0
- data/ext/libxml/ruby_xml_schema_attribute.c +7 -7
- data/ext/libxml/ruby_xml_schema_element.c +8 -8
- data/ext/libxml/ruby_xml_schema_facet.c +7 -7
- data/ext/libxml/ruby_xml_schema_type.c +12 -19
- data/ext/libxml/ruby_xml_version.h +4 -4
- data/ext/libxml/ruby_xml_writer.c +18 -6
- data/ext/libxml/ruby_xml_xpath.c +2 -2
- data/ext/libxml/ruby_xml_xpath.h +1 -1
- data/ext/libxml/ruby_xml_xpath_context.c +72 -26
- data/ext/libxml/ruby_xml_xpath_expression.c +11 -5
- data/ext/libxml/ruby_xml_xpath_expression.h +1 -0
- data/ext/libxml/ruby_xml_xpath_object.c +69 -54
- data/ext/libxml/ruby_xml_xpath_object.h +3 -1
- data/ext/vc/libxml_ruby/libxml_ruby.vcxproj +271 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.pbxproj +633 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/ext/xcode/libxml-ruby.xcodeproj/xcshareddata/xcschemes/libxml-ruby.xcscheme +80 -0
- data/lib/libxml/document.rb +0 -29
- data/lib/libxml/error.rb +30 -3
- data/lib/libxml/html_parser.rb +0 -16
- data/lib/libxml/node.rb +1 -3
- data/lib/libxml/parser.rb +0 -8
- data/lib/libxml/schema/attribute.rb +27 -19
- data/lib/libxml/schema/element.rb +20 -0
- data/lib/libxml/schema/type.rb +44 -21
- data/lib/libxml/schema.rb +47 -47
- data/lib/libxml-ruby.rb +30 -30
- data/libxml-ruby.gemspec +12 -16
- data/test/c14n/result/1-1-without-comments/example-1 +3 -3
- data/test/c14n/result/1-1-without-comments/example-2 +10 -10
- data/test/c14n/result/1-1-without-comments/example-3 +13 -13
- data/test/c14n/result/1-1-without-comments/example-4 +8 -8
- data/test/c14n/result/1-1-without-comments/example-5 +2 -2
- data/test/c14n/result/with-comments/example-1 +5 -5
- data/test/c14n/result/with-comments/example-2 +10 -10
- data/test/c14n/result/with-comments/example-3 +13 -13
- data/test/c14n/result/with-comments/example-4 +8 -8
- data/test/c14n/result/with-comments/example-5 +3 -3
- data/test/c14n/result/without-comments/example-1 +3 -3
- data/test/c14n/result/without-comments/example-2 +10 -10
- data/test/c14n/result/without-comments/example-3 +13 -13
- data/test/c14n/result/without-comments/example-4 +8 -8
- data/test/c14n/result/without-comments/example-5 +2 -2
- data/test/test_attr.rb +179 -180
- data/test/test_attr_decl.rb +131 -131
- data/test/test_attributes.rb +135 -135
- data/test/test_canonicalize.rb +122 -120
- data/test/test_document.rb +2 -4
- data/test/test_dtd.rb +12 -4
- data/test/test_encoding_sax.rb +114 -114
- data/test/test_error.rb +1 -1
- data/test/test_html_parser.rb +6 -2
- data/test/test_html_parser_context.rb +22 -22
- data/test/test_input_callbacks.rb +36 -0
- data/test/test_namespace.rb +1 -1
- data/test/test_namespaces.rb +200 -200
- data/test/test_node.rb +16 -0
- data/test/test_node_cdata.rb +50 -50
- data/test/test_node_comment.rb +32 -32
- data/test/test_node_copy.rb +40 -40
- data/test/test_node_edit.rb +176 -158
- data/test/test_node_pi.rb +37 -37
- data/test/test_node_text.rb +69 -69
- data/test/test_node_xlink.rb +28 -28
- data/test/test_parser.rb +5 -41
- data/test/test_parser_context.rb +198 -198
- data/test/test_properties.rb +38 -38
- data/test/test_reader.rb +55 -6
- data/test/test_relaxng.rb +59 -53
- data/test/test_sax_parser.rb +345 -345
- data/test/test_schema.rb +28 -0
- data/test/test_traversal.rb +152 -152
- data/test/test_writer.rb +0 -31
- data/test/test_xinclude.rb +20 -20
- data/test/test_xml.rb +3 -7
- data/test/test_xpath.rb +244 -244
- data/test/test_xpath_context.rb +87 -87
- data/test/test_xpath_expression.rb +37 -37
- metadata +32 -25
- data/README.rdoc +0 -208
- data/ext/libxml/extconf.h +0 -4
- data/ext/libxml/ruby_xml_cbg.c +0 -85
- data/lib/libxml/hpricot.rb +0 -78
- data/lib/libxml.rb +0 -5
- data/lib/xml/libxml.rb +0 -10
- data/lib/xml.rb +0 -14
- data/script/benchmark/depixelate +0 -634
- data/script/benchmark/hamlet.xml +0 -9055
- data/script/benchmark/parsecount +0 -170
- data/script/benchmark/sock_entries.xml +0 -507
- data/script/benchmark/throughput +0 -41
- data/script/test +0 -6
- data/test/test_deprecated_require.rb +0 -12
data/test/test_schema.rb
CHANGED
|
@@ -38,6 +38,7 @@ class TestSchema < Minitest::Test
|
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def test_schema_load_from_uri
|
|
41
|
+
skip("HTTP support not available") unless LibXML::XML.enabled_http?
|
|
41
42
|
xlink_schema = LibXML::XML::Schema.new('http://www.w3.org/1999/xlink.xsd')
|
|
42
43
|
assert_instance_of(LibXML::XML::Schema, xlink_schema)
|
|
43
44
|
assert_instance_of(LibXML::XML::Schema::Element, xlink_schema.elements['title'])
|
|
@@ -234,4 +235,31 @@ class TestSchema < Minitest::Test
|
|
|
234
235
|
assert_equal('1', attribute.default)
|
|
235
236
|
assert_equal('integer', attribute.type.name)
|
|
236
237
|
end
|
|
238
|
+
|
|
239
|
+
def test_anonymous_subtypes
|
|
240
|
+
type = @schema.types['shiporderType']
|
|
241
|
+
anon = type.anonymous_subtypes
|
|
242
|
+
|
|
243
|
+
assert_instance_of(Hash, anon)
|
|
244
|
+
assert_equal(2, anon.length)
|
|
245
|
+
assert_includes(anon.keys, 'shipto')
|
|
246
|
+
assert_includes(anon.keys, 'item')
|
|
247
|
+
|
|
248
|
+
anon.each_value do |element|
|
|
249
|
+
assert_instance_of(LibXML::XML::Schema::Element, element)
|
|
250
|
+
assert_nil(element.type.name)
|
|
251
|
+
end
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
def test_anonymous_subtypes_recursively
|
|
255
|
+
type = @schema.types['shiporderType']
|
|
256
|
+
result = type.anonymous_subtypes_recursively
|
|
257
|
+
|
|
258
|
+
assert_instance_of(Array, result)
|
|
259
|
+
assert_operator(result.length, :>=, 2)
|
|
260
|
+
|
|
261
|
+
keys = result.select { |r| r.is_a?(Hash) }.flat_map(&:keys)
|
|
262
|
+
assert_includes(keys, 'shipto')
|
|
263
|
+
assert_includes(keys, 'item')
|
|
264
|
+
end
|
|
237
265
|
end
|
data/test/test_traversal.rb
CHANGED
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
require_relative './test_helper'
|
|
4
|
-
|
|
5
|
-
class TestTranversal < Minitest::Test
|
|
6
|
-
ROOT_NODES_LENGTH = 27
|
|
7
|
-
ROOT_ELEMENTS_LENGTH = 13
|
|
8
|
-
|
|
9
|
-
def setup
|
|
10
|
-
filename = File.join(File.dirname(__FILE__), 'model/books.xml')
|
|
11
|
-
@doc = LibXML::XML::Document.file(filename)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def teardown
|
|
15
|
-
@doc = nil
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def test_children
|
|
19
|
-
# Includes text nodes and such
|
|
20
|
-
assert_equal(ROOT_NODES_LENGTH, @doc.root.children.length)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def test_children_iteration
|
|
24
|
-
# Includes text nodes and such
|
|
25
|
-
nodes = @doc.root.children.inject([]) do |arr, node|
|
|
26
|
-
arr << node
|
|
27
|
-
arr
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def test_no_children
|
|
34
|
-
# Get a node with no children
|
|
35
|
-
node = @doc.find_first('/catalog/book[@id="bk113"]/price')
|
|
36
|
-
assert_equal(0, node.children.length)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def test_no_children_inner_xml
|
|
40
|
-
# Get a node with no children
|
|
41
|
-
node = @doc.find_first('/catalog/book[@id="bk113"]/price')
|
|
42
|
-
assert_nil(node.inner_xml)
|
|
43
|
-
end
|
|
44
|
-
def test_each
|
|
45
|
-
# Includes text nodes and such
|
|
46
|
-
nodes = @doc.root.inject([]) do |arr, node|
|
|
47
|
-
arr << node
|
|
48
|
-
arr
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def test_each_element
|
|
55
|
-
# Includes text nodes and such
|
|
56
|
-
nodes = []
|
|
57
|
-
@doc.root.each_element do |node|
|
|
58
|
-
nodes << node
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
assert_equal(ROOT_ELEMENTS_LENGTH, nodes.length)
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def test_next
|
|
65
|
-
nodes = []
|
|
66
|
-
|
|
67
|
-
node = @doc.root.first
|
|
68
|
-
|
|
69
|
-
while node
|
|
70
|
-
nodes << node
|
|
71
|
-
node = node.next
|
|
72
|
-
end
|
|
73
|
-
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
def test_next?
|
|
77
|
-
first_node = @doc.root.first
|
|
78
|
-
assert(first_node.next?)
|
|
79
|
-
|
|
80
|
-
last_node = @doc.root.last
|
|
81
|
-
assert(!last_node.next?)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
def test_prev
|
|
85
|
-
nodes = []
|
|
86
|
-
|
|
87
|
-
node = @doc.root.last
|
|
88
|
-
|
|
89
|
-
while node
|
|
90
|
-
nodes << node
|
|
91
|
-
node = node.prev
|
|
92
|
-
end
|
|
93
|
-
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
def test_prev?
|
|
97
|
-
first_node = @doc.root.first
|
|
98
|
-
assert(!first_node.prev?)
|
|
99
|
-
|
|
100
|
-
last_node = @doc.root.last
|
|
101
|
-
assert(last_node.prev?)
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
def test_parent?
|
|
105
|
-
assert(!@doc.parent?)
|
|
106
|
-
assert(@doc.root.parent?)
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
def test_child?
|
|
110
|
-
assert(@doc.child?)
|
|
111
|
-
assert(!@doc.root.first.child?)
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
def test_next_prev_equivalence
|
|
115
|
-
next_nodes = []
|
|
116
|
-
last_nodes = []
|
|
117
|
-
|
|
118
|
-
node = @doc.root.first
|
|
119
|
-
while node
|
|
120
|
-
next_nodes << node
|
|
121
|
-
node = node.next
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
node = @doc.root.last
|
|
125
|
-
while node
|
|
126
|
-
last_nodes << node
|
|
127
|
-
node = node.prev
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
assert_equal(next_nodes, last_nodes.reverse)
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def test_next_children_equivalence
|
|
134
|
-
next_nodes = []
|
|
135
|
-
|
|
136
|
-
node = @doc.root.first
|
|
137
|
-
while node
|
|
138
|
-
next_nodes << node
|
|
139
|
-
node = node.next
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
assert_equal(@doc.root.children, next_nodes)
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
def test_doc_class
|
|
146
|
-
assert_instance_of(LibXML::XML::Document, @doc)
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
def test_root_class
|
|
150
|
-
assert_instance_of(LibXML::XML::Node, @doc.root)
|
|
151
|
-
end
|
|
152
|
-
end
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
|
|
3
|
+
require_relative './test_helper'
|
|
4
|
+
|
|
5
|
+
class TestTranversal < Minitest::Test
|
|
6
|
+
ROOT_NODES_LENGTH = 27
|
|
7
|
+
ROOT_ELEMENTS_LENGTH = 13
|
|
8
|
+
|
|
9
|
+
def setup
|
|
10
|
+
filename = File.join(File.dirname(__FILE__), 'model/books.xml')
|
|
11
|
+
@doc = LibXML::XML::Document.file(filename)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def teardown
|
|
15
|
+
@doc = nil
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_children
|
|
19
|
+
# Includes text nodes and such
|
|
20
|
+
assert_equal(ROOT_NODES_LENGTH, @doc.root.children.length)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_children_iteration
|
|
24
|
+
# Includes text nodes and such
|
|
25
|
+
nodes = @doc.root.children.inject([]) do |arr, node|
|
|
26
|
+
arr << node
|
|
27
|
+
arr
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_no_children
|
|
34
|
+
# Get a node with no children
|
|
35
|
+
node = @doc.find_first('/catalog/book[@id="bk113"]/price')
|
|
36
|
+
assert_equal(0, node.children.length)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_no_children_inner_xml
|
|
40
|
+
# Get a node with no children
|
|
41
|
+
node = @doc.find_first('/catalog/book[@id="bk113"]/price')
|
|
42
|
+
assert_nil(node.inner_xml)
|
|
43
|
+
end
|
|
44
|
+
def test_each
|
|
45
|
+
# Includes text nodes and such
|
|
46
|
+
nodes = @doc.root.inject([]) do |arr, node|
|
|
47
|
+
arr << node
|
|
48
|
+
arr
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_each_element
|
|
55
|
+
# Includes text nodes and such
|
|
56
|
+
nodes = []
|
|
57
|
+
@doc.root.each_element do |node|
|
|
58
|
+
nodes << node
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
assert_equal(ROOT_ELEMENTS_LENGTH, nodes.length)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def test_next
|
|
65
|
+
nodes = []
|
|
66
|
+
|
|
67
|
+
node = @doc.root.first
|
|
68
|
+
|
|
69
|
+
while node
|
|
70
|
+
nodes << node
|
|
71
|
+
node = node.next
|
|
72
|
+
end
|
|
73
|
+
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_next?
|
|
77
|
+
first_node = @doc.root.first
|
|
78
|
+
assert(first_node.next?)
|
|
79
|
+
|
|
80
|
+
last_node = @doc.root.last
|
|
81
|
+
assert(!last_node.next?)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def test_prev
|
|
85
|
+
nodes = []
|
|
86
|
+
|
|
87
|
+
node = @doc.root.last
|
|
88
|
+
|
|
89
|
+
while node
|
|
90
|
+
nodes << node
|
|
91
|
+
node = node.prev
|
|
92
|
+
end
|
|
93
|
+
assert_equal(ROOT_NODES_LENGTH, nodes.length)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_prev?
|
|
97
|
+
first_node = @doc.root.first
|
|
98
|
+
assert(!first_node.prev?)
|
|
99
|
+
|
|
100
|
+
last_node = @doc.root.last
|
|
101
|
+
assert(last_node.prev?)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def test_parent?
|
|
105
|
+
assert(!@doc.parent?)
|
|
106
|
+
assert(@doc.root.parent?)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def test_child?
|
|
110
|
+
assert(@doc.child?)
|
|
111
|
+
assert(!@doc.root.first.child?)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def test_next_prev_equivalence
|
|
115
|
+
next_nodes = []
|
|
116
|
+
last_nodes = []
|
|
117
|
+
|
|
118
|
+
node = @doc.root.first
|
|
119
|
+
while node
|
|
120
|
+
next_nodes << node
|
|
121
|
+
node = node.next
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
node = @doc.root.last
|
|
125
|
+
while node
|
|
126
|
+
last_nodes << node
|
|
127
|
+
node = node.prev
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
assert_equal(next_nodes, last_nodes.reverse)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def test_next_children_equivalence
|
|
134
|
+
next_nodes = []
|
|
135
|
+
|
|
136
|
+
node = @doc.root.first
|
|
137
|
+
while node
|
|
138
|
+
next_nodes << node
|
|
139
|
+
node = node.next
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
assert_equal(@doc.root.children, next_nodes)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def test_doc_class
|
|
146
|
+
assert_instance_of(LibXML::XML::Document, @doc)
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def test_root_class
|
|
150
|
+
assert_instance_of(LibXML::XML::Node, @doc.root)
|
|
151
|
+
end
|
|
152
|
+
end
|
data/test/test_writer.rb
CHANGED
|
@@ -446,31 +446,6 @@ class TestWriter < Minitest::Test
|
|
|
446
446
|
assert_equal(writer.result, expected)
|
|
447
447
|
end
|
|
448
448
|
|
|
449
|
-
def test_string_writer_does_not_leak_memory
|
|
450
|
-
skip('RSS check not supported on Windows') if windows?
|
|
451
|
-
|
|
452
|
-
rss_by_round = []
|
|
453
|
-
|
|
454
|
-
4.times do
|
|
455
|
-
5_000.times do
|
|
456
|
-
writer = LibXML::XML::Writer.string
|
|
457
|
-
document(writer, encoding: LibXML::XML::Encoding::UTF_8) do
|
|
458
|
-
writer.write_element('test', 'hello')
|
|
459
|
-
end
|
|
460
|
-
writer.result
|
|
461
|
-
end
|
|
462
|
-
|
|
463
|
-
GC.start(full_mark: true, immediate_sweep: true)
|
|
464
|
-
|
|
465
|
-
rss = rss_in_kb
|
|
466
|
-
skip('RSS check not available') unless rss
|
|
467
|
-
|
|
468
|
-
rss_by_round << rss
|
|
469
|
-
end
|
|
470
|
-
|
|
471
|
-
assert_operator(rss_by_round.last - rss_by_round[1], :<, 10_000)
|
|
472
|
-
end
|
|
473
|
-
|
|
474
449
|
private
|
|
475
450
|
|
|
476
451
|
def document(writer, options = {})
|
|
@@ -491,10 +466,4 @@ class TestWriter < Minitest::Test
|
|
|
491
466
|
assert(writer.end_element)
|
|
492
467
|
end
|
|
493
468
|
|
|
494
|
-
def rss_in_kb
|
|
495
|
-
rss = `ps -o rss= -p #{Process.pid}`.strip
|
|
496
|
-
Integer(rss)
|
|
497
|
-
rescue Errno::ENOENT, Errno::EPERM, ArgumentError
|
|
498
|
-
nil
|
|
499
|
-
end
|
|
500
469
|
end
|
data/test/test_xinclude.rb
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
|
|
3
|
-
require_relative './test_helper'
|
|
4
|
-
|
|
5
|
-
class TestXInclude < Minitest::Test
|
|
6
|
-
def setup
|
|
7
|
-
@doc = LibXML::XML::Document.file(File.join(File.dirname(__FILE__), 'model/xinclude.xml'))
|
|
8
|
-
assert_instance_of(LibXML::XML::Document, @doc)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def teardown
|
|
12
|
-
@doc = nil
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_ruby_xml_xinclude
|
|
16
|
-
assert_equal(1, @doc.xinclude)
|
|
17
|
-
assert_equal("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document xmlns:xi=\"http://www.w3.org/2001/XInclude\">\n <p>This libxml2 binding has the following project information:\n <code>This is some text to include in an xml file via XInclude.</code></p>\n</document>\n",
|
|
18
|
-
@doc.to_s)
|
|
19
|
-
end
|
|
20
|
-
end
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
|
|
3
|
+
require_relative './test_helper'
|
|
4
|
+
|
|
5
|
+
class TestXInclude < Minitest::Test
|
|
6
|
+
def setup
|
|
7
|
+
@doc = LibXML::XML::Document.file(File.join(File.dirname(__FILE__), 'model/xinclude.xml'))
|
|
8
|
+
assert_instance_of(LibXML::XML::Document, @doc)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def teardown
|
|
12
|
+
@doc = nil
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_ruby_xml_xinclude
|
|
16
|
+
assert_equal(1, @doc.xinclude)
|
|
17
|
+
assert_equal("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document xmlns:xi=\"http://www.w3.org/2001/XInclude\">\n <p>This libxml2 binding has the following project information:\n <code>This is some text to include in an xml file via XInclude.</code></p>\n</document>\n",
|
|
18
|
+
@doc.to_s)
|
|
19
|
+
end
|
|
20
|
+
end
|
data/test/test_xml.rb
CHANGED
|
@@ -72,11 +72,7 @@ class TestXml < Minitest::Test
|
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
def test_enabled_docbook
|
|
75
|
-
|
|
76
|
-
refute(LibXML::XML.enabled_docbook?)
|
|
77
|
-
else
|
|
78
|
-
assert(LibXML::XML.enabled_docbook?)
|
|
79
|
-
end
|
|
75
|
+
LibXML::XML.enabled_docbook?
|
|
80
76
|
end
|
|
81
77
|
|
|
82
78
|
def test_enabled_ftp
|
|
@@ -88,7 +84,7 @@ class TestXml < Minitest::Test
|
|
|
88
84
|
end
|
|
89
85
|
|
|
90
86
|
def test_enabled_http
|
|
91
|
-
|
|
87
|
+
LibXML::XML.enabled_http?
|
|
92
88
|
end
|
|
93
89
|
|
|
94
90
|
def test_enabled_html
|
|
@@ -117,7 +113,7 @@ class TestXml < Minitest::Test
|
|
|
117
113
|
end
|
|
118
114
|
|
|
119
115
|
def test_enabled_unicode
|
|
120
|
-
|
|
116
|
+
LibXML::XML.enabled_unicode?
|
|
121
117
|
end
|
|
122
118
|
|
|
123
119
|
def test_enabled_xinclude
|