roxml 2.5.3 → 3.1.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.
Files changed (76) hide show
  1. data/.gitignore +7 -0
  2. data/.gitmodules +3 -0
  3. data/History.txt +38 -1
  4. data/README.rdoc +8 -5
  5. data/Rakefile +35 -36
  6. data/TODO +12 -35
  7. data/VERSION +1 -0
  8. data/examples/amazon.rb +8 -6
  9. data/examples/posts.rb +1 -1
  10. data/examples/{active_record.rb → rails.rb} +2 -2
  11. data/examples/twitter.rb +1 -1
  12. data/lib/roxml.rb +86 -151
  13. data/lib/roxml/definition.rb +64 -152
  14. data/lib/roxml/hash_definition.rb +5 -40
  15. data/lib/roxml/xml.rb +12 -9
  16. data/lib/roxml/xml/parsers/libxml.rb +22 -17
  17. data/lib/roxml/xml/parsers/nokogiri.rb +77 -0
  18. data/lib/roxml/xml/references.rb +66 -57
  19. data/roxml.gemspec +170 -19
  20. data/spec/definition_spec.rb +121 -198
  21. data/spec/examples/active_record_spec.rb +2 -2
  22. data/spec/examples/amazon_spec.rb +3 -2
  23. data/spec/examples/current_weather_spec.rb +2 -2
  24. data/spec/examples/dashed_elements_spec.rb +2 -2
  25. data/spec/examples/library_spec.rb +11 -6
  26. data/spec/examples/post_spec.rb +3 -3
  27. data/spec/examples/twitter_spec.rb +2 -2
  28. data/spec/roxml_spec.rb +15 -15
  29. data/spec/shared_specs.rb +1 -1
  30. data/spec/spec_helper.rb +8 -27
  31. data/spec/support/libxml.rb +3 -0
  32. data/spec/support/nokogiri.rb +3 -0
  33. data/spec/xml/attributes_spec.rb +36 -0
  34. data/spec/xml/namespace_spec.rb +240 -0
  35. data/spec/xml/namespaces_spec.rb +32 -0
  36. data/spec/xml/parser_spec.rb +9 -30
  37. data/tasks/rdoc.rake +13 -0
  38. data/tasks/rspec.rake +21 -17
  39. data/tasks/test.rake +13 -20
  40. data/test/mocks/dictionaries.rb +8 -7
  41. data/test/mocks/mocks.rb +20 -20
  42. data/test/support/fixtures.rb +11 -0
  43. data/test/test_helper.rb +3 -14
  44. data/test/unit/definition_test.rb +21 -95
  45. data/test/unit/deprecations_test.rb +1 -74
  46. data/test/unit/to_xml_test.rb +3 -3
  47. data/test/unit/xml_attribute_test.rb +1 -1
  48. data/test/unit/xml_block_test.rb +3 -3
  49. data/test/unit/xml_bool_test.rb +4 -4
  50. data/test/unit/xml_convention_test.rb +3 -3
  51. data/test/unit/xml_hash_test.rb +5 -14
  52. data/test/unit/xml_initialize_test.rb +2 -6
  53. data/test/unit/xml_name_test.rb +5 -24
  54. data/test/unit/xml_namespace_test.rb +1 -46
  55. data/test/unit/xml_object_test.rb +6 -6
  56. data/test/unit/xml_required_test.rb +3 -2
  57. data/test/unit/xml_text_test.rb +2 -2
  58. data/website/index.html +1 -1
  59. metadata +68 -51
  60. data/Manifest.txt +0 -106
  61. data/lib/roxml/extensions.rb +0 -6
  62. data/lib/roxml/extensions/array.rb +0 -13
  63. data/lib/roxml/extensions/array/conversions.rb +0 -35
  64. data/lib/roxml/extensions/deprecation.rb +0 -33
  65. data/lib/roxml/extensions/string.rb +0 -21
  66. data/lib/roxml/extensions/string/conversions.rb +0 -43
  67. data/lib/roxml/extensions/string/iterators.rb +0 -12
  68. data/lib/roxml/xml/parsers/rexml.rb +0 -84
  69. data/spec/string_spec.rb +0 -15
  70. data/test/bugs/rexml_bugs.rb +0 -15
  71. data/test/release/dependencies_test.rb +0 -32
  72. data/test/unit/xml_construct_test.rb +0 -77
  73. data/vendor/override_rake_task/README +0 -30
  74. data/vendor/override_rake_task/init.rb +0 -1
  75. data/vendor/override_rake_task/install.rb +0 -46
  76. data/vendor/override_rake_task/lib/override_rake_task.rb +0 -16
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  class TestDefinition < ActiveSupport::TestCase
4
4
  def assert_hash(opts, kvp)
@@ -8,36 +8,18 @@ class TestDefinition < ActiveSupport::TestCase
8
8
  opts.hash.value.type => opts.hash.value.name}
9
9
  end
10
10
 
11
- def test_text_in_array_means_as_array_for_text
12
- opts = ROXML::Definition.new(:authors, [:text])
13
- assert opts.array?
14
- assert_equal :text, opts.type
15
- end
16
-
17
11
  def test_empty_array_means_as_array_for_text
18
- opts = ROXML::Definition.new(:authors, [])
12
+ opts = ROXML::Definition.new(:authors, :as => [])
19
13
  assert opts.array?
20
14
  assert_equal :text, opts.type
21
15
  end
22
16
 
23
17
  def test_attr_in_array_means_as_array_for_attr
24
- opts = ROXML::Definition.new(:authors, [:attr])
18
+ opts = ROXML::Definition.new(:authors, :as => [], :from => :attr)
25
19
  assert opts.array?
26
20
  assert_equal :attr, opts.type
27
21
  end
28
22
 
29
- def test_object_in_array_means_as_array_for_object
30
- opts = ROXML::Definition.new(:authors, [Hash])
31
- assert opts.array?
32
- assert_equal Hash, opts.type
33
- end
34
-
35
- def test_literal_as_array_is_deprecated
36
- assert_deprecated do
37
- assert ROXML::Definition.new(:authors, :as => :array).array?
38
- end
39
- end
40
-
41
23
  def test_block_shorthand_in_array_means_array
42
24
  opts = ROXML::Definition.new(:intarray, :as => [Integer])
43
25
  assert opts.array?
@@ -61,30 +43,30 @@ class TestDefinition < ActiveSupport::TestCase
61
43
  end
62
44
 
63
45
  def test_hash_of_attrs
64
- opts = ROXML::Definition.new(:attributes, {:attrs => [:name, :value]})
46
+ opts = ROXML::Definition.new(:attributes, :as => {:key => '@name', :value => '@value'})
65
47
  assert_hash(opts, :attr => 'name', :attr => 'value')
66
48
  end
67
49
 
68
50
  def test_hash_with_attr_key_and_text_val
69
- opts = ROXML::Definition.new(:attributes, {:key => {:attr => :name},
51
+ opts = ROXML::Definition.new(:attributes, :as => {:key => '@name',
70
52
  :value => :value})
71
53
  assert_hash(opts, :attr => 'name', :text => 'value')
72
54
  end
73
55
 
74
56
  def test_hash_with_string_class_for_type
75
- opts = ROXML::Definition.new(:attributes, {:key => {String => 'name'},
76
- :value => {String => 'value'}})
57
+ opts = ROXML::Definition.new(:attributes, :as => {:key => 'name',
58
+ :value => 'value'})
77
59
  assert_hash(opts, :text => 'name', :text => 'value')
78
60
  end
79
61
 
80
62
  def test_hash_with_attr_key_and_content_val
81
- opts = ROXML::Definition.new(:attributes, {:key => {:attr => :name},
63
+ opts = ROXML::Definition.new(:attributes, :as => {:key => '@name',
82
64
  :value => :content})
83
65
  assert_hash(opts, :attr => 'name', :text => '.')
84
66
  end
85
67
 
86
68
  def test_hash_with_options
87
- opts = ROXML::Definition.new(:definitions, {:attrs => [:dt, :dd]},
69
+ opts = ROXML::Definition.new(:definitions, :as => {:key => '@dt', :value => '@dd'},
88
70
  :in => :definitions, :from => 'definition')
89
71
  assert_hash(opts, :attr => 'dt', :attr => 'dd')
90
72
  assert_equal 'definition', opts.hash.wrapper
@@ -92,12 +74,6 @@ class TestDefinition < ActiveSupport::TestCase
92
74
 
93
75
  def test_no_block_shorthand_means_no_block
94
76
  assert ROXML::Definition.new(:count).blocks.empty?
95
- assert_deprecated do
96
- assert ROXML::Definition.new(:count, :as => :intager).blocks.empty?
97
- end
98
- assert_deprecated do
99
- assert ROXML::Definition.new(:count, :as => :foat).blocks.empty?
100
- end
101
77
  end
102
78
 
103
79
  def test_block_integer_shorthand
@@ -133,15 +109,6 @@ class TestDefinition < ActiveSupport::TestCase
133
109
  assert_equal 2, ROXML::Definition.new(:count, :as => Float) {|val| val.object_id }.blocks.size
134
110
  end
135
111
 
136
- def test_symbol_shorthands_are_deprecated
137
- assert_deprecated do
138
- ROXML::Definition.new(:junk, :as => :integer)
139
- end
140
- assert_deprecated do
141
- ROXML::Definition.new(:junk, :as => :float)
142
- end
143
- end
144
-
145
112
  def test_block_shorthand_supports_bool
146
113
  assert_equal true, ROXML::Definition.new(:floatvalue, :as => :bool).blocks.first.call("1")
147
114
  assert_equal [true, false, nil], ROXML::Definition.new(:floatvalue, :as => :bool).blocks.first.call(["TrUe", "0", "328"])
@@ -196,27 +163,12 @@ class TestDefinition < ActiveSupport::TestCase
196
163
  assert ROXML::Definition.new(:manufacturer, :cdata => true).cdata?
197
164
  end
198
165
 
199
- def test_as_cdata_is_deprecated
200
- assert_deprecated do
201
- assert ROXML::Definition.new(:manufacturer, :as => :cdata).cdata?
202
- end
203
- assert_deprecated do
204
- assert ROXML::Definition.new(:manufacturer, :as => [Integer, :cdata]).cdata?
205
- end
206
- end
207
-
208
166
  def test_as_supports_generic_roxml_types
209
167
  assert_equal RoxmlObject, ROXML::Definition.new(:type, :as => RoxmlObject).type
210
- assert_deprecated do
211
- assert_equal RoxmlObject, ROXML::Definition.new(:type, RoxmlObject).type
212
- end
213
168
  end
214
169
 
215
170
  def test_as_supports_generic_roxml_types_in_arrays
216
171
  assert_equal RoxmlObject, ROXML::Definition.new(:types, :as => [RoxmlObject]).type
217
- assert_deprecated do
218
- assert_equal RoxmlObject, ROXML::Definition.new(:types, [RoxmlObject]).type
219
- end
220
172
  end
221
173
 
222
174
  def test_default_works
@@ -227,14 +179,6 @@ class TestDefinition < ActiveSupport::TestCase
227
179
  def test_default_works_for_arrays
228
180
  opts = ROXML::Definition.new(:missing, :as => [])
229
181
  assert_equal [], opts.to_ref(RoxmlObject.new).value_in(ROXML::XML::Parser.parse('<xml></xml>'))
230
- assert_deprecated do
231
- opts = ROXML::Definition.new(:missing, [])
232
- assert_equal [], opts.to_ref(RoxmlObject.new).value_in(ROXML::XML::Parser.parse('<xml></xml>'))
233
- end
234
- assert_deprecated do
235
- opts = ROXML::Definition.new(:missing, :as => :array)
236
- assert_equal [], opts.to_ref(RoxmlObject.new).value_in(ROXML::XML::Parser.parse('<xml></xml>'))
237
- end
238
182
  end
239
183
 
240
184
  def test_default_works_for_recursive_objects
@@ -248,20 +192,16 @@ class TestDefinition < ActiveSupport::TestCase
248
192
  end
249
193
 
250
194
  def test_content_is_a_recognized_type
251
- assert_deprecated do
252
- opts = ROXML::Definition.new(:author, :content)
253
- assert opts.content?
254
- assert_equal '.', opts.name
255
- assert_equal :text, opts.type
256
- end
195
+ opts = ROXML::Definition.new(:author, :from => :content)
196
+ assert opts.content?
197
+ assert_equal '.', opts.name
198
+ assert_equal :text, opts.type
257
199
  end
258
200
 
259
201
  def test_content_symbol_as_target_is_translated_to_string
260
- assert_deprecated do
261
- opts = ROXML::Definition.new(:content, :attr => :content)
262
- assert_equal 'content', opts.name
263
- assert_equal :attr, opts.type
264
- end
202
+ opts = ROXML::Definition.new(:content, :from => :attr)
203
+ assert_equal 'content', opts.name
204
+ assert_equal :attr, opts.type
265
205
  end
266
206
 
267
207
  def test_attr_is_accepted_as_from
@@ -270,30 +210,16 @@ class TestDefinition < ActiveSupport::TestCase
270
210
  end
271
211
 
272
212
  def test_attr_is_a_recognized_type
273
- assert_deprecated do
274
- opts = ROXML::Definition.new(:author, :attr)
275
- assert_equal 'author', opts.name
276
- assert_equal :attr, opts.type
277
- end
278
- end
279
-
280
- def test_name_ending_with_on_warns_of_coming_date_default
281
- assert_deprecated do
282
- assert_equal :text, ROXML::Definition.new(:created_at).type
283
- end
284
- end
285
-
286
- def test_name_ending_with_at_warns_of_coming_datetime_default
287
- assert_deprecated do
288
- assert_equal :text, ROXML::Definition.new(:created_on).type
289
- end
213
+ opts = ROXML::Definition.new(:author, :from => :attr)
214
+ assert_equal 'author', opts.name
215
+ assert_equal :attr, opts.type
290
216
  end
291
217
  end
292
218
 
293
219
  class RecursiveObject
294
220
  include ROXML
295
221
 
296
- xml_reader :next, RecursiveObject, :else => true
222
+ xml_reader :next, :as => RecursiveObject, :else => true
297
223
  end
298
224
 
299
225
  class RoxmlObject
@@ -302,7 +228,7 @@ end
302
228
 
303
229
  class HashDefinitionTest < ActiveSupport::TestCase
304
230
  def test_content_detected_as_from
305
- opts = ROXML::Definition.new(:hash, {:key => :content, :value => :name})
231
+ opts = ROXML::Definition.new(:hash, :as => {:key => :content, :value => :name})
306
232
  assert_equal '.', opts.hash.key.name
307
233
  assert_equal :text, opts.hash.key.type
308
234
  end
@@ -1,72 +1,6 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  class TestDeprecation < ActiveSupport::TestCase
4
- def test_tag_refs_is_deprecated
5
- assert_deprecated do
6
- Class.new do
7
- include ROXML
8
- end.tag_refs
9
- end
10
- end
11
-
12
- def test_literal_as_array_is_deprecated
13
- assert_deprecated do
14
- assert ROXML::Definition.new(:authors, :as => :array).array?
15
- end
16
- end
17
-
18
- def test_no_block_shorthand_means_no_block
19
- assert_deprecated do
20
- assert ROXML::Definition.new(:count, :as => :intager).blocks.empty?
21
- end
22
- assert_deprecated do
23
- assert ROXML::Definition.new(:count, :as => :foat).blocks.empty?
24
- end
25
- end
26
-
27
- def test_symbol_shorthands_are_deprecated
28
- assert_deprecated do
29
- ROXML::Definition.new(:junk, :as => :integer)
30
- end
31
- assert_deprecated do
32
- ROXML::Definition.new(:junk, :as => :float)
33
- end
34
- end
35
-
36
- def test_as_cdata_is_deprecated
37
- assert_deprecated do
38
- assert ROXML::Definition.new(:manufacturer, :as => :cdata).cdata?
39
- end
40
- assert_deprecated do
41
- assert ROXML::Definition.new(:manufacturer, :as => [Integer, :cdata]).cdata?
42
- end
43
- end
44
-
45
- def test_content_is_a_recognized_type
46
- assert_deprecated do
47
- opts = ROXML::Definition.new(:author, :content)
48
- assert opts.content?
49
- assert_equal '.', opts.name
50
- assert_equal :text, opts.type
51
- end
52
- end
53
-
54
- def test_content_symbol_as_target_is_translated_to_string
55
- assert_deprecated do
56
- opts = ROXML::Definition.new(:content, :attr => :content)
57
- assert_equal 'content', opts.name
58
- assert_equal :attr, opts.type
59
- end
60
- end
61
-
62
- def test_attr_is_a_recognized_type
63
- assert_deprecated do
64
- opts = ROXML::Definition.new(:author, :attr)
65
- assert_equal 'author', opts.name
66
- assert_equal :attr, opts.type
67
- end
68
- end
69
-
70
4
  def test_as_array_not_deprecated
71
5
  assert_not_deprecated do
72
6
  opts = ROXML::Definition.new(:name, :as => [])
@@ -75,13 +9,6 @@ class TestDeprecation < ActiveSupport::TestCase
75
9
  end
76
10
  end
77
11
 
78
- def test_as_hash_of_attrs_deprecated
79
- assert_deprecated do
80
- opts = ROXML::Definition.new(:name, :as => {:attrs => [:dt, :dd]})
81
- assert opts.hash?
82
- end
83
- end
84
-
85
12
  def test_as_hash_not_deprecated
86
13
  assert_not_deprecated do
87
14
  opts = ROXML::Definition.new(:name, :as => {:key => '@dt', :value => '@dd'})
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  class TestHashToXml < ActiveSupport::TestCase
4
4
  to_xml_test :dictionary_of_attrs,
@@ -33,7 +33,7 @@ class TestToXmlWithDefaults < ActiveSupport::TestCase
33
33
  dict = Person.from_xml(fixture(:nameless_ageless_youth))
34
34
 
35
35
  xml = '<person age="21">Unknown</person>'
36
- assert_equal ROXML::XML::Parser.parse(xml).root, dict.to_xml
36
+ assert_equal ROXML::XML::Parser.parse(xml).root.to_s, dict.to_xml.to_s
37
37
  end
38
38
  end
39
39
 
@@ -73,7 +73,7 @@ class BookWithOctalPages
73
73
  include ROXML
74
74
 
75
75
  xml_accessor :pages_with_to_xml_proc, :as => Integer, :to_xml => proc {|val| sprintf("%#o", val) }, :required => true
76
- xml_accessor :pages_with_type, OctalInteger, :required => true
76
+ xml_accessor :pages_with_type, :as => OctalInteger, :required => true
77
77
  end
78
78
 
79
79
  class TestToXmlWithOverriddenOutput < ActiveSupport::TestCase
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  class TestXMLAttribute < ActiveSupport::TestCase
4
4
  def test_attr_from
@@ -1,15 +1,15 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  class ArrayWithBlockShorthand
4
4
  include ROXML
5
5
 
6
- xml_reader :array, [:text], :from => 'number', :as => Integer
6
+ xml_reader :array, :as => [Integer], :from => 'number'
7
7
  end
8
8
 
9
9
  class ArrayWithBlock
10
10
  include ROXML
11
11
 
12
- xml_reader :array, [:text], :from => 'number' do |arr|
12
+ xml_reader :array, :as => [], :from => 'number' do |arr|
13
13
  arr.map(&:to_i).reverse
14
14
  end
15
15
  end
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  PROC_TRUE = proc {|val| val ? 'TRUE' : 'FALSE'}
4
4
  PROC_True = proc {|val| val ? 'True' : 'False'}
@@ -10,11 +10,11 @@ class XmlBool
10
10
 
11
11
  xml_name 'xml_bool'
12
12
  xml_reader :true_from_TRUE?, :to_xml => PROC_TRUE
13
- xml_reader :false_from_FALSE?, :text => 'text_for_FALSE', :to_xml => PROC_TRUE
13
+ xml_reader :false_from_FALSE?, :from => 'text_for_FALSE', :to_xml => PROC_TRUE
14
14
  xml_reader :true_from_one?, :from => '@attr_for_one', :to_xml => PROC_1
15
- xml_reader :false_from_zero?, :text => 'text_for_zero', :in => 'container', :to_xml => PROC_1
15
+ xml_reader :false_from_zero?, :from => 'text_for_zero', :in => 'container', :to_xml => PROC_1
16
16
  xml_reader :true_from_True?, :from => '@attr_for_True', :in => 'container', :to_xml => PROC_True
17
- xml_reader :false_from_False?, :text => 'false_from_cdata_False', :cdata => true, :to_xml => PROC_True
17
+ xml_reader :false_from_False?, :from => 'false_from_cdata_False', :cdata => true, :to_xml => PROC_True
18
18
  xml_reader :true_from_true?, :to_xml => PROC_true
19
19
  xml_reader :false_from_false?, :to_xml => PROC_true
20
20
  xml_reader :missing?
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  XML_CAMELLOWER = %{
4
4
  <bookCase name="Jonas' Books">
@@ -54,7 +54,7 @@ class BookCase
54
54
  include ROXML
55
55
 
56
56
  xml_reader :book_count, :as => Integer, :required => true
57
- xml_reader :big_books, [:text], :required => true
57
+ xml_reader :big_books, :as => [], :required => true
58
58
  end
59
59
 
60
60
  class BookCaseCamelCase < BookCase
@@ -88,7 +88,7 @@ class ParentBookCaseDefault
88
88
  include ROXML
89
89
 
90
90
  xml_reader :book_count, :as => Integer, :required => true
91
- xml_reader :big_books, [:text], :required => true
91
+ xml_reader :big_books, :as => [], :required => true
92
92
  end
93
93
 
94
94
  class InheritedBookCaseDefault < ParentBookCaseDefault
@@ -1,9 +1,9 @@
1
- require File.join(File.dirname(__FILE__), '..', 'test_helper')
1
+ require 'test/test_helper'
2
2
 
3
3
  class BookWithContributorHash
4
4
  include ROXML
5
5
 
6
- xml_reader :contributors, {:key => {:attr => 'role'},
6
+ xml_reader :contributors, :as => {:key => '@role',
7
7
  :value => 'name'}
8
8
  end
9
9
 
@@ -30,7 +30,7 @@ class TestXMLHash < ActiveSupport::TestCase
30
30
  Class.new do
31
31
  include ROXML
32
32
 
33
- xml_reader :object_key_to_text, {:key => BookWithContributorHash,
33
+ xml_reader :object_key_to_text, :as => {:key => BookWithContributorHash,
34
34
  :value => 'text_node'}
35
35
  end
36
36
  end
@@ -41,7 +41,7 @@ class TestXMLHash < ActiveSupport::TestCase
41
41
  Class.new do
42
42
  include ROXML
43
43
 
44
- xml_reader :key_to_object_value, {:key => {:attr => 'text_node'},
44
+ xml_reader :key_to_object_value, :as => {:key => '@text_node',
45
45
  :value => BookWithContributorHash}
46
46
  end
47
47
  end
@@ -93,7 +93,7 @@ class TestXMLHash < ActiveSupport::TestCase
93
93
  dict = Class.new do
94
94
  include ROXML
95
95
 
96
- xml_reader :missing_hash, {:key => :name, :value => :content}, :in => 'EmptyDictionary'
96
+ xml_reader :missing_hash, :as => {:key => :name, :value => :content}, :in => 'EmptyDictionary'
97
97
  end
98
98
 
99
99
  assert_equal({}, dict.from_xml(%{
@@ -104,15 +104,6 @@ class TestXMLHash < ActiveSupport::TestCase
104
104
  }).missing_hash)
105
105
  end
106
106
 
107
- def test_as_hash_of_type_keys_deprecated
108
- assert_deprecated do
109
- opts = ROXML::Definition.new(:name, :as => {:key => :name, :value => {OctalInteger => 'value'}})
110
- assert opts.hash?
111
- assert_equal OctalInteger, opts.hash.value.type
112
- assert_equal 'value', opts.hash.value.name
113
- end
114
- end
115
-
116
107
  def test_as_hash_of_as_type_not_deprecated
117
108
  assert_not_deprecated do
118
109
  opts = ROXML::Definition.new(:name, :as => {:key => :name, :value => {:from => 'value', :as => OctalInteger}})