libxml-ruby 3.0.0-x64-mingw32 → 3.1.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/HISTORY +18 -0
- data/MANIFEST +34 -34
- data/README.rdoc +14 -1
- data/Rakefile +18 -8
- data/ext/libxml/ruby_xml_error.c +1 -1
- data/ext/libxml/ruby_xml_error.h +1 -1
- data/ext/libxml/ruby_xml_node.c +15 -16
- 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 +3 -3
- data/lib/libxml/schema.rb +0 -19
- data/lib/libxml/schema/element.rb +0 -8
- data/lib/libxml/schema/type.rb +0 -8
- data/libxml-ruby.gemspec +3 -2
- data/setup.rb +0 -1
- data/test/model/cwm_1_0.xml +11336 -0
- data/test/{tc_attr.rb → test_attr.rb} +1 -1
- data/test/{tc_attr_decl.rb → test_attr_decl.rb} +1 -1
- data/test/{tc_attributes.rb → test_attributes.rb} +1 -1
- data/test/{tc_canonicalize.rb → test_canonicalize.rb} +32 -28
- data/test/{tc_deprecated_require.rb → test_deprecated_require.rb} +0 -0
- data/test/{tc_document.rb → test_document.rb} +3 -3
- data/test/{tc_document_write.rb → test_document_write.rb} +1 -1
- data/test/{tc_dtd.rb → test_dtd.rb} +6 -6
- data/test/{tc_encoding.rb → test_encoding.rb} +6 -3
- data/test/{tc_encoding_sax.rb → test_encoding_sax.rb} +1 -1
- data/test/{tc_error.rb → test_error.rb} +1 -1
- data/test/test_helper.rb +0 -2
- data/test/{tc_html_parser.rb → test_html_parser.rb} +3 -2
- data/test/{tc_html_parser_context.rb → test_html_parser_context.rb} +1 -1
- data/test/{tc_namespace.rb → test_namespace.rb} +3 -4
- data/test/{tc_namespaces.rb → test_namespaces.rb} +5 -14
- data/test/{tc_node.rb → test_node.rb} +2 -2
- data/test/{tc_node_cdata.rb → test_node_cdata.rb} +1 -1
- data/test/{tc_node_comment.rb → test_node_comment.rb} +1 -1
- data/test/{tc_node_copy.rb → test_node_copy.rb} +2 -3
- data/test/{tc_node_edit.rb → test_node_edit.rb} +5 -6
- data/test/{tc_node_pi.rb → test_node_pi.rb} +2 -4
- data/test/{tc_node_text.rb → test_node_text.rb} +4 -5
- data/test/{tc_node_write.rb → test_node_write.rb} +1 -1
- data/test/{tc_node_xlink.rb → test_node_xlink.rb} +1 -1
- data/test/{tc_parser.rb → test_parser.rb} +7 -6
- data/test/{tc_parser_context.rb → test_parser_context.rb} +8 -8
- data/test/{tc_properties.rb → test_properties.rb} +1 -1
- data/test/{tc_reader.rb → test_reader.rb} +30 -20
- data/test/{tc_relaxng.rb → test_relaxng.rb} +2 -2
- data/test/{tc_sax_parser.rb → test_sax_parser.rb} +3 -3
- data/test/{tc_schema.rb → test_schema.rb} +18 -11
- data/test/test_suite.rb +38 -38
- data/test/{tc_traversal.rb → test_traversal.rb} +1 -1
- data/test/{tc_writer.rb → test_writer.rb} +1 -1
- data/test/{tc_xinclude.rb → test_xinclude.rb} +1 -1
- data/test/{tc_xml.rb → test_xml.rb} +61 -36
- data/test/{tc_xpath.rb → test_xpath.rb} +4 -4
- data/test/{tc_xpath_context.rb → test_xpath_context.rb} +1 -1
- data/test/{tc_xpath_expression.rb → test_xpath_expression.rb} +2 -2
- data/test/{tc_xpointer.rb → test_xpointer.rb} +1 -1
- metadata +84 -99
- data/lib/2.4/libxml_ruby.so +0 -0
- data/lib/libs/libiconv-2.dll +0 -0
- data/lib/libs/libxml2-2.dll +0 -0
- data/lib/libs/zlib1.dll +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
5
|
# see mailing list archive
|
6
6
|
# [libxml-devel] Segmentation fault when add the cloned/copied node
|
@@ -37,5 +37,4 @@ class TestNodeCopy < Minitest::Test
|
|
37
37
|
end
|
38
38
|
assert @div1.to_s =~ /foo/
|
39
39
|
end
|
40
|
-
|
41
|
-
end # TC_XML_Node_Copy
|
40
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
5
|
class TestNodeEdit < Minitest::Test
|
6
6
|
def setup
|
@@ -69,8 +69,7 @@ class TestNodeEdit < Minitest::Test
|
|
69
69
|
def test_remove_node_gc
|
70
70
|
xp = XML::Parser.string('<test><num>one</num><num>two</num><num>three</num></test>')
|
71
71
|
doc = xp.parse
|
72
|
-
|
73
|
-
node = nil
|
72
|
+
doc.root.child.remove!
|
74
73
|
GC.start
|
75
74
|
refute_nil(doc)
|
76
75
|
end
|
@@ -132,7 +131,8 @@ class TestNodeEdit < Minitest::Test
|
|
132
131
|
end
|
133
132
|
|
134
133
|
master_doc = documents.shift
|
135
|
-
|
134
|
+
|
135
|
+
documents.each do |child_doc|
|
136
136
|
master_body = master_doc.find("//body").first
|
137
137
|
child_body = child_doc.find("//body").first
|
138
138
|
|
@@ -141,7 +141,6 @@ class TestNodeEdit < Minitest::Test
|
|
141
141
|
end
|
142
142
|
|
143
143
|
master_body << child_element.copy(true)
|
144
|
-
master_doc
|
145
144
|
end
|
146
145
|
end
|
147
146
|
|
@@ -156,4 +155,4 @@ class TestNodeEdit < Minitest::Test
|
|
156
155
|
assert_equal("<test xml:base=\"http://www.rubynet.org/\">\n <num>one</num>\n <num>two</num>\n <num>three</num>\n</test>",
|
157
156
|
@doc.root.to_s)
|
158
157
|
end
|
159
|
-
end
|
158
|
+
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
|
-
|
6
|
-
class NodeCommentTest < Minitest::Test
|
5
|
+
class NodePiTest < Minitest::Test
|
7
6
|
def setup
|
8
7
|
xp = XML::Parser.string('<root></root>')
|
9
8
|
@doc = xp.parse
|
@@ -35,5 +34,4 @@ class NodeCommentTest < Minitest::Test
|
|
35
34
|
assert_equal '<root><?mypi mycontent?></root>',
|
36
35
|
@root.to_s.gsub(/\n\s*/,'')
|
37
36
|
end
|
38
|
-
|
39
37
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
5
|
class TestTextNode < Minitest::Test
|
6
6
|
def test_content
|
@@ -11,7 +11,7 @@ class TestTextNode < Minitest::Test
|
|
11
11
|
|
12
12
|
def test_invalid_content
|
13
13
|
error = assert_raises(TypeError) do
|
14
|
-
|
14
|
+
XML::Node.new_text(nil)
|
15
15
|
end
|
16
16
|
assert_equal('wrong argument type nil (expected String)', error.to_s)
|
17
17
|
end
|
@@ -23,7 +23,7 @@ class TestTextNode < Minitest::Test
|
|
23
23
|
# in CDATA nodes. Or if you are sanitizing existing HTML documents and want
|
24
24
|
# to preserve the content of any of the text nodes.
|
25
25
|
#
|
26
|
-
|
26
|
+
def test_output_escaping
|
27
27
|
textnoenc = 'if (a < b || c > d) return "e";'
|
28
28
|
text = "if (a < b || c > d) return \"e\";"
|
29
29
|
|
@@ -45,7 +45,7 @@ class TestTextNode < Minitest::Test
|
|
45
45
|
end
|
46
46
|
|
47
47
|
# Just a sanity check for output escaping.
|
48
|
-
|
48
|
+
def test_output_escaping_sanity
|
49
49
|
node = XML::Node.new_text('testdata')
|
50
50
|
assert_equal 'text', node.name
|
51
51
|
assert node.output_escaping?
|
@@ -66,5 +66,4 @@ class TestTextNode < Minitest::Test
|
|
66
66
|
assert_equal 'text', node.name
|
67
67
|
assert node.output_escaping?
|
68
68
|
end
|
69
|
-
|
70
69
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
require 'stringio'
|
5
5
|
|
6
6
|
class TestParser < Minitest::Test
|
@@ -60,7 +60,7 @@ class TestParser < Minitest::Test
|
|
60
60
|
parser = XML::Parser.file(file, :encoding => XML::Encoding::ISO_8859_1)
|
61
61
|
|
62
62
|
error = assert_raises(XML::Error) do
|
63
|
-
|
63
|
+
parser.parse
|
64
64
|
end
|
65
65
|
|
66
66
|
assert(error.to_s.match(/Fatal error: Extra content at the end of the document/))
|
@@ -210,7 +210,7 @@ class TestParser < Minitest::Test
|
|
210
210
|
parser = XML::Parser.string(xml, :encoding => XML::Encoding::UTF_8)
|
211
211
|
|
212
212
|
error = assert_raises(XML::Error) do
|
213
|
-
|
213
|
+
parser.parse
|
214
214
|
end
|
215
215
|
|
216
216
|
assert_equal("Fatal error: Input is not proper UTF-8, indicate encoding !\nBytes: 0xF6 0x74 0x6C 0x65 at :2.",
|
@@ -237,7 +237,7 @@ class TestParser < Minitest::Test
|
|
237
237
|
# otherwise an exception will be thrown.
|
238
238
|
XML::Error.set_handler {|error|}
|
239
239
|
|
240
|
-
max_fd = if RUBY_PLATFORM.match(/mswin32|mingw/i)
|
240
|
+
max_fd = if RUBY_PLATFORM.match(/mswin32|mswin64|mingw/i)
|
241
241
|
500
|
242
242
|
else
|
243
243
|
Process.getrlimit(Process::RLIMIT_NOFILE)[0] + 1
|
@@ -251,8 +251,9 @@ class TestParser < Minitest::Test
|
|
251
251
|
end
|
252
252
|
|
253
253
|
def test_open_many_files
|
254
|
+
file = File.expand_path(File.join(File.dirname(__FILE__), 'model/atom.xml'))
|
254
255
|
1000.times do
|
255
|
-
|
256
|
+
XML::Parser.file(file).parse
|
256
257
|
end
|
257
258
|
end
|
258
259
|
|
@@ -296,7 +297,7 @@ class TestParser < Minitest::Test
|
|
296
297
|
assert_nil(error.str2)
|
297
298
|
assert_nil(error.str3)
|
298
299
|
assert_equal(0, error.int1)
|
299
|
-
assert_equal(
|
300
|
+
assert_equal(20, error.int2)
|
300
301
|
assert_nil(error.node)
|
301
302
|
end
|
302
303
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
5
|
|
6
6
|
class TestParserContext < Minitest::Test
|
@@ -100,7 +100,7 @@ class TestParserContext < Minitest::Test
|
|
100
100
|
|
101
101
|
def test_depth
|
102
102
|
context = XML::Parser::Context.new
|
103
|
-
assert_instance_of(
|
103
|
+
assert_instance_of(Integer, context.depth)
|
104
104
|
end
|
105
105
|
|
106
106
|
def test_disable_sax
|
@@ -171,7 +171,7 @@ class TestParserContext < Minitest::Test
|
|
171
171
|
|
172
172
|
# Now check context
|
173
173
|
context = xp.context
|
174
|
-
|
174
|
+
assert_nil(context.data_directory)
|
175
175
|
assert_equal(0, context.depth)
|
176
176
|
assert_equal(true, context.disable_sax?)
|
177
177
|
assert_equal(false, context.docbook?)
|
@@ -182,7 +182,7 @@ class TestParserContext < Minitest::Test
|
|
182
182
|
assert_equal(1, context.io_num_streams)
|
183
183
|
assert_equal(true, context.keep_blanks?)
|
184
184
|
assert_equal(1, context.io_num_streams)
|
185
|
-
|
185
|
+
assert_nil(context.name_node)
|
186
186
|
assert_equal(0, context.name_depth)
|
187
187
|
assert_equal(10, context.name_depth_max)
|
188
188
|
assert_equal(17, context.num_chars)
|
@@ -190,10 +190,10 @@ class TestParserContext < Minitest::Test
|
|
190
190
|
assert_equal(1, context.space_depth)
|
191
191
|
assert_equal(10, context.space_depth_max)
|
192
192
|
assert_equal(false, context.subset_external?)
|
193
|
-
|
194
|
-
|
193
|
+
assert_nil(context.subset_external_system_id)
|
194
|
+
assert_nil(context.subset_external_uri)
|
195
195
|
assert_equal(false, context.subset_internal?)
|
196
|
-
|
196
|
+
assert_nil(context.subset_internal_name)
|
197
197
|
assert_equal(false, context.stats?)
|
198
198
|
assert_equal(true, context.standalone?)
|
199
199
|
assert_equal(false, context.valid)
|
@@ -201,4 +201,4 @@ class TestParserContext < Minitest::Test
|
|
201
201
|
assert_equal('1.0', context.version)
|
202
202
|
assert_equal(false, context.well_formed?)
|
203
203
|
end
|
204
|
-
end
|
204
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
require 'stringio'
|
5
5
|
|
6
6
|
class TestReader < Minitest::Test
|
@@ -142,16 +142,16 @@ class TestReader < Minitest::Test
|
|
142
142
|
assert_equal(reader.get_attribute_ns('id', 'http://www.w3.org/XML/1998/namespace'), 'abc')
|
143
143
|
assert_equal(reader.get_attribute('bar'), 'jkl')
|
144
144
|
|
145
|
-
|
146
|
-
|
147
|
-
|
145
|
+
assert_nil(reader.get_attribute_no(12))
|
146
|
+
assert_nil(reader.get_attribute('baz'))
|
147
|
+
assert_nil(reader.get_attribute_ns('baz', 'http://ruby/namespace'))
|
148
148
|
end
|
149
149
|
|
150
150
|
def test_value
|
151
151
|
parser = XML::Reader.string("<foo><bar>1</bar><bar>2</bar><bar>3</bar></foo>")
|
152
152
|
assert(parser.read)
|
153
153
|
assert_equal('foo', parser.name)
|
154
|
-
|
154
|
+
assert_nil(parser.value)
|
155
155
|
3.times do |i|
|
156
156
|
assert(parser.read)
|
157
157
|
assert_equal(XML::Reader::TYPE_ELEMENT, parser.node_type)
|
@@ -171,22 +171,11 @@ class TestReader < Minitest::Test
|
|
171
171
|
|
172
172
|
# Read a node
|
173
173
|
node = reader.expand
|
174
|
+
refute_nil(node.doc)
|
174
175
|
assert_equal('feed', node.name)
|
175
176
|
assert_equal(::Encoding::UTF_8, node.name.encoding) if defined?(::Encoding)
|
176
177
|
end
|
177
178
|
|
178
|
-
def test_expand_doc
|
179
|
-
reader = XML::Reader.file(XML_FILE)
|
180
|
-
reader.read.to_s
|
181
|
-
reader.read
|
182
|
-
|
183
|
-
# Read a node
|
184
|
-
node = reader.expand
|
185
|
-
|
186
|
-
# Try to access the document
|
187
|
-
refute_nil(node.doc)
|
188
|
-
end
|
189
|
-
|
190
179
|
def test_expand_find
|
191
180
|
reader = XML::Reader.file(XML_FILE)
|
192
181
|
reader.read.to_s
|
@@ -231,6 +220,27 @@ class TestReader < Minitest::Test
|
|
231
220
|
assert_equal('feed', node.name)
|
232
221
|
end
|
233
222
|
|
223
|
+
def test_expand_incorrectly_use_returned_node
|
224
|
+
file = File.join(File.dirname(__FILE__), 'model/cwm_1_0.xml')
|
225
|
+
reader = XML::Reader.file(file)
|
226
|
+
|
227
|
+
nodes = Array.new
|
228
|
+
while reader.read
|
229
|
+
node = reader.expand
|
230
|
+
refute_nil(node)
|
231
|
+
refute_nil(node.doc)
|
232
|
+
|
233
|
+
# NOTE - DO NOT do this in real code, these nodes are invalid after the next read. This *will* cause
|
234
|
+
# a segmentation fault next time the garbage collector runs. The reason is the parent node will be
|
235
|
+
# called in the mark phase, but its underlying xml node will be gone. Same goes for calling children,
|
236
|
+
# attributes, etc. You must let go of the expanded node *before* calling xml reader again and
|
237
|
+
# call the garbage collector to be safe.
|
238
|
+
#refute_nil(node.parent)
|
239
|
+
nodes << node
|
240
|
+
end
|
241
|
+
assert(true)
|
242
|
+
end
|
243
|
+
|
234
244
|
def test_mode
|
235
245
|
reader = XML::Reader.string('<xml/>')
|
236
246
|
assert_equal(XML::Reader::MODE_INITIAL, reader.read_state)
|
@@ -241,7 +251,7 @@ class TestReader < Minitest::Test
|
|
241
251
|
def test_bytes_consumed
|
242
252
|
reader = XML::Reader.file(XML_FILE)
|
243
253
|
reader.read
|
244
|
-
assert_equal(
|
254
|
+
assert_equal(416, reader.byte_consumed)
|
245
255
|
end
|
246
256
|
|
247
257
|
def test_node
|
@@ -329,7 +339,7 @@ class TestReader < Minitest::Test
|
|
329
339
|
|
330
340
|
reader = XML::Reader.string(xml)
|
331
341
|
error = assert_raises(XML::Error) do
|
332
|
-
|
342
|
+
reader.read
|
333
343
|
end
|
334
344
|
|
335
345
|
assert_equal("Fatal error: Input is not proper UTF-8, indicate encoding !\nBytes: 0xF6 0x74 0x6C 0x65 at :2.",
|
@@ -355,4 +365,4 @@ class TestReader < Minitest::Test
|
|
355
365
|
# Encoding is always null for strings, very annoying!
|
356
366
|
assert_equal(reader.encoding, XML::Encoding::NONE)
|
357
367
|
end
|
358
|
-
end
|
368
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
5
|
|
6
6
|
class TestRelaxNG < Minitest::Test
|
@@ -15,7 +15,7 @@ class TestRelaxNG < Minitest::Test
|
|
15
15
|
|
16
16
|
def relaxng
|
17
17
|
document = XML::Document.file(File.join(File.dirname(__FILE__), 'model/shiporder.rng'))
|
18
|
-
|
18
|
+
XML::RelaxNG.document(document)
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_from_doc
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
require 'stringio'
|
5
5
|
|
6
6
|
class DocTypeCallback
|
@@ -243,7 +243,7 @@ EOS
|
|
243
243
|
parser.callbacks = TestCaseCallbacks.new
|
244
244
|
|
245
245
|
error = assert_raises(XML::Error) do
|
246
|
-
|
246
|
+
parser.parse
|
247
247
|
end
|
248
248
|
|
249
249
|
# Check callbacks
|
@@ -314,6 +314,6 @@ EOS
|
|
314
314
|
assert_equal("Fatal error: xmlParseEntityRef: no name at :5.", error.to_s)
|
315
315
|
|
316
316
|
# Check callbacks
|
317
|
-
|
317
|
+
parser.callbacks.result
|
318
318
|
end
|
319
319
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require File.expand_path('../test_helper', __FILE__)
|
4
4
|
|
5
5
|
class TestSchema < Minitest::Test
|
6
6
|
def setup
|
@@ -90,7 +90,6 @@ class TestSchema < Minitest::Test
|
|
90
90
|
|
91
91
|
|
92
92
|
# Schema meta-data tests
|
93
|
-
|
94
93
|
def test_elements
|
95
94
|
assert_instance_of(Hash, schema.elements)
|
96
95
|
assert_equal(1, schema.elements.length)
|
@@ -103,11 +102,22 @@ class TestSchema < Minitest::Test
|
|
103
102
|
assert_instance_of(XML::Schema::Type, schema.types['shiporder'])
|
104
103
|
end
|
105
104
|
|
105
|
+
def test_imported_types
|
106
|
+
assert_instance_of(Hash, schema.imported_types)
|
107
|
+
assert_equal(1, schema.imported_types.length)
|
108
|
+
assert_instance_of(XML::Schema::Type, schema.types['shiporder'])
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_namespaces
|
112
|
+
assert_instance_of(Array, schema.namespaces)
|
113
|
+
assert_equal(1, schema.namespaces.length)
|
114
|
+
end
|
115
|
+
|
106
116
|
def test_schema_type
|
107
117
|
type = schema.types['shiporder']
|
108
118
|
|
109
119
|
assert_equal('shiporder', type.name)
|
110
|
-
|
120
|
+
assert_nil(type.namespace)
|
111
121
|
assert_equal("Shiporder type documentation", type.annotation)
|
112
122
|
assert_instance_of(XML::Node, type.node)
|
113
123
|
assert_equal(XML::Schema::Types::XML_SCHEMA_TYPE_COMPLEX, type.kind)
|
@@ -123,17 +133,14 @@ class TestSchema < Minitest::Test
|
|
123
133
|
element = schema.types['shiporder'].elements['orderperson']
|
124
134
|
|
125
135
|
assert_equal('orderperson', element.name)
|
126
|
-
|
136
|
+
assert_nil(element.namespace)
|
127
137
|
assert_equal("orderperson element documentation", element.annotation)
|
128
|
-
assert_equal(1, element.min_occurs)
|
129
|
-
assert_equal(1, element.max_occurs)
|
130
|
-
|
131
138
|
|
132
139
|
element = schema.types['shiporder'].elements['item']
|
133
|
-
assert_equal(
|
140
|
+
assert_equal('item', element.name)
|
134
141
|
|
135
142
|
element = schema.types['shiporder'].elements['item'].type.elements['note']
|
136
|
-
assert_equal(
|
143
|
+
assert_equal('note', element.name)
|
137
144
|
assert_equal('string', element.type.name)
|
138
145
|
end
|
139
146
|
|
@@ -149,7 +156,7 @@ class TestSchema < Minitest::Test
|
|
149
156
|
attribute = schema.types['shiporder'].attributes.first
|
150
157
|
|
151
158
|
assert_equal("orderid", attribute.name)
|
152
|
-
|
159
|
+
assert_nil(attribute.namespace)
|
153
160
|
assert_equal(1, attribute.occurs)
|
154
161
|
assert_equal('string', attribute.type.name)
|
155
162
|
|
@@ -158,4 +165,4 @@ class TestSchema < Minitest::Test
|
|
158
165
|
assert_equal('1', attribute.default)
|
159
166
|
assert_equal('integer', attribute.type.name)
|
160
167
|
end
|
161
|
-
end
|
168
|
+
end
|