Empact-roxml 2.5.1 → 2.5.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.
Files changed (42) hide show
  1. data/History.txt +25 -0
  2. data/Manifest.txt +0 -4
  3. data/README.rdoc +12 -2
  4. data/examples/posts.rb +1 -1
  5. data/examples/twitter.rb +1 -1
  6. data/lib/roxml.rb +59 -149
  7. data/lib/roxml/definition.rb +60 -150
  8. data/lib/roxml/extensions.rb +4 -1
  9. data/lib/roxml/extensions/array/conversions.rb +0 -23
  10. data/lib/roxml/extensions/deprecation.rb +1 -1
  11. data/lib/roxml/extensions/string.rb +0 -15
  12. data/lib/roxml/extensions/string/conversions.rb +0 -38
  13. data/lib/roxml/hash_definition.rb +5 -40
  14. data/lib/roxml/xml/references.rb +20 -8
  15. data/roxml.gemspec +4 -4
  16. data/spec/definition_spec.rb +120 -193
  17. data/spec/examples/library_spec.rb +8 -3
  18. data/spec/examples/post_spec.rb +1 -1
  19. data/spec/roxml_spec.rb +14 -14
  20. data/test/bugs/rexml_bugs.rb +1 -1
  21. data/test/mocks/dictionaries.rb +8 -7
  22. data/test/mocks/mocks.rb +19 -19
  23. data/test/test_helper.rb +1 -0
  24. data/test/unit/definition_test.rb +22 -96
  25. data/test/unit/deprecations_test.rb +1 -74
  26. data/test/unit/to_xml_test.rb +6 -6
  27. data/test/unit/xml_attribute_test.rb +1 -1
  28. data/test/unit/xml_block_test.rb +3 -3
  29. data/test/unit/xml_bool_test.rb +4 -4
  30. data/test/unit/xml_convention_test.rb +3 -3
  31. data/test/unit/xml_hash_test.rb +5 -14
  32. data/test/unit/xml_initialize_test.rb +2 -6
  33. data/test/unit/xml_name_test.rb +5 -24
  34. data/test/unit/xml_namespace_test.rb +2 -2
  35. data/test/unit/xml_object_test.rb +5 -5
  36. data/test/unit/xml_required_test.rb +1 -1
  37. data/test/unit/xml_text_test.rb +2 -2
  38. metadata +12 -17
  39. data/lib/roxml/extensions/active_support.rb +0 -54
  40. data/spec/string_spec.rb +0 -15
  41. data/test/release/dependencies_test.rb +0 -32
  42. data/test/unit/xml_construct_test.rb +0 -77
@@ -22,13 +22,18 @@ describe Library do
22
22
 
23
23
  context "when written to a file" do
24
24
  before :all do
25
+ @path = "spec/examples/library.xml"
25
26
  @doc = ROXML::XML::Document.new
26
27
  @doc.root = @lib.to_xml
27
- @doc.save("spec/examples/library.xml")
28
+ @doc.save(@path)
28
29
  end
29
30
 
30
- it "should be contain the expected xml" do
31
- ROXML::XML::Parser.parse(File.read("spec/examples/library.xml")).to_s.should == ROXML::XML::Parser.parse(%{<?xml version="1.0"?><library><NAME><![CDATA[Favorite Books]]></NAME><novel ISBN='0201710897'><title>The PickAxe</title><description><![CDATA[Best Ruby book out there!]]></description><author>David Thomas, Andrew Hunt, Dave Thomas</author><publisher><name>Addison Wesley Longman, Inc.</name></publisher></novel></library>}).to_s
31
+ after :all do
32
+ FileUtils.rm @path
33
+ end
34
+
35
+ it "should be contain the expected xml" do
36
+ ROXML::XML::Parser.parse(File.read(@path)).to_s.should == ROXML::XML::Parser.parse(%{<?xml version="1.0"?><library><NAME><![CDATA[Favorite Books]]></NAME><novel ISBN='0201710897'><title>The PickAxe</title><description><![CDATA[Best Ruby book out there!]]></description><author>David Thomas, Andrew Hunt, Dave Thomas</author><publisher><name>Addison Wesley Longman, Inc.</name></publisher></novel></library>}).to_s
32
37
  end
33
38
 
34
39
  it "should be re-parsable via .from_xml" do
@@ -19,6 +19,6 @@ describe Post do
19
19
  end
20
20
 
21
21
  it "should extract time" do
22
- @posts.each {|post| post.time.should be_an_instance_of(DateTime) }
22
+ @posts.each {|post| post.created_at.should be_an_instance_of(DateTime) }
23
23
  end
24
24
  end
data/spec/roxml_spec.rb CHANGED
@@ -53,8 +53,8 @@ describe ROXML, "#xml" do
53
53
  xml_name :book
54
54
  xml_reader :isbn, :from => :attr
55
55
  xml_reader :title
56
- xml_reader :description, DescriptionReadonly
57
- xml_reader :contributions, [Contributor], :from => 'contributor', :in => "contributions"
56
+ xml_reader :description, :as => DescriptionReadonly
57
+ xml_reader :contributions, :as => [Contributor], :from => 'contributor', :in => "contributions"
58
58
  end
59
59
 
60
60
  class BookWithContributionsReadonly
@@ -63,8 +63,8 @@ describe ROXML, "#xml" do
63
63
  xml_name :book
64
64
  xml_reader :isbn, :from => :attr, :frozen => true
65
65
  xml_reader :title, :frozen => true
66
- xml_reader :description, DescriptionReadonly, :frozen => true
67
- xml_reader :contributions, [Contributor], :from => 'contributor', :in => "contributions", :frozen => true
66
+ xml_reader :description, :as => DescriptionReadonly, :frozen => true
67
+ xml_reader :contributions, :as => [Contributor], :from => 'contributor', :in => "contributions", :frozen => true
68
68
  end
69
69
 
70
70
  before do
@@ -106,7 +106,7 @@ describe ROXML, "#xml" do
106
106
  include ROXML
107
107
 
108
108
  xml_accessor :pages_with_as, :as => Integer, :to_xml => proc {|val| sprintf("%#o", val) }, :required => true
109
- xml_accessor :pages_with_type, OctalInteger, :required => true
109
+ xml_accessor :pages_with_type, :as => OctalInteger, :required => true
110
110
  end
111
111
 
112
112
  # to_xml_test :book_with_octal_pages
@@ -148,7 +148,7 @@ describe ROXML, "#xml" do
148
148
  class BookWithOctalPagesType
149
149
  include ROXML
150
150
 
151
- xml_accessor :pages, OctalInteger, :required => true
151
+ xml_accessor :pages, :as => OctalInteger, :required => true
152
152
  end
153
153
 
154
154
  it "should apply filtering on input" do
@@ -216,7 +216,7 @@ describe ROXML, "#xml" do
216
216
  xml_reader :isbn, :from => :attr
217
217
  xml_reader :title
218
218
  xml_reader :description
219
- xml_reader :contributors, [Contributor]
219
+ xml_reader :contributors, :as => [Contributor]
220
220
  end
221
221
 
222
222
  it "should look for elements :in the plural of name" do
@@ -239,7 +239,7 @@ describe ROXML, "#xml" do
239
239
  include ROXML
240
240
 
241
241
  xml_name :dictionary
242
- xml_reader :definitions, {:key => :name,
242
+ xml_reader :definitions, :as => {:key => :name,
243
243
  :value => :content}, :in => :definitions
244
244
  end
245
245
 
@@ -247,7 +247,7 @@ describe ROXML, "#xml" do
247
247
  include ROXML
248
248
 
249
249
  xml_name :dictionary
250
- xml_reader :definitions, {:key => :name,
250
+ xml_reader :definitions, :as => {:key => :name,
251
251
  :value => :content}, :in => :definitions, :frozen => true
252
252
  end
253
253
 
@@ -274,11 +274,11 @@ describe ROXML, "inheritance" do
274
274
  class Book
275
275
  include ROXML
276
276
 
277
- xml_accessor :isbn, :attr => 'ISBN'
277
+ xml_accessor :isbn, :from => '@ISBN'
278
278
  xml_reader :title
279
- xml_reader :description, :as => :cdata
279
+ xml_reader :description, :cdata => true
280
280
  xml_reader :author
281
- xml_accessor :pages, :text => 'pagecount', :as => Integer
281
+ xml_accessor :pages, :from => 'pagecount', :as => Integer
282
282
  end
283
283
 
284
284
  class Measurement
@@ -315,7 +315,7 @@ describe ROXML, "inheritance" do
315
315
  end
316
316
 
317
317
  class InheritedBookWithDepth < Book
318
- xml_reader :depth, Measurement
318
+ xml_reader :depth, :as => Measurement
319
319
  end
320
320
 
321
321
  before do
@@ -362,7 +362,7 @@ describe ROXML, "inheritance" do
362
362
 
363
363
  it "should include parent's attributes added after declaration" do
364
364
  Book.class_eval do
365
- xml_reader :publisher, :require => true
365
+ xml_reader :publisher, :required => true
366
366
  end
367
367
 
368
368
  book = InheritedBookWithDepth.from_xml(@book_xml)
@@ -1,6 +1,6 @@
1
1
  require File.join(File.dirname(__FILE__), '..', 'test_helper')
2
2
 
3
- class RexmlBugs < Test::Unit::TestCase
3
+ class RexmlBugs < ActiveSupport::TestCase
4
4
  def test_that_some_illegal_chars_are_parsed_without_complaint
5
5
  p "REXML ignores illegal ']]>' brackets in xml content"
6
6
  assert_nothing_raised do
@@ -4,14 +4,15 @@ class DictionaryOfAttrs
4
4
  include ROXML
5
5
 
6
6
  xml_name :dictionary
7
- xml_reader :definitions, {:attrs => [:dt, :dd]}, :in => :definitions
7
+ xml_reader :definitions, :as => {:key => '@dt',
8
+ :value => '@dd'}, :in => :definitions
8
9
  end
9
10
 
10
11
  class DictionaryOfTexts
11
12
  include ROXML
12
13
 
13
14
  xml_name :dictionary
14
- xml_reader :definitions, {:key => :word,
15
+ xml_reader :definitions, :as => {:key => :word,
15
16
  :value => :meaning}
16
17
  end
17
18
 
@@ -19,7 +20,7 @@ class DictionaryOfMixeds
19
20
  include ROXML
20
21
 
21
22
  xml_name :dictionary
22
- xml_reader :definitions, {:key => {:attr => :word},
23
+ xml_reader :definitions, :as => {:key => '@word',
23
24
  :value => :content}
24
25
  end
25
26
 
@@ -27,7 +28,7 @@ class DictionaryOfNames
27
28
  include ROXML
28
29
 
29
30
  xml_name :dictionary
30
- xml_reader :definitions, {:key => :name,
31
+ xml_reader :definitions, :as => {:key => :name,
31
32
  :value => :content}
32
33
  end
33
34
 
@@ -35,7 +36,7 @@ class DictionaryOfGuardedNames
35
36
  include ROXML
36
37
 
37
38
  xml_name :dictionary
38
- xml_reader :definitions, {:key => :name,
39
+ xml_reader :definitions, :as => {:key => :name,
39
40
  :value => :content}, :in => :definitions
40
41
  end
41
42
 
@@ -43,7 +44,7 @@ class DictionaryOfNameClashes
43
44
  include ROXML
44
45
 
45
46
  xml_name :dictionary
46
- xml_reader :definitions, {:key => 'name',
47
+ xml_reader :definitions, :as => {:key => 'name',
47
48
  :value => 'content'}, :from => :definition
48
49
  end
49
50
 
@@ -51,6 +52,6 @@ class DictionaryOfAttrNameClashes
51
52
  include ROXML
52
53
 
53
54
  xml_name :dictionary
54
- xml_reader :definitions, {:key => {:attr => :name},
55
+ xml_reader :definitions, :as => {:key => '@name',
55
56
  :value => 'content'}, :from => :definition
56
57
  end
data/test/mocks/mocks.rb CHANGED
@@ -15,7 +15,7 @@ end
15
15
  class Numerology
16
16
  include ROXML
17
17
 
18
- xml_reader :predictions, {:attrs => ['number', 'meaning']} do |k, v|
18
+ xml_reader :predictions, :as => {:key => '@number', :value => '@meaning'} do |k, v|
19
19
  [Integer(k), v]
20
20
  end
21
21
  end
@@ -41,7 +41,7 @@ class Book
41
41
  xml_reader :title
42
42
  xml_reader :description, :cdata => true
43
43
  xml_reader :author
44
- xml_accessor :pages, :text => 'pagecount', :as => Integer
44
+ xml_accessor :pages, :from => 'pagecount', :as => Integer
45
45
  end
46
46
 
47
47
  class BookWithRequired
@@ -49,8 +49,8 @@ class BookWithRequired
49
49
 
50
50
  xml_accessor :isbn, :from => '@ISBN', :required => true
51
51
  xml_reader :title, :required => true
52
- xml_reader :contributors, [Contributor], :in => 'contributor_array', :required => true
53
- xml_reader :contributor_hash, {:attrs => ['role', 'name']},
52
+ xml_reader :contributors, :as => [Contributor], :in => 'contributor_array', :required => true
53
+ xml_reader :contributor_hash, :as => {:key => '@role', :value => '@name'},
54
54
  :from => 'contributor', :in => 'contributor_hash', :required => true
55
55
  end
56
56
 
@@ -107,7 +107,7 @@ class BookWithDepth
107
107
  xml_reader :title
108
108
  xml_reader :description, :cdata => true
109
109
  xml_reader :author
110
- xml_reader :depth, Measurement
110
+ xml_reader :depth, :as => Measurement
111
111
  end
112
112
 
113
113
  class Author
@@ -124,7 +124,7 @@ class BookWithAuthors
124
124
  xml_reader :isbn, :from => '@ISBN'
125
125
  xml_reader :title
126
126
  xml_reader :description, :cdata => true
127
- xml_reader :authors, []
127
+ xml_reader :authors, :as => []
128
128
  end
129
129
 
130
130
  class BookWithAuthorTextAttribute
@@ -134,7 +134,7 @@ class BookWithAuthorTextAttribute
134
134
  xml_reader :isbn, :from => '@ISBN'
135
135
  xml_reader :title
136
136
  xml_reader :description, :cdata => true
137
- xml_reader :author, Author
137
+ xml_reader :author, :as => Author
138
138
  end
139
139
 
140
140
  class BookWithContributions
@@ -144,7 +144,7 @@ class BookWithContributions
144
144
  xml_reader :isbn, :from => :attr
145
145
  xml_reader :title
146
146
  xml_reader :description
147
- xml_reader :contributions, [Contributor], :from => 'contributor', :in => "contributions"
147
+ xml_reader :contributions, :as => [Contributor], :from => 'contributor', :in => "contributions"
148
148
  end
149
149
 
150
150
  class BookWithContributors
@@ -154,7 +154,7 @@ class BookWithContributors
154
154
  xml_reader :isbn, :from => :attr
155
155
  xml_reader :title
156
156
  xml_reader :description
157
- xml_reader :contributors, [Contributor]
157
+ xml_reader :contributors, :as => [Contributor]
158
158
  end
159
159
 
160
160
  class WriteableBookWithContributors
@@ -164,7 +164,7 @@ class WriteableBookWithContributors
164
164
  xml_accessor :isbn, :from => :attr
165
165
  xml_accessor :title
166
166
  xml_accessor :description
167
- xml_accessor :contributors, [Contributor]
167
+ xml_accessor :contributors, :as => [Contributor]
168
168
  end
169
169
 
170
170
  class NamelessBook
@@ -173,7 +173,7 @@ class NamelessBook
173
173
  xml_reader :isbn, :from => :attr
174
174
  xml_reader :title
175
175
  xml_reader :description
176
- xml_reader :contributors, [Contributor]
176
+ xml_reader :contributors, :as => [Contributor]
177
177
  end
178
178
 
179
179
  class Publisher
@@ -189,7 +189,7 @@ class BookWithPublisher
189
189
  xml_reader :isbn, :from => :attr
190
190
  xml_reader :title
191
191
  xml_reader :description
192
- xml_reader :publisher, Publisher
192
+ xml_reader :publisher, :as => Publisher
193
193
  end
194
194
 
195
195
  class BookPair
@@ -199,14 +199,14 @@ class BookPair
199
199
  xml_reader :title
200
200
  xml_reader :description
201
201
  xml_reader :author
202
- xml_reader :book, Book
202
+ xml_reader :book, :as => Book
203
203
  end
204
204
 
205
205
  class Library
206
206
  include ROXML
207
207
 
208
208
  xml_reader :name
209
- xml_reader :books, [BookWithContributions]
209
+ xml_reader :books, :as => [BookWithContributions]
210
210
  end
211
211
 
212
212
  class UppercaseLibrary
@@ -214,14 +214,14 @@ class UppercaseLibrary
214
214
 
215
215
  xml_name :library
216
216
  xml_reader :name, :from => 'NAME'
217
- xml_reader :books, [BookWithContributions], :from => 'BOOK'
217
+ xml_reader :books, :as => [BookWithContributions], :from => 'BOOK'
218
218
  end
219
219
 
220
220
  class LibraryWithBooksOfUnderivableName
221
221
  include ROXML
222
222
 
223
223
  xml_accessor :name
224
- xml_reader :novels, [NamelessBook]
224
+ xml_reader :novels, :as => [NamelessBook]
225
225
  end
226
226
 
227
227
  class NodeWithNameConflicts
@@ -259,7 +259,7 @@ class PersonWithMother
259
259
 
260
260
  xml_name :person
261
261
  xml_reader :name
262
- xml_reader :mother, PersonWithMother, :from => 'mother'
262
+ xml_reader :mother, :as => PersonWithMother, :from => 'mother'
263
263
  end
264
264
 
265
265
  class PersonWithGuardedMother
@@ -267,7 +267,7 @@ class PersonWithGuardedMother
267
267
 
268
268
  xml_name :person
269
269
  xml_reader :name
270
- xml_reader :mother, PersonWithGuardedMother, :from => :person, :in => :mother
270
+ xml_reader :mother, :as => PersonWithGuardedMother, :from => :person, :in => :mother
271
271
  end
272
272
 
273
273
  class PersonWithMotherOrMissing
@@ -275,5 +275,5 @@ class PersonWithMotherOrMissing
275
275
 
276
276
  xml_reader :age, :from => :attr, :else => 21
277
277
  xml_reader :name, :else => 'Anonymous'
278
- xml_reader :mother, PersonWithMotherOrMissing, :else => Person.blank
278
+ xml_reader :mother,:as => PersonWithMotherOrMissing, :else => Person.blank
279
279
  end
data/test/test_helper.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "lib/roxml"
2
+ require 'active_support/test_case'
2
3
  require 'test/mocks/mocks'
3
4
  require 'test/mocks/dictionaries'
4
5
 
@@ -1,6 +1,6 @@
1
1
  require File.join(File.dirname(__FILE__), '..', 'test_helper')
2
2
 
3
- class TestDefinition < Test::Unit::TestCase
3
+ class TestDefinition < ActiveSupport::TestCase
4
4
  def assert_hash(opts, kvp)
5
5
  assert opts.hash?
6
6
  assert !opts.array?
@@ -8,36 +8,18 @@ class TestDefinition < Test::Unit::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 < Test::Unit::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 < Test::Unit::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 < Test::Unit::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 < Test::Unit::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 < Test::Unit::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 < Test::Unit::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,39 +210,25 @@ class TestDefinition < Test::Unit::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
300
226
  include ROXML
301
227
  end
302
228
 
303
- class HashDefinitionTest < Test::Unit::TestCase
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