reform 2.2.4 → 2.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +5 -1
  3. data/.rubocop.yml +30 -0
  4. data/.rubocop_todo.yml +460 -0
  5. data/.travis.yml +11 -6
  6. data/Appraisals +8 -0
  7. data/CHANGES.md +54 -4
  8. data/CONTRIBUTING.md +31 -0
  9. data/Gemfile +2 -16
  10. data/ISSUE_TEMPLATE.md +25 -0
  11. data/LICENSE.txt +1 -1
  12. data/README.md +5 -7
  13. data/Rakefile +18 -9
  14. data/gemfiles/0.13.0.gemfile +8 -0
  15. data/gemfiles/1.5.0.gemfile +9 -0
  16. data/lib/reform.rb +1 -0
  17. data/lib/reform/contract.rb +7 -17
  18. data/lib/reform/contract/custom_error.rb +41 -0
  19. data/lib/reform/contract/validate.rb +53 -23
  20. data/lib/reform/errors.rb +61 -0
  21. data/lib/reform/form.rb +36 -10
  22. data/lib/reform/form/call.rb +1 -1
  23. data/lib/reform/form/composition.rb +2 -2
  24. data/lib/reform/form/dry.rb +10 -58
  25. data/lib/reform/form/dry/input_hash.rb +37 -0
  26. data/lib/reform/form/dry/new_api.rb +46 -0
  27. data/lib/reform/form/dry/old_api.rb +61 -0
  28. data/lib/reform/form/populator.rb +11 -27
  29. data/lib/reform/form/prepopulate.rb +4 -3
  30. data/lib/reform/form/validate.rb +28 -13
  31. data/lib/reform/result.rb +90 -0
  32. data/lib/reform/validation.rb +19 -11
  33. data/lib/reform/validation/groups.rb +12 -27
  34. data/lib/reform/version.rb +1 -1
  35. data/reform.gemspec +15 -13
  36. data/test/benchmarking.rb +39 -6
  37. data/test/call_new_api.rb +23 -0
  38. data/test/{call_test.rb → call_old_api.rb} +4 -4
  39. data/test/changed_test.rb +8 -8
  40. data/test/coercion_test.rb +51 -19
  41. data/test/composition_new_api.rb +186 -0
  42. data/test/{composition_test.rb → composition_old_api.rb} +66 -31
  43. data/test/contract/custom_error_test.rb +55 -0
  44. data/test/contract_new_api.rb +77 -0
  45. data/test/{contract_test.rb → contract_old_api.rb} +13 -13
  46. data/test/default_test.rb +2 -2
  47. data/test/deserialize_test.rb +11 -14
  48. data/test/errors_new_api.rb +225 -0
  49. data/test/errors_old_api.rb +230 -0
  50. data/test/feature_test.rb +8 -10
  51. data/test/fixtures/dry_error_messages.yml +73 -23
  52. data/test/fixtures/dry_new_api_error_messages.yml +104 -0
  53. data/test/form_new_api.rb +57 -0
  54. data/test/{form_test.rb → form_old_api.rb} +5 -5
  55. data/test/form_option_new_api.rb +24 -0
  56. data/test/{form_option_test.rb → form_option_old_api.rb} +4 -4
  57. data/test/from_test.rb +9 -13
  58. data/test/inherit_new_api.rb +105 -0
  59. data/test/inherit_old_api.rb +105 -0
  60. data/test/{module_test.rb → module_new_api.rb} +20 -25
  61. data/test/module_old_api.rb +146 -0
  62. data/test/parse_option_test.rb +40 -0
  63. data/test/parse_pipeline_test.rb +3 -3
  64. data/test/populate_new_api.rb +304 -0
  65. data/test/{populate_test.rb → populate_old_api.rb} +83 -49
  66. data/test/populator_skip_test.rb +9 -9
  67. data/test/prepopulator_test.rb +8 -9
  68. data/test/read_only_test.rb +12 -1
  69. data/test/readable_test.rb +7 -7
  70. data/test/reform_new_api.rb +204 -0
  71. data/test/{reform_test.rb → reform_old_api.rb} +30 -51
  72. data/test/save_new_api.rb +101 -0
  73. data/test/{save_test.rb → save_old_api.rb} +32 -20
  74. data/test/setup_test.rb +8 -8
  75. data/test/{skip_if_test.rb → skip_if_new_api.rb} +23 -12
  76. data/test/skip_if_old_api.rb +92 -0
  77. data/test/skip_setter_and_getter_test.rb +3 -4
  78. data/test/test_helper.rb +25 -14
  79. data/test/validate_new_api.rb +408 -0
  80. data/test/{validate_test.rb → validate_old_api.rb} +59 -69
  81. data/test/validation/dry_validation_new_api.rb +836 -0
  82. data/test/validation/dry_validation_old_api.rb +772 -0
  83. data/test/validation/result_test.rb +77 -0
  84. data/test/validation_library_provided_test.rb +16 -0
  85. data/test/virtual_test.rb +47 -7
  86. data/test/writeable_test.rb +35 -6
  87. metadata +127 -56
  88. data/gemfiles/Gemfile.disposable-0.3 +0 -6
  89. data/lib/reform/contract/errors.rb +0 -43
  90. data/lib/reform/form/mongoid.rb +0 -37
  91. data/lib/reform/form/orm.rb +0 -26
  92. data/lib/reform/mongoid.rb +0 -4
  93. data/test/deprecation_test.rb +0 -27
  94. data/test/errors_test.rb +0 -165
  95. data/test/inherit_test.rb +0 -119
  96. data/test/readonly_test.rb +0 -14
  97. data/test/validation/dry_test.rb +0 -60
  98. data/test/validation/dry_validation_test.rb +0 -352
  99. data/test/validation/errors.yml +0 -4
@@ -0,0 +1,77 @@
1
+ require "test_helper"
2
+
3
+ class ErrorsResultTest < Minitest::Spec
4
+ MyResult = Struct.new(:success?, :errors) do
5
+ def failure?; !success? end
6
+ end
7
+
8
+ # TODO: errors(args) not tested.
9
+
10
+ describe "Contract::Result#success?" do
11
+ let(:failed) { MyResult.new(false) }
12
+ let(:succeeded) { MyResult.new(true) }
13
+
14
+ it { Reform::Contract::Result.new([failed, failed]).success?.must_equal false }
15
+ it { Reform::Contract::Result.new([succeeded, failed]).success?.must_equal false }
16
+ it { Reform::Contract::Result.new([failed, succeeded]).success?.must_equal false }
17
+ it { Reform::Contract::Result.new([succeeded, succeeded]).success?.must_equal true }
18
+ end
19
+
20
+ describe "Contract::Result#errors" do
21
+ let(:results) do
22
+ [
23
+ MyResult.new(false, {length: ["no Int"]}),
24
+ MyResult.new(false, {title: ["must be filled"], nested: {something: []}}),
25
+ MyResult.new(false, {title: ["must be filled"], nested: {something: []}}),
26
+ MyResult.new(false, {title: ["something more"], nested: {something: []}})
27
+ ]
28
+ end
29
+
30
+ it { Reform::Contract::Result.new(results).errors.must_equal({title: ["must be filled", "something more"], length: ["no Int"]}) }
31
+ end
32
+
33
+ describe "Result::Pointer" do
34
+ let(:errors) do # dry result #errors format.
35
+ {
36
+ title: ["ignore"],
37
+ artist: {age: ["too old"],
38
+ bands: {
39
+ 0 => {name: "too new school"},
40
+ 1 => {name: "too boring"},
41
+ }
42
+ }
43
+ }
44
+ end
45
+
46
+ let(:top) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), []) }
47
+ it { top.success?.must_equal false }
48
+ it { top.errors.must_equal errors }
49
+
50
+ let(:artist) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), [:artist]) }
51
+ it { artist.success?.must_equal false }
52
+ it { artist.errors.must_equal({age: ["too old"], bands: {0 => {name: "too new school"}, 1 => {name: "too boring"}}}) }
53
+
54
+ let(:band) { Reform::Contract::Result::Pointer.new(MyResult.new(false, errors), [:artist, :bands, 1]) }
55
+ it { band.success?.must_equal false }
56
+ it { band.errors.must_equal({name: "too boring"}) }
57
+
58
+ describe "advance" do
59
+ let(:advanced) { artist.advance(:bands, 1) }
60
+
61
+ it { advanced.success?.must_equal false }
62
+ it { advanced.errors.must_equal({name: "too boring"}) }
63
+
64
+ it { artist.advance(%i[absolute nonsense]).must_be_nil }
65
+ end
66
+ end
67
+ end
68
+
69
+ # validation group:
70
+
71
+ # form.errors/messages/hint(*args) ==> {:title: [..]}
72
+ # @call_result.errors/messages/hint(*args) }
73
+
74
+ # # result = Result(original_result => [:band, :label], my_local_result => [] )
75
+ # # result.messages(locale: :en) merges original_result and my_local_result
76
+
77
+ # form.errors => Result(fetch tree of all nested forms.messages(*args))
@@ -0,0 +1,16 @@
1
+ require "reform"
2
+ require "minitest/autorun"
3
+
4
+ class ValidationLibraryProvidedTest < MiniTest::Spec
5
+ it "no validation library loaded" do
6
+ assert_raises Reform::Validation::NoValidationLibraryError do
7
+ class PersonForm < Reform::Form
8
+ property :name
9
+
10
+ validation do
11
+ required(:name).maybe(:str?)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,16 +1,20 @@
1
- require 'test_helper'
1
+ require "test_helper"
2
2
 
3
3
  class VirtualTest < MiniTest::Spec
4
- class CreditCardForm < Reform::Form
4
+ class CreditCardForm < TestForm
5
5
  property :credit_card_number, virtual: true # no read, no write, it's virtual.
6
+ collection :transactions, virtual: true, populate_if_empty: OpenStruct do
7
+ property :id
8
+ end
6
9
  end
7
10
 
8
- let (:form) { CreditCardForm.new(Object.new) }
11
+ let(:form) { CreditCardForm.new(Object.new) }
9
12
 
10
13
  it {
11
- form.validate("credit_card_number" => "123")
14
+ form.validate(credit_card_number: "123", transactions: [id: 1])
12
15
 
13
- form.credit_card_number.must_equal "123" # this is still readable in the UI.
16
+ form.credit_card_number.must_equal "123" # this is still readable in the UI.
17
+ form.transactions.first.id.must_equal 1 # this is still readable in the UI.
14
18
 
15
19
  form.sync
16
20
 
@@ -19,6 +23,42 @@ class VirtualTest < MiniTest::Spec
19
23
  hash = nested
20
24
  end
21
25
 
22
- hash.must_equal("credit_card_number"=> "123")
26
+ hash.must_equal("credit_card_number" => "123", "transactions" => ["id" => 1])
27
+ }
28
+ end
29
+
30
+ class VirtualAndDefaultTest < MiniTest::Spec
31
+ class CreditCardForm < TestForm
32
+ property :credit_card_number, virtual: true, default: "123" # no read, no write, it's virtual.
33
+ collection :transactions, virtual: true, populate_if_empty: OpenStruct, default: [OpenStruct.new(id: 2)] do
34
+ property :id
35
+ end
36
+ end
37
+
38
+ def hash(form)
39
+ hash = {}
40
+ form.save do |nested|
41
+ hash = nested
42
+ end
43
+ hash
44
+ end
45
+
46
+ let(:form) { CreditCardForm.new(Object.new) }
47
+
48
+ it {
49
+ form = CreditCardForm.new(Object.new)
50
+ form.validate({})
51
+
52
+ hash(form).must_equal("credit_card_number" => "123", "transactions" => ["id" => 2])
53
+
54
+ form = CreditCardForm.new(Object.new)
55
+ form.validate(credit_card_number: "123", transactions: [id: 1])
56
+
57
+ form.credit_card_number.must_equal "123" # this is still readable in the UI.
58
+ form.transactions.first.id.must_equal 1 # this is still readable in the UI.
59
+
60
+ form.sync
61
+
62
+ hash(form).must_equal("credit_card_number" => "123", "transactions" => ["id" => 1])
23
63
  }
24
- end
64
+ end
@@ -1,14 +1,14 @@
1
- require 'test_helper'
1
+ require "test_helper"
2
2
 
3
3
  class WriteableTest < MiniTest::Spec
4
4
  Location = Struct.new(:country)
5
5
 
6
- class LocationForm < Reform::Form
6
+ class LocationForm < TestForm
7
7
  property :country, writeable: false
8
8
  end
9
9
 
10
- let (:loc) { Location.new("Australia") }
11
- let (:form) { LocationForm.new(loc) }
10
+ let(:loc) { Location.new("Australia") }
11
+ let(:form) { LocationForm.new(loc) }
12
12
 
13
13
  it do
14
14
  form.country.must_equal "Australia"
@@ -24,6 +24,35 @@ class WriteableTest < MiniTest::Spec
24
24
  hash = nested
25
25
  end
26
26
 
27
- hash.must_equal("country"=> "Germany")
27
+ hash.must_equal("country" => "Germany")
28
28
  end
29
- end
29
+ end
30
+
31
+ # writable option is alias of writeable option.
32
+ class WritableTest < MiniTest::Spec
33
+ Location = Struct.new(:country)
34
+
35
+ class LocationForm < TestForm
36
+ property :country, writable: false
37
+ end
38
+
39
+ let(:loc) { Location.new("Australia") }
40
+ let(:form) { LocationForm.new(loc) }
41
+
42
+ it do
43
+ form.country.must_equal "Australia"
44
+
45
+ form.validate("country" => "Germany") # this usually won't change when submitting.
46
+ form.country.must_equal "Germany"
47
+
48
+ form.sync
49
+ loc.country.must_equal "Australia" # the writer wasn't called.
50
+
51
+ hash = {}
52
+ form.save do |nested|
53
+ hash = nested
54
+ end
55
+
56
+ hash.must_equal("country" => "Germany")
57
+ end
58
+ end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reform
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.4
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
- - Garrett Heinlen
8
+ - Fran Worley
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-01-31 00:00:00.000000000 Z
12
+ date: 2020-05-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: disposable
@@ -17,14 +17,20 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 0.4.1
20
+ version: 0.4.2
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.5.0
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
27
- version: 0.4.1
30
+ version: 0.4.2
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.5.0
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: representable
30
36
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +51,20 @@ dependencies:
45
51
  - - "<"
46
52
  - !ruby/object:Gem::Version
47
53
  version: 3.1.0
54
+ - !ruby/object:Gem::Dependency
55
+ name: uber
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: 0.2.0
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "<"
66
+ - !ruby/object:Gem::Version
67
+ version: 0.2.0
48
68
  - !ruby/object:Gem::Dependency
49
69
  name: bundler
50
70
  requirement: !ruby/object:Gem::Requirement
@@ -60,7 +80,7 @@ dependencies:
60
80
  - !ruby/object:Gem::Version
61
81
  version: '0'
62
82
  - !ruby/object:Gem::Dependency
63
- name: rake
83
+ name: minitest
64
84
  requirement: !ruby/object:Gem::Requirement
65
85
  requirements:
66
86
  - - ">="
@@ -74,7 +94,7 @@ dependencies:
74
94
  - !ruby/object:Gem::Version
75
95
  version: '0'
76
96
  - !ruby/object:Gem::Dependency
77
- name: minitest
97
+ name: minitest-line
78
98
  requirement: !ruby/object:Gem::Requirement
79
99
  requirements:
80
100
  - - ">="
@@ -88,7 +108,7 @@ dependencies:
88
108
  - !ruby/object:Gem::Version
89
109
  version: '0'
90
110
  - !ruby/object:Gem::Dependency
91
- name: dry-types
111
+ name: pry-byebug
92
112
  requirement: !ruby/object:Gem::Requirement
93
113
  requirements:
94
114
  - - ">="
@@ -116,93 +136,130 @@ dependencies:
116
136
  - !ruby/object:Gem::Version
117
137
  version: '0'
118
138
  - !ruby/object:Gem::Dependency
119
- name: dry-validation
139
+ name: rake
120
140
  requirement: !ruby/object:Gem::Requirement
121
141
  requirements:
122
142
  - - ">="
123
143
  - !ruby/object:Gem::Version
124
- version: 0.10.0
144
+ version: '0'
125
145
  type: :development
126
146
  prerelease: false
127
147
  version_requirements: !ruby/object:Gem::Requirement
128
148
  requirements:
129
149
  - - ">="
130
150
  - !ruby/object:Gem::Version
131
- version: 0.10.0
151
+ version: '0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: rubocop
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
132
166
  description: Form object decoupled from models.
133
167
  email:
134
168
  - apotonick@gmail.com
135
- - heinleng@gmail.com
169
+ - frances@safetytoolbox.co.uk
136
170
  executables: []
137
171
  extensions: []
138
172
  extra_rdoc_files: []
139
173
  files:
140
174
  - ".gitignore"
175
+ - ".rubocop.yml"
176
+ - ".rubocop_todo.yml"
141
177
  - ".travis.yml"
178
+ - Appraisals
142
179
  - CHANGES.md
180
+ - CONTRIBUTING.md
143
181
  - Gemfile
182
+ - ISSUE_TEMPLATE.md
144
183
  - LICENSE.txt
145
184
  - README.md
146
185
  - Rakefile
147
186
  - TODO.md
148
- - gemfiles/Gemfile.disposable-0.3
187
+ - gemfiles/0.13.0.gemfile
188
+ - gemfiles/1.5.0.gemfile
149
189
  - lib/reform.rb
150
190
  - lib/reform/contract.rb
151
- - lib/reform/contract/errors.rb
191
+ - lib/reform/contract/custom_error.rb
152
192
  - lib/reform/contract/validate.rb
193
+ - lib/reform/errors.rb
153
194
  - lib/reform/form.rb
154
195
  - lib/reform/form/call.rb
155
196
  - lib/reform/form/coercion.rb
156
197
  - lib/reform/form/composition.rb
157
198
  - lib/reform/form/dry.rb
199
+ - lib/reform/form/dry/input_hash.rb
200
+ - lib/reform/form/dry/new_api.rb
201
+ - lib/reform/form/dry/old_api.rb
158
202
  - lib/reform/form/module.rb
159
- - lib/reform/form/mongoid.rb
160
- - lib/reform/form/orm.rb
161
203
  - lib/reform/form/populator.rb
162
204
  - lib/reform/form/prepopulate.rb
163
205
  - lib/reform/form/validate.rb
164
- - lib/reform/mongoid.rb
206
+ - lib/reform/result.rb
165
207
  - lib/reform/validation.rb
166
208
  - lib/reform/validation/groups.rb
167
209
  - lib/reform/version.rb
168
210
  - reform.gemspec
169
211
  - test/benchmarking.rb
170
- - test/call_test.rb
212
+ - test/call_new_api.rb
213
+ - test/call_old_api.rb
171
214
  - test/changed_test.rb
172
215
  - test/coercion_test.rb
173
- - test/composition_test.rb
174
- - test/contract_test.rb
216
+ - test/composition_new_api.rb
217
+ - test/composition_old_api.rb
218
+ - test/contract/custom_error_test.rb
219
+ - test/contract_new_api.rb
220
+ - test/contract_old_api.rb
175
221
  - test/default_test.rb
176
- - test/deprecation_test.rb
177
222
  - test/deserialize_test.rb
178
- - test/errors_test.rb
223
+ - test/errors_new_api.rb
224
+ - test/errors_old_api.rb
179
225
  - test/feature_test.rb
180
226
  - test/fixtures/dry_error_messages.yml
181
- - test/form_option_test.rb
182
- - test/form_test.rb
227
+ - test/fixtures/dry_new_api_error_messages.yml
228
+ - test/form_new_api.rb
229
+ - test/form_old_api.rb
230
+ - test/form_option_new_api.rb
231
+ - test/form_option_old_api.rb
183
232
  - test/from_test.rb
184
- - test/inherit_test.rb
185
- - test/module_test.rb
233
+ - test/inherit_new_api.rb
234
+ - test/inherit_old_api.rb
235
+ - test/module_new_api.rb
236
+ - test/module_old_api.rb
237
+ - test/parse_option_test.rb
186
238
  - test/parse_pipeline_test.rb
187
- - test/populate_test.rb
239
+ - test/populate_new_api.rb
240
+ - test/populate_old_api.rb
188
241
  - test/populator_skip_test.rb
189
242
  - test/prepopulator_test.rb
190
243
  - test/read_only_test.rb
191
244
  - test/readable_test.rb
192
- - test/readonly_test.rb
193
- - test/reform_test.rb
194
- - test/save_test.rb
245
+ - test/reform_new_api.rb
246
+ - test/reform_old_api.rb
247
+ - test/save_new_api.rb
248
+ - test/save_old_api.rb
195
249
  - test/setup_test.rb
196
- - test/skip_if_test.rb
250
+ - test/skip_if_new_api.rb
251
+ - test/skip_if_old_api.rb
197
252
  - test/skip_setter_and_getter_test.rb
198
253
  - test/test_helper.rb
199
- - test/validate_test.rb
200
- - test/validation/dry_test.rb
201
- - test/validation/dry_validation_test.rb
202
- - test/validation/errors.yml
254
+ - test/validate_new_api.rb
255
+ - test/validate_old_api.rb
256
+ - test/validation/dry_validation_new_api.rb
257
+ - test/validation/dry_validation_old_api.rb
258
+ - test/validation/result_test.rb
259
+ - test/validation_library_provided_test.rb
203
260
  - test/virtual_test.rb
204
261
  - test/writeable_test.rb
205
- homepage: https://github.com/apotonick/reform
262
+ homepage: https://github.com/trailblazer/reform
206
263
  licenses:
207
264
  - MIT
208
265
  metadata: {}
@@ -221,45 +278,59 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
278
  - !ruby/object:Gem::Version
222
279
  version: '0'
223
280
  requirements: []
224
- rubyforge_project:
225
- rubygems_version: 2.5.1
281
+ rubygems_version: 3.0.6
226
282
  signing_key:
227
283
  specification_version: 4
228
284
  summary: Form object decoupled from models with validation, population and presentation.
229
285
  test_files:
230
286
  - test/benchmarking.rb
231
- - test/call_test.rb
287
+ - test/call_new_api.rb
288
+ - test/call_old_api.rb
232
289
  - test/changed_test.rb
233
290
  - test/coercion_test.rb
234
- - test/composition_test.rb
235
- - test/contract_test.rb
291
+ - test/composition_new_api.rb
292
+ - test/composition_old_api.rb
293
+ - test/contract/custom_error_test.rb
294
+ - test/contract_new_api.rb
295
+ - test/contract_old_api.rb
236
296
  - test/default_test.rb
237
- - test/deprecation_test.rb
238
297
  - test/deserialize_test.rb
239
- - test/errors_test.rb
298
+ - test/errors_new_api.rb
299
+ - test/errors_old_api.rb
240
300
  - test/feature_test.rb
241
301
  - test/fixtures/dry_error_messages.yml
242
- - test/form_option_test.rb
243
- - test/form_test.rb
302
+ - test/fixtures/dry_new_api_error_messages.yml
303
+ - test/form_new_api.rb
304
+ - test/form_old_api.rb
305
+ - test/form_option_new_api.rb
306
+ - test/form_option_old_api.rb
244
307
  - test/from_test.rb
245
- - test/inherit_test.rb
246
- - test/module_test.rb
308
+ - test/inherit_new_api.rb
309
+ - test/inherit_old_api.rb
310
+ - test/module_new_api.rb
311
+ - test/module_old_api.rb
312
+ - test/parse_option_test.rb
247
313
  - test/parse_pipeline_test.rb
248
- - test/populate_test.rb
314
+ - test/populate_new_api.rb
315
+ - test/populate_old_api.rb
249
316
  - test/populator_skip_test.rb
250
317
  - test/prepopulator_test.rb
251
318
  - test/read_only_test.rb
252
319
  - test/readable_test.rb
253
- - test/readonly_test.rb
254
- - test/reform_test.rb
255
- - test/save_test.rb
320
+ - test/reform_new_api.rb
321
+ - test/reform_old_api.rb
322
+ - test/save_new_api.rb
323
+ - test/save_old_api.rb
256
324
  - test/setup_test.rb
257
- - test/skip_if_test.rb
325
+ - test/skip_if_new_api.rb
326
+ - test/skip_if_old_api.rb
258
327
  - test/skip_setter_and_getter_test.rb
259
328
  - test/test_helper.rb
260
- - test/validate_test.rb
261
- - test/validation/dry_test.rb
262
- - test/validation/dry_validation_test.rb
263
- - test/validation/errors.yml
329
+ - test/validate_new_api.rb
330
+ - test/validate_old_api.rb
331
+ - test/validation/dry_validation_new_api.rb
332
+ - test/validation/dry_validation_old_api.rb
333
+ - test/validation/result_test.rb
334
+ - test/validation_library_provided_test.rb
264
335
  - test/virtual_test.rb
265
336
  - test/writeable_test.rb