libxml-ruby 2.8.0 → 2.9.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 +15 -0
- data/README.rdoc +7 -7
- data/Rakefile +80 -78
- data/ext/libxml/extconf.h +4 -0
- data/ext/libxml/extconf.rb +57 -116
- data/ext/libxml/libxml.c +4 -0
- data/ext/libxml/ruby_xml.c +977 -893
- data/ext/libxml/ruby_xml.h +20 -10
- data/ext/libxml/ruby_xml_attr.c +333 -333
- data/ext/libxml/ruby_xml_attr_decl.c +2 -2
- data/ext/libxml/ruby_xml_cbg.c +85 -85
- data/ext/libxml/ruby_xml_document.c +1133 -1147
- data/ext/libxml/ruby_xml_dtd.c +261 -268
- data/ext/libxml/ruby_xml_encoding.c +262 -260
- data/ext/libxml/ruby_xml_encoding.h +19 -19
- data/ext/libxml/ruby_xml_html_parser_context.c +337 -338
- data/ext/libxml/ruby_xml_input_cbg.c +191 -191
- data/ext/libxml/ruby_xml_io.c +52 -50
- data/ext/libxml/ruby_xml_namespace.c +2 -2
- data/ext/libxml/ruby_xml_node.c +1446 -1452
- data/ext/libxml/ruby_xml_parser_context.c +999 -1001
- data/ext/libxml/ruby_xml_reader.c +1226 -1228
- data/ext/libxml/ruby_xml_relaxng.c +110 -111
- data/ext/libxml/ruby_xml_sax2_handler.c +326 -328
- data/ext/libxml/ruby_xml_schema.c +300 -301
- data/ext/libxml/ruby_xml_version.h +3 -3
- data/ext/libxml/ruby_xml_writer.c +14 -15
- data/ext/libxml/ruby_xml_xpath.c +188 -188
- data/ext/libxml/ruby_xml_xpath_context.c +360 -361
- data/ext/libxml/ruby_xml_xpath_object.c +335 -335
- data/libxml-ruby.gemspec +47 -44
- data/test/tc_attr.rb +5 -7
- data/test/tc_attr_decl.rb +5 -6
- data/test/tc_attributes.rb +1 -2
- data/test/tc_canonicalize.rb +1 -2
- data/test/tc_deprecated_require.rb +1 -2
- data/test/tc_document.rb +4 -5
- data/test/tc_document_write.rb +2 -3
- data/test/tc_dtd.rb +4 -5
- data/test/tc_encoding.rb +126 -126
- data/test/tc_encoding_sax.rb +4 -3
- data/test/tc_error.rb +14 -15
- data/test/tc_html_parser.rb +15 -7
- data/test/tc_html_parser_context.rb +1 -2
- data/test/tc_namespace.rb +2 -3
- data/test/tc_namespaces.rb +5 -6
- data/test/tc_node.rb +2 -3
- data/test/tc_node_cdata.rb +2 -3
- data/test/tc_node_comment.rb +1 -2
- data/test/tc_node_copy.rb +1 -2
- data/test/tc_node_edit.rb +5 -7
- data/test/tc_node_pi.rb +1 -2
- data/test/tc_node_text.rb +2 -3
- data/test/tc_node_write.rb +2 -3
- data/test/tc_node_xlink.rb +1 -2
- data/test/tc_parser.rb +18 -24
- data/test/tc_parser_context.rb +6 -7
- data/test/tc_properties.rb +1 -2
- data/test/tc_reader.rb +9 -10
- data/test/tc_relaxng.rb +4 -5
- data/test/tc_sax_parser.rb +9 -10
- data/test/tc_schema.rb +4 -5
- data/test/tc_traversal.rb +1 -2
- data/test/tc_writer.rb +1 -2
- data/test/tc_xinclude.rb +1 -2
- data/test/tc_xml.rb +1 -2
- data/test/tc_xpath.rb +8 -9
- data/test/tc_xpath_context.rb +3 -4
- data/test/tc_xpath_expression.rb +3 -4
- data/test/tc_xpointer.rb +1 -3
- data/test/test_helper.rb +3 -1
- data/test/test_suite.rb +0 -1
- metadata +47 -11
- data/test/etc_doc_to_s.rb +0 -21
- data/test/ets_doc_file.rb +0 -17
- data/test/ets_doc_to_s.rb +0 -23
- data/test/ets_gpx.rb +0 -28
- data/test/ets_node_gc.rb +0 -23
- data/test/ets_test.xml +0 -2
- data/test/ets_tsr.rb +0 -11
data/test/tc_node_xlink.rb
CHANGED
@@ -3,9 +3,8 @@
|
|
3
3
|
# $Id$
|
4
4
|
require './test_helper'
|
5
5
|
|
6
|
-
require 'test/unit'
|
7
6
|
|
8
|
-
class TC_XML_Node_XLink < Test
|
7
|
+
class TC_XML_Node_XLink < Minitest::Test
|
9
8
|
def setup()
|
10
9
|
xp = XML::Parser.string('<ruby_array xmlns:xlink="http://www.w3.org/1999/xlink/namespace/"><fixnum xlink:type="simple">one</fixnum></ruby_array>')
|
11
10
|
doc = xp.parse
|
data/test/tc_parser.rb
CHANGED
@@ -1,20 +1,13 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
3
|
require './test_helper'
|
4
|
-
require 'test/unit'
|
5
4
|
require 'stringio'
|
6
5
|
|
7
|
-
class TestParser < Test
|
6
|
+
class TestParser < Minitest::Test
|
8
7
|
def setup
|
9
8
|
XML::Error.set_handler(&XML::Error::QUIET_HANDLER)
|
10
9
|
end
|
11
10
|
|
12
|
-
def teardown
|
13
|
-
GC.start
|
14
|
-
GC.start
|
15
|
-
GC.start
|
16
|
-
end
|
17
|
-
|
18
11
|
# ----- Sources -------
|
19
12
|
def test_document
|
20
13
|
file = File.expand_path(File.join(File.dirname(__FILE__), 'model/bands.utf-8.xml'))
|
@@ -30,7 +23,7 @@ class TestParser < Test::Unit::TestCase
|
|
30
23
|
end
|
31
24
|
|
32
25
|
def test_nil_document
|
33
|
-
error =
|
26
|
+
error = assert_raises(TypeError) do
|
34
27
|
XML::Parser.document(nil)
|
35
28
|
end
|
36
29
|
|
@@ -47,7 +40,7 @@ class TestParser < Test::Unit::TestCase
|
|
47
40
|
end
|
48
41
|
|
49
42
|
def test_noexistent_file
|
50
|
-
error =
|
43
|
+
error = assert_raises(XML::Error) do
|
51
44
|
XML::Parser.file('i_dont_exist.xml')
|
52
45
|
end
|
53
46
|
|
@@ -55,7 +48,7 @@ class TestParser < Test::Unit::TestCase
|
|
55
48
|
end
|
56
49
|
|
57
50
|
def test_nil_file
|
58
|
-
error =
|
51
|
+
error = assert_raises(TypeError) do
|
59
52
|
XML::Parser.file(nil)
|
60
53
|
end
|
61
54
|
|
@@ -66,7 +59,7 @@ class TestParser < Test::Unit::TestCase
|
|
66
59
|
file = File.expand_path(File.join(File.dirname(__FILE__), 'model/bands.utf-8.xml'))
|
67
60
|
parser = XML::Parser.file(file, :encoding => XML::Encoding::ISO_8859_1)
|
68
61
|
|
69
|
-
error =
|
62
|
+
error = assert_raises(XML::Error) do
|
70
63
|
doc = parser.parse
|
71
64
|
end
|
72
65
|
|
@@ -74,7 +67,7 @@ class TestParser < Test::Unit::TestCase
|
|
74
67
|
|
75
68
|
parser = XML::Parser.file(file, :encoding => XML::Encoding::UTF_8)
|
76
69
|
doc = parser.parse
|
77
|
-
|
70
|
+
refute_nil(doc)
|
78
71
|
end
|
79
72
|
|
80
73
|
def test_file_base_uri
|
@@ -111,7 +104,7 @@ class TestParser < Test::Unit::TestCase
|
|
111
104
|
end
|
112
105
|
|
113
106
|
def test_nil_io
|
114
|
-
error =
|
107
|
+
error = assert_raises(TypeError) do
|
115
108
|
XML::Parser.io(nil)
|
116
109
|
end
|
117
110
|
|
@@ -141,8 +134,9 @@ class TestParser < Test::Unit::TestCase
|
|
141
134
|
|
142
135
|
thread.join
|
143
136
|
assert(true)
|
137
|
+
puts 'Thread completed'
|
144
138
|
end
|
145
|
-
|
139
|
+
|
146
140
|
def test_string
|
147
141
|
str = '<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>'
|
148
142
|
|
@@ -155,7 +149,7 @@ class TestParser < Test::Unit::TestCase
|
|
155
149
|
end
|
156
150
|
|
157
151
|
def test_nil_string
|
158
|
-
error =
|
152
|
+
error = assert_raises(TypeError) do
|
159
153
|
XML::Parser.string(nil)
|
160
154
|
end
|
161
155
|
|
@@ -215,7 +209,7 @@ class TestParser < Test::Unit::TestCase
|
|
215
209
|
# Parse as UTF_8
|
216
210
|
parser = XML::Parser.string(xml, :encoding => XML::Encoding::UTF_8)
|
217
211
|
|
218
|
-
error =
|
212
|
+
error = assert_raises(XML::Error) do
|
219
213
|
doc = parser.parse
|
220
214
|
end
|
221
215
|
|
@@ -246,7 +240,7 @@ class TestParser < Test::Unit::TestCase
|
|
246
240
|
max_fd = if RUBY_PLATFORM.match(/mswin32|mingw/i)
|
247
241
|
500
|
248
242
|
else
|
249
|
-
(
|
243
|
+
Process.getrlimit(Process::RLIMIT_NOFILE)[0] + 1
|
250
244
|
end
|
251
245
|
|
252
246
|
file = File.join(File.dirname(__FILE__), 'model/rubynet.xml')
|
@@ -264,11 +258,11 @@ class TestParser < Test::Unit::TestCase
|
|
264
258
|
|
265
259
|
# ----- Errors ------
|
266
260
|
def test_error
|
267
|
-
error =
|
261
|
+
error = assert_raises(XML::Error) do
|
268
262
|
XML::Parser.string('<foo><bar/></foz>').parse
|
269
263
|
end
|
270
264
|
|
271
|
-
|
265
|
+
refute_nil(error)
|
272
266
|
assert_kind_of(XML::Error, error)
|
273
267
|
assert_equal("Fatal error: Opening and ending tag mismatch: foo line 1 and foz at :1.", error.message)
|
274
268
|
assert_equal(XML::Error::PARSER, error.domain)
|
@@ -286,11 +280,11 @@ class TestParser < Test::Unit::TestCase
|
|
286
280
|
|
287
281
|
def test_bad_xml
|
288
282
|
parser = XML::Parser.string('<ruby_array uga="booga" foo="bar"<fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
|
289
|
-
error =
|
290
|
-
|
283
|
+
error = assert_raises(XML::Error) do
|
284
|
+
refute_nil(parser.parse)
|
291
285
|
end
|
292
286
|
|
293
|
-
|
287
|
+
refute_nil(error)
|
294
288
|
assert_kind_of(XML::Error, error)
|
295
289
|
assert_equal("Fatal error: Extra content at the end of the document at :1.", error.message)
|
296
290
|
assert_equal(XML::Error::PARSER, error.domain)
|
@@ -302,7 +296,7 @@ class TestParser < Test::Unit::TestCase
|
|
302
296
|
assert_nil(error.str2)
|
303
297
|
assert_nil(error.str3)
|
304
298
|
assert_equal(0, error.int1)
|
305
|
-
assert_equal(
|
299
|
+
assert_equal(34, error.int2)
|
306
300
|
assert_nil(error.node)
|
307
301
|
end
|
308
302
|
|
data/test/tc_parser_context.rb
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
require './test_helper'
|
4
4
|
|
5
|
-
require 'test/unit'
|
6
5
|
|
7
|
-
class TestParserContext < Test
|
6
|
+
class TestParserContext < Minitest::Test
|
8
7
|
def test_string
|
9
8
|
# UTF8
|
10
9
|
xml = <<-EOS
|
@@ -44,7 +43,7 @@ class TestParserContext < Test::Unit::TestCase
|
|
44
43
|
|
45
44
|
context = XML::Parser::Context.string(xml)
|
46
45
|
|
47
|
-
error =
|
46
|
+
error = assert_raises(ArgumentError) do
|
48
47
|
context.encoding = -999
|
49
48
|
end
|
50
49
|
assert_equal("Unknown encoding: -999", error.to_s)
|
@@ -66,12 +65,12 @@ class TestParserContext < Test::Unit::TestCase
|
|
66
65
|
end
|
67
66
|
|
68
67
|
def test_string_empty
|
69
|
-
error =
|
68
|
+
error = assert_raises(TypeError) do
|
70
69
|
XML::Parser::Context.string(nil)
|
71
70
|
end
|
72
71
|
assert_equal("wrong argument type nil (expected String)", error.to_s)
|
73
72
|
|
74
|
-
error =
|
73
|
+
error = assert_raises(ArgumentError) do
|
75
74
|
XML::Parser::Context.string('')
|
76
75
|
end
|
77
76
|
assert_equal("Must specify a string with one or more characters", error.to_s)
|
@@ -85,7 +84,7 @@ class TestParserContext < Test::Unit::TestCase
|
|
85
84
|
|
86
85
|
def test_not_well_formed
|
87
86
|
parser = XML::Parser.string("<abc>")
|
88
|
-
|
87
|
+
assert_raises(XML::Error) do
|
89
88
|
parser.parse
|
90
89
|
end
|
91
90
|
assert(!parser.context.well_formed?)
|
@@ -166,7 +165,7 @@ class TestParserContext < Test::Unit::TestCase
|
|
166
165
|
def test_parse_error
|
167
166
|
xp = XML::Parser.string('<foo><bar/></foz>')
|
168
167
|
|
169
|
-
|
168
|
+
assert_raises(XML::Error) do
|
170
169
|
xp.parse
|
171
170
|
end
|
172
171
|
|
data/test/tc_properties.rb
CHANGED
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
require './test_helper'
|
4
4
|
|
5
|
-
require 'test/unit'
|
6
5
|
|
7
6
|
# attributes is deprecated - use attributes instead.
|
8
7
|
# Tests for backwards compatibility
|
9
8
|
|
10
|
-
class Testattributes < Test
|
9
|
+
class Testattributes < Minitest::Test
|
11
10
|
def setup()
|
12
11
|
xp = XML::Parser.string('<ruby_array uga="booga" foo="bar"><fixnum>one</fixnum><fixnum>two</fixnum></ruby_array>')
|
13
12
|
@doc = xp.parse
|
data/test/tc_reader.rb
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
require './test_helper'
|
4
4
|
require 'stringio'
|
5
|
-
require 'test/unit'
|
6
5
|
|
7
|
-
class TestReader < Test
|
6
|
+
class TestReader < Minitest::Test
|
8
7
|
XML_FILE = File.join(File.dirname(__FILE__), 'model/atom.xml')
|
9
8
|
|
10
9
|
def verify_simple(reader)
|
@@ -61,7 +60,7 @@ class TestReader < Test::Unit::TestCase
|
|
61
60
|
end
|
62
61
|
|
63
62
|
def test_invalid_file
|
64
|
-
|
63
|
+
assert_raises(XML::Error) do
|
65
64
|
XML::Reader.file('/does/not/exist')
|
66
65
|
end
|
67
66
|
end
|
@@ -98,7 +97,7 @@ class TestReader < Test::Unit::TestCase
|
|
98
97
|
def test_error
|
99
98
|
reader = XML::Reader.string('<foo blah')
|
100
99
|
|
101
|
-
error =
|
100
|
+
error = assert_raises(XML::Error) do
|
102
101
|
reader.read
|
103
102
|
end
|
104
103
|
assert_equal("Fatal error: Couldn't find end of Start Tag foo at :1.", error.to_s)
|
@@ -111,7 +110,7 @@ class TestReader < Test::Unit::TestCase
|
|
111
110
|
called = true
|
112
111
|
end
|
113
112
|
|
114
|
-
|
113
|
+
assert_raises(XML::Error) do
|
115
114
|
reader.read
|
116
115
|
end
|
117
116
|
|
@@ -126,7 +125,7 @@ class TestReader < Test::Unit::TestCase
|
|
126
125
|
end
|
127
126
|
reader.reset_error_handler
|
128
127
|
|
129
|
-
|
128
|
+
assert_raises(XML::Error) do
|
130
129
|
reader.read
|
131
130
|
end
|
132
131
|
|
@@ -224,7 +223,7 @@ class TestReader < Test::Unit::TestCase
|
|
224
223
|
node = reader.expand
|
225
224
|
|
226
225
|
# Try to access the document
|
227
|
-
|
226
|
+
refute_nil(node.doc)
|
228
227
|
end
|
229
228
|
|
230
229
|
def test_expand_find
|
@@ -246,7 +245,7 @@ class TestReader < Test::Unit::TestCase
|
|
246
245
|
reader = XML::Reader.file(XML_FILE)
|
247
246
|
|
248
247
|
# Expand a node before one has been read
|
249
|
-
error =
|
248
|
+
error = assert_raises(RuntimeError) do
|
250
249
|
reader.expand
|
251
250
|
end
|
252
251
|
assert_equal("The reader does not have a document. Did you forget to call read?", error.to_s)
|
@@ -267,7 +266,7 @@ class TestReader < Test::Unit::TestCase
|
|
267
266
|
reader.next
|
268
267
|
|
269
268
|
# The previous node is now invalid
|
270
|
-
error =
|
269
|
+
error = assert_raises(RuntimeError) do
|
271
270
|
assert_equal('feed', node.name)
|
272
271
|
end
|
273
272
|
assert_equal("This node has already been freed.", error.to_s)
|
@@ -370,7 +369,7 @@ class TestReader < Test::Unit::TestCase
|
|
370
369
|
xml = "<bands genre=\"metal\">\n <m\366tley_cr\374e country=\"us\">An American heavy metal band formed in Los Angeles, California in 1981.</m\366tley_cr\374e>\n <iron_maiden country=\"uk\">British heavy metal band formed in 1975.</iron_maiden>\n</bands>"
|
371
370
|
|
372
371
|
reader = XML::Reader.string(xml)
|
373
|
-
error =
|
372
|
+
error = assert_raises(XML::Error) do
|
374
373
|
node = reader.read
|
375
374
|
end
|
376
375
|
|
data/test/tc_relaxng.rb
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
require './test_helper'
|
4
4
|
|
5
|
-
require 'test/unit'
|
6
5
|
|
7
|
-
class TestRelaxNG < Test
|
6
|
+
class TestRelaxNG < Minitest::Test
|
8
7
|
def setup
|
9
8
|
file = File.join(File.dirname(__FILE__), 'model/shiporder.xml')
|
10
9
|
@doc = XML::Document.file(file)
|
@@ -31,11 +30,11 @@ class TestRelaxNG < Test::Unit::TestCase
|
|
31
30
|
new_node = XML::Node.new('invalid', 'this will mess up validation')
|
32
31
|
@doc.root << new_node
|
33
32
|
|
34
|
-
error =
|
33
|
+
error = assert_raises(XML::Error) do
|
35
34
|
@doc.validate_relaxng(relaxng)
|
36
35
|
end
|
37
36
|
|
38
|
-
|
37
|
+
refute_nil(error)
|
39
38
|
assert_kind_of(XML::Error, error)
|
40
39
|
assert(error.message.match(/Error: Did not expect element invalid there/))
|
41
40
|
assert_equal(XML::Error::RELAXNGV, error.domain)
|
@@ -48,7 +47,7 @@ class TestRelaxNG < Test::Unit::TestCase
|
|
48
47
|
assert_nil(error.str3)
|
49
48
|
assert_equal(0, error.int1)
|
50
49
|
assert_equal(0, error.int2)
|
51
|
-
|
50
|
+
refute_nil(error.node)
|
52
51
|
assert_equal('invalid', error.node.name)
|
53
52
|
end
|
54
53
|
end
|
data/test/tc_sax_parser.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require './test_helper'
|
4
4
|
require 'stringio'
|
5
|
-
require 'test/unit'
|
6
5
|
|
7
6
|
class DocTypeCallback
|
8
7
|
include XML::SaxParser::Callbacks
|
@@ -68,7 +67,7 @@ class TestCaseCallbacks
|
|
68
67
|
end
|
69
68
|
end
|
70
69
|
|
71
|
-
class TestSaxParser < Test
|
70
|
+
class TestSaxParser < Minitest::Test
|
72
71
|
def saxtest_file
|
73
72
|
File.join(File.dirname(__FILE__), 'model/atom.xml')
|
74
73
|
end
|
@@ -132,7 +131,7 @@ class TestSaxParser < Test::Unit::TestCase
|
|
132
131
|
end
|
133
132
|
|
134
133
|
def test_noexistent_file
|
135
|
-
error =
|
134
|
+
error = assert_raises(XML::Error) do
|
136
135
|
XML::SaxParser.file('i_dont_exist.xml')
|
137
136
|
end
|
138
137
|
|
@@ -140,7 +139,7 @@ class TestSaxParser < Test::Unit::TestCase
|
|
140
139
|
end
|
141
140
|
|
142
141
|
def test_nil_file
|
143
|
-
error =
|
142
|
+
error = assert_raises(TypeError) do
|
144
143
|
XML::SaxParser.file(nil)
|
145
144
|
end
|
146
145
|
|
@@ -157,7 +156,7 @@ class TestSaxParser < Test::Unit::TestCase
|
|
157
156
|
end
|
158
157
|
|
159
158
|
def test_nil_io
|
160
|
-
error =
|
159
|
+
error = assert_raises(TypeError) do
|
161
160
|
XML::HTMLParser.io(nil)
|
162
161
|
end
|
163
162
|
|
@@ -189,7 +188,7 @@ class TestSaxParser < Test::Unit::TestCase
|
|
189
188
|
end
|
190
189
|
|
191
190
|
def test_nil_string
|
192
|
-
error =
|
191
|
+
error = assert_raises(TypeError) do
|
193
192
|
XML::SaxParser.string(nil)
|
194
193
|
end
|
195
194
|
|
@@ -207,7 +206,7 @@ EOS
|
|
207
206
|
parser = XML::SaxParser.string(xml)
|
208
207
|
parser.callbacks = DocTypeCallback.new
|
209
208
|
doc = parser.parse
|
210
|
-
|
209
|
+
refute_nil(doc)
|
211
210
|
end
|
212
211
|
|
213
212
|
def test_parse_warning
|
@@ -243,7 +242,7 @@ EOS
|
|
243
242
|
parser = XML::SaxParser.string(xml)
|
244
243
|
parser.callbacks = TestCaseCallbacks.new
|
245
244
|
|
246
|
-
error =
|
245
|
+
error = assert_raises(XML::Error) do
|
247
246
|
doc = parser.parse
|
248
247
|
end
|
249
248
|
|
@@ -258,7 +257,7 @@ EOS
|
|
258
257
|
assert_equal("error: Fatal error: Premature end of data in tag Results line 1 at :2.", result[i+=1])
|
259
258
|
assert_equal("end_document", result[i+=1])
|
260
259
|
|
261
|
-
|
260
|
+
refute_nil(error)
|
262
261
|
assert_kind_of(XML::Error, error)
|
263
262
|
assert_equal("Fatal error: Premature end of data in tag Results line 1 at :2.", error.message)
|
264
263
|
assert_equal(XML::Error::PARSER, error.domain)
|
@@ -309,7 +308,7 @@ EOS
|
|
309
308
|
parser = XML::SaxParser.string(xml)
|
310
309
|
parser.callbacks = TestCaseCallbacks.new
|
311
310
|
|
312
|
-
error =
|
311
|
+
error = assert_raises(XML::Error) do
|
313
312
|
parser.parse
|
314
313
|
end
|
315
314
|
assert_equal("Fatal error: xmlParseEntityRef: no name at :5.", error.to_s)
|
data/test/tc_schema.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
3
|
require './test_helper'
|
4
|
-
require 'test/unit'
|
5
4
|
|
6
|
-
class TestSchema < Test
|
5
|
+
class TestSchema < Minitest::Test
|
7
6
|
def setup
|
8
7
|
file = File.join(File.dirname(__FILE__), 'model/shiporder.xml')
|
9
8
|
@doc = XML::Document.file(file)
|
@@ -19,7 +18,7 @@ class TestSchema < Test::Unit::TestCase
|
|
19
18
|
end
|
20
19
|
|
21
20
|
def check_error(error)
|
22
|
-
|
21
|
+
refute_nil(error)
|
23
22
|
assert(error.message.match(/Error: Element 'invalid': This element is not expected. Expected is \( item \)/))
|
24
23
|
assert_kind_of(XML::Error, error)
|
25
24
|
assert_equal(XML::Error::SCHEMASV, error.domain)
|
@@ -45,13 +44,13 @@ class TestSchema < Test::Unit::TestCase
|
|
45
44
|
new_node = XML::Node.new('invalid', 'this will mess up validation')
|
46
45
|
@doc.root << new_node
|
47
46
|
|
48
|
-
error =
|
47
|
+
error = assert_raises(XML::Error) do
|
49
48
|
@doc.validate_schema(schema)
|
50
49
|
end
|
51
50
|
|
52
51
|
check_error(error)
|
53
52
|
assert_nil(error.line)
|
54
|
-
|
53
|
+
refute_nil(error.node)
|
55
54
|
assert_equal('invalid', error.node.name)
|
56
55
|
end
|
57
56
|
|