shoulda-matchers 2.3.0 → 2.4.0.rc1

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 (44) hide show
  1. checksums.yaml +7 -0
  2. data/Appraisals +12 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +6 -11
  5. data/NEWS.md +6 -0
  6. data/features/rails_integration.feature +2 -3
  7. data/features/step_definitions/rails_steps.rb +40 -8
  8. data/gemfiles/3.0.gemfile +2 -1
  9. data/gemfiles/3.0.gemfile.lock +6 -6
  10. data/gemfiles/3.1.gemfile +2 -1
  11. data/gemfiles/3.1.gemfile.lock +6 -6
  12. data/gemfiles/3.2.gemfile +2 -1
  13. data/gemfiles/3.2.gemfile.lock +6 -6
  14. data/gemfiles/4.0.gemfile +17 -0
  15. data/gemfiles/4.0.gemfile.lock +152 -0
  16. data/lib/shoulda/matchers.rb +1 -0
  17. data/lib/shoulda/matchers/action_controller/render_with_layout_matcher.rb +1 -1
  18. data/lib/shoulda/matchers/action_controller/set_the_flash_matcher.rb +24 -10
  19. data/lib/shoulda/matchers/active_model/allow_value_matcher.rb +13 -7
  20. data/lib/shoulda/matchers/active_model/disallow_value_matcher.rb +2 -2
  21. data/lib/shoulda/matchers/active_model/validate_confirmation_of_matcher.rb +18 -6
  22. data/lib/shoulda/matchers/active_model/validation_matcher.rb +4 -2
  23. data/lib/shoulda/matchers/active_record.rb +1 -0
  24. data/lib/shoulda/matchers/active_record/association_matcher.rb +18 -37
  25. data/lib/shoulda/matchers/active_record/association_matchers/counter_cache_matcher.rb +8 -3
  26. data/lib/shoulda/matchers/active_record/association_matchers/dependent_matcher.rb +8 -3
  27. data/lib/shoulda/matchers/active_record/association_matchers/model_reflector.rb +66 -4
  28. data/lib/shoulda/matchers/active_record/association_matchers/option_verifier.rb +93 -0
  29. data/lib/shoulda/matchers/active_record/association_matchers/order_matcher.rb +8 -3
  30. data/lib/shoulda/matchers/active_record/association_matchers/through_matcher.rb +7 -2
  31. data/lib/shoulda/matchers/integrations/test_unit.rb +10 -22
  32. data/lib/shoulda/matchers/rails_shim.rb +41 -0
  33. data/lib/shoulda/matchers/version.rb +1 -1
  34. data/shoulda-matchers.gemspec +1 -2
  35. data/spec/shoulda/matchers/action_controller/render_with_layout_matcher_spec.rb +7 -2
  36. data/spec/shoulda/matchers/action_controller/route_matcher_spec.rb +2 -2
  37. data/spec/shoulda/matchers/active_model/allow_mass_assignment_of_matcher_spec.rb +1 -1
  38. data/spec/shoulda/matchers/active_model/allow_value_matcher_spec.rb +24 -0
  39. data/spec/shoulda/matchers/active_model/disallow_value_matcher_spec.rb +24 -0
  40. data/spec/shoulda/matchers/active_model/helpers_spec.rb +5 -7
  41. data/spec/shoulda/matchers/active_record/association_matcher_spec.rb +46 -12
  42. data/spec/shoulda/matchers/active_record/have_db_column_matcher_spec.rb +1 -1
  43. data/spec/support/active_model_versions.rb +6 -6
  44. metadata +26 -55
@@ -88,7 +88,7 @@ describe Shoulda::Matchers::ActiveRecord::HaveDbColumnMatcher do
88
88
 
89
89
  context 'with primary option' do
90
90
  it 'accepts a column that is primary' do
91
- with_table(:id, :integer, :primary => true).
91
+ with_table(:custom_id, :integer, :primary => true).
92
92
  should have_db_column(:id).with_options(:primary => true)
93
93
  end
94
94
 
@@ -1,13 +1,13 @@
1
1
  RSpec.configure do |c|
2
- def active_model_3_0?
3
- ::ActiveModel::VERSION::MAJOR == 3 && ::ActiveModel::VERSION::MINOR >= 0
4
- end
5
-
6
2
  def active_model_3_1?
7
- ::ActiveModel::VERSION::MAJOR == 3 && ::ActiveModel::VERSION::MINOR >= 1
3
+ (::ActiveModel::VERSION::MAJOR == 3 && ::ActiveModel::VERSION::MINOR >= 1) || active_model_4_0?
8
4
  end
9
5
 
10
6
  def active_model_3_2?
11
- ::ActiveModel::VERSION::MAJOR == 3 && ::ActiveModel::VERSION::MINOR >= 2
7
+ (::ActiveModel::VERSION::MAJOR == 3 && ::ActiveModel::VERSION::MINOR >= 2) || active_model_4_0?
8
+ end
9
+
10
+ def active_model_4_0?
11
+ ::ActiveModel::VERSION::MAJOR == 4
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shoulda-matchers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
5
- prerelease:
4
+ version: 2.4.0.rc1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tammer Saleh
@@ -19,23 +18,20 @@ dependencies:
19
18
  - !ruby/object:Gem::Dependency
20
19
  name: activesupport
21
20
  requirement: !ruby/object:Gem::Requirement
22
- none: false
23
21
  requirements:
24
- - - ! '>='
22
+ - - '>='
25
23
  - !ruby/object:Gem::Version
26
24
  version: 3.0.0
27
25
  type: :runtime
28
26
  prerelease: false
29
27
  version_requirements: !ruby/object:Gem::Requirement
30
- none: false
31
28
  requirements:
32
- - - ! '>='
29
+ - - '>='
33
30
  - !ruby/object:Gem::Version
34
31
  version: 3.0.0
35
32
  - !ruby/object:Gem::Dependency
36
33
  name: appraisal
37
34
  requirement: !ruby/object:Gem::Requirement
38
- none: false
39
35
  requirements:
40
36
  - - ~>
41
37
  - !ruby/object:Gem::Version
@@ -43,7 +39,6 @@ dependencies:
43
39
  type: :development
44
40
  prerelease: false
45
41
  version_requirements: !ruby/object:Gem::Requirement
46
- none: false
47
42
  requirements:
48
43
  - - ~>
49
44
  - !ruby/object:Gem::Version
@@ -51,23 +46,20 @@ dependencies:
51
46
  - !ruby/object:Gem::Dependency
52
47
  name: aruba
53
48
  requirement: !ruby/object:Gem::Requirement
54
- none: false
55
49
  requirements:
56
- - - ! '>='
50
+ - - '>='
57
51
  - !ruby/object:Gem::Version
58
52
  version: '0'
59
53
  type: :development
60
54
  prerelease: false
61
55
  version_requirements: !ruby/object:Gem::Requirement
62
- none: false
63
56
  requirements:
64
- - - ! '>='
57
+ - - '>='
65
58
  - !ruby/object:Gem::Version
66
59
  version: '0'
67
60
  - !ruby/object:Gem::Dependency
68
61
  name: bourne
69
62
  requirement: !ruby/object:Gem::Requirement
70
- none: false
71
63
  requirements:
72
64
  - - ~>
73
65
  - !ruby/object:Gem::Version
@@ -75,7 +67,6 @@ dependencies:
75
67
  type: :development
76
68
  prerelease: false
77
69
  version_requirements: !ruby/object:Gem::Requirement
78
- none: false
79
70
  requirements:
80
71
  - - ~>
81
72
  - !ruby/object:Gem::Version
@@ -83,7 +74,6 @@ dependencies:
83
74
  - !ruby/object:Gem::Dependency
84
75
  name: bundler
85
76
  requirement: !ruby/object:Gem::Requirement
86
- none: false
87
77
  requirements:
88
78
  - - ~>
89
79
  - !ruby/object:Gem::Version
@@ -91,7 +81,6 @@ dependencies:
91
81
  type: :development
92
82
  prerelease: false
93
83
  version_requirements: !ruby/object:Gem::Requirement
94
- none: false
95
84
  requirements:
96
85
  - - ~>
97
86
  - !ruby/object:Gem::Version
@@ -99,7 +88,6 @@ dependencies:
99
88
  - !ruby/object:Gem::Dependency
100
89
  name: cucumber
101
90
  requirement: !ruby/object:Gem::Requirement
102
- none: false
103
91
  requirements:
104
92
  - - ~>
105
93
  - !ruby/object:Gem::Version
@@ -107,7 +95,6 @@ dependencies:
107
95
  type: :development
108
96
  prerelease: false
109
97
  version_requirements: !ruby/object:Gem::Requirement
110
- none: false
111
98
  requirements:
112
99
  - - ~>
113
100
  - !ruby/object:Gem::Version
@@ -115,7 +102,6 @@ dependencies:
115
102
  - !ruby/object:Gem::Dependency
116
103
  name: rails
117
104
  requirement: !ruby/object:Gem::Requirement
118
- none: false
119
105
  requirements:
120
106
  - - ~>
121
107
  - !ruby/object:Gem::Version
@@ -123,7 +109,6 @@ dependencies:
123
109
  type: :development
124
110
  prerelease: false
125
111
  version_requirements: !ruby/object:Gem::Requirement
126
- none: false
127
112
  requirements:
128
113
  - - ~>
129
114
  - !ruby/object:Gem::Version
@@ -131,51 +116,37 @@ dependencies:
131
116
  - !ruby/object:Gem::Dependency
132
117
  name: rake
133
118
  requirement: !ruby/object:Gem::Requirement
134
- none: false
135
119
  requirements:
136
- - - ! '>='
120
+ - - '>='
137
121
  - !ruby/object:Gem::Version
138
122
  version: 0.9.2
139
123
  type: :development
140
124
  prerelease: false
141
125
  version_requirements: !ruby/object:Gem::Requirement
142
- none: false
143
126
  requirements:
144
- - - ! '>='
127
+ - - '>='
145
128
  - !ruby/object:Gem::Version
146
129
  version: 0.9.2
147
130
  - !ruby/object:Gem::Dependency
148
131
  name: rspec-rails
149
132
  requirement: !ruby/object:Gem::Requirement
150
- none: false
151
133
  requirements:
152
- - - ~>
134
+ - - '>='
153
135
  - !ruby/object:Gem::Version
154
- version: '2.13'
155
- type: :development
156
- prerelease: false
157
- version_requirements: !ruby/object:Gem::Requirement
158
- none: false
159
- requirements:
160
- - - ~>
136
+ version: 2.13.1
137
+ - - <
161
138
  - !ruby/object:Gem::Version
162
- version: '2.13'
163
- - !ruby/object:Gem::Dependency
164
- name: strong_parameters
165
- requirement: !ruby/object:Gem::Requirement
166
- none: false
167
- requirements:
168
- - - ! '>='
169
- - !ruby/object:Gem::Version
170
- version: '0'
139
+ version: '3'
171
140
  type: :development
172
141
  prerelease: false
173
142
  version_requirements: !ruby/object:Gem::Requirement
174
- none: false
175
143
  requirements:
176
- - - ! '>='
144
+ - - '>='
177
145
  - !ruby/object:Gem::Version
178
- version: '0'
146
+ version: 2.13.1
147
+ - - <
148
+ - !ruby/object:Gem::Version
149
+ version: '3'
179
150
  description: Making tests easy on the fingers and eyes
180
151
  email: support@thoughtbot.com
181
152
  executables: []
@@ -201,6 +172,8 @@ files:
201
172
  - gemfiles/3.1.gemfile.lock
202
173
  - gemfiles/3.2.gemfile
203
174
  - gemfiles/3.2.gemfile.lock
175
+ - gemfiles/4.0.gemfile
176
+ - gemfiles/4.0.gemfile.lock
204
177
  - lib/shoulda-matchers.rb
205
178
  - lib/shoulda/matchers.rb
206
179
  - lib/shoulda/matchers/action_controller.rb
@@ -239,6 +212,7 @@ files:
239
212
  - lib/shoulda/matchers/active_record/association_matchers/counter_cache_matcher.rb
240
213
  - lib/shoulda/matchers/active_record/association_matchers/dependent_matcher.rb
241
214
  - lib/shoulda/matchers/active_record/association_matchers/model_reflector.rb
215
+ - lib/shoulda/matchers/active_record/association_matchers/option_verifier.rb
242
216
  - lib/shoulda/matchers/active_record/association_matchers/order_matcher.rb
243
217
  - lib/shoulda/matchers/active_record/association_matchers/through_matcher.rb
244
218
  - lib/shoulda/matchers/active_record/have_db_column_matcher.rb
@@ -248,6 +222,7 @@ files:
248
222
  - lib/shoulda/matchers/assertion_error.rb
249
223
  - lib/shoulda/matchers/integrations/rspec.rb
250
224
  - lib/shoulda/matchers/integrations/test_unit.rb
225
+ - lib/shoulda/matchers/rails_shim.rb
251
226
  - lib/shoulda/matchers/version.rb
252
227
  - shoulda-matchers.gemspec
253
228
  - spec/shoulda/active_model/validate_uniqueness_of_matcher_spec.rb
@@ -295,30 +270,26 @@ files:
295
270
  homepage: http://thoughtbot.com/community/
296
271
  licenses:
297
272
  - MIT
273
+ metadata: {}
298
274
  post_install_message:
299
275
  rdoc_options: []
300
276
  require_paths:
301
277
  - lib
302
278
  required_ruby_version: !ruby/object:Gem::Requirement
303
- none: false
304
279
  requirements:
305
- - - ! '>='
280
+ - - '>='
306
281
  - !ruby/object:Gem::Version
307
282
  version: 1.9.2
308
283
  required_rubygems_version: !ruby/object:Gem::Requirement
309
- none: false
310
284
  requirements:
311
- - - ! '>='
285
+ - - '>'
312
286
  - !ruby/object:Gem::Version
313
- version: '0'
314
- segments:
315
- - 0
316
- hash: 1901679853552928105
287
+ version: 1.3.1
317
288
  requirements: []
318
289
  rubyforge_project:
319
- rubygems_version: 1.8.23
290
+ rubygems_version: 2.0.2
320
291
  signing_key:
321
- specification_version: 3
292
+ specification_version: 4
322
293
  summary: Making tests easy on the fingers and eyes
323
294
  test_files:
324
295
  - features/rails_integration.feature