schemacop 2.3.0 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +41 -0
  3. data/LICENSE +1 -1
  4. data/README.md +204 -14
  5. data/RUBY_VERSION +1 -1
  6. data/Rakefile +6 -5
  7. data/VERSION +1 -1
  8. data/doc/Schemacop.html +32 -5
  9. data/doc/Schemacop/ArrayValidator.html +4 -4
  10. data/doc/Schemacop/BooleanValidator.html +4 -4
  11. data/doc/Schemacop/Caster.html +379 -0
  12. data/doc/Schemacop/Collector.html +180 -104
  13. data/doc/Schemacop/Exceptions.html +3 -3
  14. data/doc/Schemacop/Exceptions/InvalidSchemaError.html +3 -3
  15. data/doc/Schemacop/Exceptions/ValidationError.html +3 -3
  16. data/doc/Schemacop/FieldNode.html +19 -7
  17. data/doc/Schemacop/FloatValidator.html +4 -4
  18. data/doc/Schemacop/HashValidator.html +4 -4
  19. data/doc/Schemacop/IntegerValidator.html +4 -4
  20. data/doc/Schemacop/NilValidator.html +4 -4
  21. data/doc/Schemacop/Node.html +97 -85
  22. data/doc/Schemacop/NodeResolver.html +28 -12
  23. data/doc/Schemacop/NodeSupportingField.html +4 -4
  24. data/doc/Schemacop/NodeSupportingType.html +5 -7
  25. data/doc/Schemacop/NodeWithBlock.html +4 -4
  26. data/doc/Schemacop/NumberValidator.html +4 -4
  27. data/doc/Schemacop/ObjectValidator.html +3 -3
  28. data/doc/Schemacop/RootNode.html +4 -4
  29. data/doc/Schemacop/Schema.html +5 -5
  30. data/doc/Schemacop/StringValidator.html +3 -3
  31. data/doc/Schemacop/SymbolValidator.html +4 -4
  32. data/doc/ScopedEnv.html +3 -3
  33. data/doc/_index.html +11 -4
  34. data/doc/class_list.html +1 -1
  35. data/doc/css/style.css +10 -6
  36. data/doc/file.README.html +198 -16
  37. data/doc/frames.html +1 -1
  38. data/doc/index.html +198 -16
  39. data/doc/js/app.js +55 -0
  40. data/doc/method_list.html +81 -49
  41. data/doc/top-level-namespace.html +3 -3
  42. data/lib/schemacop.rb +14 -0
  43. data/lib/schemacop/caster.rb +38 -0
  44. data/lib/schemacop/collector.rb +34 -6
  45. data/lib/schemacop/field_node.rb +24 -3
  46. data/lib/schemacop/node.rb +16 -4
  47. data/lib/schemacop/node_resolver.rb +10 -2
  48. data/lib/schemacop/node_supporting_type.rb +19 -1
  49. data/lib/schemacop/schema.rb +2 -2
  50. data/lib/schemacop/validator/array_validator.rb +1 -1
  51. data/lib/schemacop/validator/float_validator.rb +1 -1
  52. data/lib/schemacop/validator/integer_validator.rb +1 -1
  53. data/lib/schemacop/validator/object_validator.rb +1 -1
  54. data/schemacop.gemspec +15 -9
  55. data/test/casting_test.rb +90 -0
  56. data/test/custom_check_test.rb +20 -13
  57. data/test/custom_if_test.rb +12 -12
  58. data/test/defaults_test.rb +71 -0
  59. data/test/nil_dis_allow_test.rb +6 -6
  60. data/test/node_resolver_test.rb +26 -0
  61. data/test/short_forms_test.rb +84 -66
  62. data/test/test_helper.rb +7 -0
  63. data/test/types_test.rb +5 -5
  64. data/test/validator_array_test.rb +16 -16
  65. data/test/validator_boolean_test.rb +2 -2
  66. data/test/validator_float_test.rb +15 -15
  67. data/test/validator_hash_test.rb +5 -5
  68. data/test/validator_integer_test.rb +9 -9
  69. data/test/validator_nil_test.rb +1 -1
  70. data/test/validator_number_test.rb +19 -19
  71. data/test/validator_object_test.rb +52 -18
  72. data/test/validator_string_test.rb +12 -12
  73. data/test/validator_symbol_test.rb +2 -2
  74. metadata +43 -14
@@ -4,22 +4,29 @@ module Schemacop
4
4
  class CustomCheckTest < Minitest::Test
5
5
  def test_integer_check_short_form
6
6
  s = Schema.new :integer, check: proc { |i| i.even? }
7
- assert_nil s.validate!(2)
8
- assert_nil s.validate!(-8)
9
- assert_nil s.validate!(0)
7
+ assert_nothing_raised { s.validate!(2) }
8
+ assert_nothing_raised { s.validate!(-8) }
9
+ assert_nothing_raised { s.validate!(0) }
10
10
  assert_verr { s.validate!(1) }
11
11
  assert_verr { s.validate!(-7) }
12
12
  assert_verr { s.validate!(2.1) }
13
13
  end
14
14
 
15
+ def test_custom_error_message
16
+ s = Schema.new :integer, check: proc { |i| i.even? ? true : 'Custom error' }
17
+ assert_nothing_raised { s.validate!(2) }
18
+ exception = assert_verr { s.validate!(3) }
19
+ assert_match(/Custom :check failed: Custom error\./, exception.message)
20
+ end
21
+
15
22
  def test_integer_check_with_lambda
16
23
  s = Schema.new do
17
24
  type :integer, check: ->(i) { i.even? }
18
25
  end
19
26
 
20
- assert_nil s.validate!(2)
21
- assert_nil s.validate!(-8)
22
- assert_nil s.validate!(0)
27
+ assert_nothing_raised { s.validate!(2) }
28
+ assert_nothing_raised { s.validate!(-8) }
29
+ assert_nothing_raised { s.validate!(0) }
23
30
  assert_verr { s.validate!(1) }
24
31
  assert_verr { s.validate!(-7) }
25
32
  assert_verr { s.validate!(2.1) }
@@ -29,7 +36,7 @@ module Schemacop
29
36
  s = Schema.new do
30
37
  type :number, check: proc { |x| x == 42 }
31
38
  end
32
- assert_nil s.validate!(42)
39
+ assert_nothing_raised { s.validate!(42) }
33
40
  assert_verr { s.validate!(42.1) }
34
41
  assert_verr { s.validate!(0) }
35
42
  end
@@ -40,7 +47,7 @@ module Schemacop
40
47
  type :integer
41
48
  end
42
49
  end
43
- assert_nil s.validate!([1, 2, 3])
50
+ assert_nothing_raised { s.validate!([1, 2, 3]) }
44
51
  assert_verr { s.validate!([2, 3, 4]) }
45
52
  end
46
53
 
@@ -51,7 +58,7 @@ module Schemacop
51
58
  end
52
59
  end
53
60
 
54
- assert_nil s.validate!([4, 3, 2])
61
+ assert_nothing_raised { s.validate!([4, 3, 2]) }
55
62
  assert_verr { s.validate!([3, 2]) }
56
63
  assert_verr { s.validate!([4, 1]) }
57
64
  end
@@ -61,7 +68,7 @@ module Schemacop
61
68
  opt 1, :integer
62
69
  opt 'two', :string
63
70
  end
64
- assert_nil s.validate!(1 => 1, 'two' => 'two')
71
+ assert_nothing_raised { s.validate!(1 => 1, 'two' => 'two') }
65
72
  assert_verr { s.validate!(1 => 2, 'two' => 'two') }
66
73
  assert_verr { s.validate!(1 => 1, 'two' => 'one') }
67
74
  end
@@ -75,9 +82,9 @@ module Schemacop
75
82
  req :first_name, :string, min: 3
76
83
  end
77
84
 
78
- assert_nil s.validate!(first_name: 'Bob')
79
- assert_nil s.validate!(first_name: 'Sandy')
80
- assert_nil s.validate!(first_name: 'Sansibar')
85
+ assert_nothing_raised { s.validate!(first_name: 'Bob') }
86
+ assert_nothing_raised { s.validate!(first_name: 'Sandy') }
87
+ assert_nothing_raised { s.validate!(first_name: 'Sansibar') }
81
88
 
82
89
  assert_verr { s.validate!(first_name: 'Sandkasten') }
83
90
  assert_verr { s.validate!(first_name: 'a') }
@@ -7,7 +7,7 @@ module Schemacop
7
7
  type :integer, if: proc { |data| data.odd? }
8
8
  end
9
9
 
10
- assert_nil s.validate! 5
10
+ assert_nothing_raised { s.validate! 5 }
11
11
  assert_verr { s.validate! nil }
12
12
  assert_verr { s.validate! 4 }
13
13
  end
@@ -18,8 +18,8 @@ module Schemacop
18
18
  type :string
19
19
  end
20
20
 
21
- assert_nil s.validate!(5)
22
- assert_nil s.validate!('abc')
21
+ assert_nothing_raised { s.validate!(5) }
22
+ assert_nothing_raised { s.validate!('abc') }
23
23
  assert_verr { s.validate!(4) }
24
24
  end
25
25
 
@@ -29,8 +29,8 @@ module Schemacop
29
29
  req :foo, :string, min: 5
30
30
  end
31
31
 
32
- assert_nil s.validate!(foo: 'abc')
33
- assert_nil s.validate!(foo: 'bcdef')
32
+ assert_nothing_raised { s.validate!(foo: 'abc') }
33
+ assert_nothing_raised { s.validate!(foo: 'bcdef') }
34
34
  assert_verr { s.validate!(foo: 'a') }
35
35
  assert_verr { s.validate!(foo: 'bcde') }
36
36
  end
@@ -41,8 +41,8 @@ module Schemacop
41
41
  req :foo, :integer
42
42
  end
43
43
 
44
- assert_nil s.validate!(foo: 3)
45
- assert_nil s.validate!(foo: 'abc')
44
+ assert_nothing_raised { s.validate!(foo: 3) }
45
+ assert_nothing_raised { s.validate!(foo: 'abc') }
46
46
  assert_verr { s.validate!(foo: 'bcd') }
47
47
  assert_verr { s.validate!(foo: true) }
48
48
  end
@@ -61,8 +61,8 @@ module Schemacop
61
61
  end
62
62
  end
63
63
 
64
- assert_nil s.validate!(user: [{ admin: true, admin_only: 'foo' }, { admin: false, non_admin_only: 'foo' }])
65
- assert_nil s.validate!(user: [{ admin: true, admin_only: 'foo' }, { non_admin_only: 'foo' }])
64
+ assert_nothing_raised { s.validate!(user: [{ admin: true, admin_only: 'foo' }, { admin: false, non_admin_only: 'foo' }]) }
65
+ assert_nothing_raised { s.validate!(user: [{ admin: true, admin_only: 'foo' }, { non_admin_only: 'foo' }]) }
66
66
  assert_verr { s.validate!(user: [{ admin: false, admin_only: 'foo' }]) }
67
67
  assert_verr { s.validate!(user: [{ admin: true, non_admin_only: 'foo' }]) }
68
68
  end
@@ -75,8 +75,8 @@ module Schemacop
75
75
  req :bar, :integer
76
76
  end
77
77
 
78
- assert_nil s.validate!(foo: 5, bar: 5)
79
- assert_nil s.validate!(foo: 5, bar: 4)
78
+ assert_nothing_raised { s.validate!(foo: 5, bar: 5) }
79
+ assert_nothing_raised { s.validate!(foo: 5, bar: 4) }
80
80
  assert_verr { s.validate!(foo: 4, bar: 5) }
81
81
  assert_verr { s.validate!(foo: 4, bar: 4) }
82
82
  end
@@ -87,7 +87,7 @@ module Schemacop
87
87
  opt :foo, :integer
88
88
  end
89
89
 
90
- assert_nil s.validate!(foo: 4)
90
+ assert_nothing_raised { s.validate!(foo: 4) }
91
91
  assert_verr { s.validate!({}) }
92
92
  assert_verr { s.validate!('something') }
93
93
  end
@@ -0,0 +1,71 @@
1
+ require 'test_helper'
2
+
3
+ module Schemacop
4
+ class DefaultsTest < Minitest::Test
5
+ def test_basic
6
+ s = Schema.new :integer, default: 42
7
+
8
+ input = nil
9
+ output = s.validate!(input)
10
+
11
+ assert_equal(42, output)
12
+ end
13
+
14
+ def test_hash
15
+ s = Schema.new do
16
+ opt :foo, :string, default: 'bar'
17
+ end
18
+
19
+ input = { foo: nil }
20
+ output = s.validate!(input)
21
+ assert_equal({ foo: 'bar' }, output)
22
+ end
23
+
24
+ def test_missing_hash_key
25
+ s = Schema.new do
26
+ opt :foo, :string, default: 'bar'
27
+ end
28
+
29
+ input = {}
30
+ output = s.validate!(input)
31
+ assert_equal({ foo: 'bar' }, output)
32
+ end
33
+
34
+ def test_entire_hash
35
+ s = Schema.new do
36
+ opt :foo, :hash, default: { name: { first: 'Foo', last: 'Bar' } } do
37
+ req :name do
38
+ req :first
39
+ req :last
40
+ end
41
+ end
42
+ end
43
+
44
+ input = {}
45
+ output = s.validate!(input)
46
+ assert_equal({ foo: { name: { first: 'Foo', last: 'Bar' } } }, output)
47
+ end
48
+
49
+ def test_entire_array
50
+ s = Schema.new do
51
+ opt :foo, :array, default: [{ bar: 42 }] do
52
+ req :bar
53
+ end
54
+ end
55
+
56
+ input = {}
57
+ output = s.validate!(input)
58
+ assert_equal({ foo: [{ bar: 42 }] }, output)
59
+ end
60
+
61
+ def test_invalid_default
62
+ s = Schema.new :integer, default: '42'
63
+
64
+ input = nil
65
+
66
+ assert_verr do
67
+ s.validate!(input)
68
+ end
69
+ end
70
+ end
71
+ end
@@ -14,8 +14,8 @@ module Schemacop
14
14
  type :boolean
15
15
  end
16
16
  end
17
- assert_nil s.validate!(o: nil, r: false)
18
- assert_nil s.validate!(o: false, r: false)
17
+ assert_nothing_raised { s.validate!(o: nil, r: false) }
18
+ assert_nothing_raised { s.validate!(o: false, r: false) }
19
19
  assert_verr { s.validate!(o: true, r: nil) }
20
20
  assert_verr { s.validate!(o: nil, r: nil) }
21
21
  assert_verr { s.validate!(r: true) }
@@ -30,10 +30,10 @@ module Schemacop
30
30
  type :boolean
31
31
  end
32
32
  end
33
- assert_nil s.validate!(o: nil, r: false)
34
- assert_nil s.validate!(o: false, r: false)
35
- assert_nil s.validate!(r: true)
36
- assert_nil s.validate!({})
33
+ assert_nothing_raised { s.validate!(o: nil, r: false) }
34
+ assert_nothing_raised { s.validate!(o: false, r: false) }
35
+ assert_nothing_raised { s.validate!(r: true) }
36
+ assert_nothing_raised { s.validate!({}) }
37
37
  assert_verr { s.validate!(o: true, r: nil) }
38
38
  assert_verr { s.validate!(o: nil, r: nil) }
39
39
  end
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+
3
+ module Schemacop
4
+ class NodeResolverTest < Minitest::Test
5
+ class ClassA; end
6
+ class ClassB; end
7
+ class ClassC; end
8
+ class ClassD; end
9
+
10
+ def test_insert_before
11
+ prev_node_classes = NodeResolver.node_classes
12
+
13
+ NodeResolver.node_classes = []
14
+
15
+ NodeResolver.register(ClassA)
16
+ NodeResolver.register(ClassB)
17
+ NodeResolver.register(ClassC)
18
+ NodeResolver.register(ClassD, before: ClassB)
19
+
20
+ assert_equal [ClassA, ClassD, ClassB, ClassC],
21
+ NodeResolver.node_classes
22
+ ensure
23
+ NodeResolver.node_classes = prev_node_classes
24
+ end
25
+ end
26
+ end
@@ -5,6 +5,17 @@ module Schemacop
5
5
  class User; end
6
6
  class Group; end
7
7
 
8
+ def test_untyped
9
+ s = Schema.new do
10
+ req :foo
11
+ end
12
+
13
+ assert_nothing_raised { s.validate!(foo: 3) }
14
+ assert_nothing_raised { s.validate!(foo: '42') }
15
+ assert_nothing_raised { s.validate!(foo: Object.new) }
16
+ assert_verr { s.validate!(foo: nil) }
17
+ end
18
+
8
19
  def test_constructor_defaults_to_hash
9
20
  s = Schema.new do
10
21
  req! :r do
@@ -15,8 +26,8 @@ module Schemacop
15
26
  end
16
27
  end
17
28
 
18
- assert_nil s.validate!(r: 3)
19
- assert_nil s.validate!(r: 3, o: 1)
29
+ assert_nothing_raised { s.validate!(r: 3) }
30
+ assert_nothing_raised { s.validate!(r: 3, o: 1) }
20
31
  assert_verr { s.validate!(o: 1) }
21
32
  assert_verr { s.validate!(1) }
22
33
  assert_verr { s.validate!(r: 3, n: 5) }
@@ -30,8 +41,8 @@ module Schemacop
30
41
  end
31
42
  end
32
43
 
33
- assert_nil s.validate!(r: 3)
34
- assert_nil s.validate!(r: 'asd', o: self)
44
+ assert_nothing_raised { s.validate!(r: 3) }
45
+ assert_nothing_raised { s.validate!(r: 'asd', o: self) }
35
46
  assert_verr { s.validate!(o: -5.3) }
36
47
  assert_verr { s.validate!(Class) }
37
48
  assert_verr { s.validate!(r: s, n: true) }
@@ -45,8 +56,8 @@ module Schemacop
45
56
  end
46
57
  end
47
58
 
48
- assert_nil s.validate!(i: 5)
49
- assert_nil s.validate!(i: 5, f: 2.3)
59
+ assert_nothing_raised { s.validate!(i: 5) }
60
+ assert_nothing_raised { s.validate!(i: 5, f: 2.3) }
50
61
  assert_verr { s.validate!(i: 4, f: 2.3) }
51
62
  assert_verr { s.validate!(i: 5, f: 2.2) }
52
63
  assert_verr { s.validate!(i: 5, f: 3.4) }
@@ -57,7 +68,7 @@ module Schemacop
57
68
 
58
69
  def test_inline_type_in_constructor
59
70
  s = Schema.new :integer, min: 2, max: 4
60
- assert_nil s.validate!(3)
71
+ assert_nothing_raised { s.validate!(3) }
61
72
  assert_verr { s.validate!(5) }
62
73
  assert_verr { s.validate!(1) }
63
74
  end
@@ -69,9 +80,9 @@ module Schemacop
69
80
  opt! :optint, :integer, min: 2, max: 3
70
81
  end
71
82
 
72
- assert_nil s.validate!(nilbool: nil, nilint: nil)
73
- assert_nil s.validate!(nilbool: false, nilint: 2)
74
- assert_nil s.validate!(nilbool: false, nilint: 3, optint: 2)
83
+ assert_nothing_raised { s.validate!(nilbool: nil, nilint: nil) }
84
+ assert_nothing_raised { s.validate!(nilbool: false, nilint: 2) }
85
+ assert_nothing_raised { s.validate!(nilbool: false, nilint: 3, optint: 2) }
75
86
  assert_verr { s.validate!(nilbool: false, nilint: 2, optint: nil) }
76
87
  assert_verr { s.validate!(nilbool: false, nilint: 2, optint: 4) }
77
88
  assert_verr { s.validate!(nilbool: false, nilint: -5, optint: 2) }
@@ -81,7 +92,7 @@ module Schemacop
81
92
  s = Schema.new do
82
93
  type(:array, :string)
83
94
  end
84
- assert_nil s.validate!(%w(a b))
95
+ assert_nothing_raised { s.validate!(%w(a b)) }
85
96
  end
86
97
 
87
98
  # TODO: Get the exception message into the assertion
@@ -97,10 +108,10 @@ module Schemacop
97
108
  s = Schema.new do
98
109
  type(:array, [:array, :integer])
99
110
  end
100
- assert_nil s.validate! [[], 3]
101
- assert_nil s.validate! [[:a, 9], 3]
102
- assert_nil s.validate! [[]]
103
- assert_nil s.validate! [3]
111
+ assert_nothing_raised { s.validate! [[], 3] }
112
+ assert_nothing_raised { s.validate! [[:a, 9], 3] }
113
+ assert_nothing_raised { s.validate! [[]] }
114
+ assert_nothing_raised { s.validate! [3] }
104
115
  assert_verr { s.validate! [[], 'string'] }
105
116
  assert_verr { s.validate! [3, 'string'] }
106
117
  assert_verr { s.validate! ['string'] }
@@ -119,7 +130,7 @@ module Schemacop
119
130
  s = Schema.new do
120
131
  type :array, :integer
121
132
  end
122
- assert_nil s.validate! [5]
133
+ assert_nothing_raised { s.validate! [5] }
123
134
  assert_verr { s.validate! [nil] }
124
135
  assert_verr { s.validate! ['a'] }
125
136
  assert_verr { s.validate! [5, 'a'] }
@@ -130,7 +141,7 @@ module Schemacop
130
141
  s = Schema.new do
131
142
  type :array, :array, :integer
132
143
  end
133
- assert_nil s.validate! [[5]]
144
+ assert_nothing_raised { s.validate! [[5]] }
134
145
  assert_verr { s.validate! [5] }
135
146
  assert_verr { s.validate! [[nil]] }
136
147
  assert_verr { s.validate! [['a']] }
@@ -160,22 +171,24 @@ module Schemacop
160
171
  end
161
172
  end
162
173
 
163
- assert_nil s.validate!(
164
- name: 6,
165
- foo: { bar: nil },
166
- attrs: { color: 5 },
167
- id: 'hallo',
168
- callback: :funky_function,
169
- colors: [5, 'sdf'],
170
- cars: [
171
- {
172
- make: 'Tesla',
173
- ps: 5,
174
- electric: nil,
175
- years: [1993, 1990]
176
- }
177
- ]
178
- )
174
+ assert_nothing_raised do
175
+ s.validate!(
176
+ name: 6,
177
+ foo: { bar: nil },
178
+ attrs: { color: 5 },
179
+ id: 'hallo',
180
+ callback: :funky_function,
181
+ colors: [5, 'sdf'],
182
+ cars: [
183
+ {
184
+ make: 'Tesla',
185
+ ps: 5,
186
+ electric: nil,
187
+ years: [1993, 1990]
188
+ }
189
+ ]
190
+ )
191
+ end
179
192
  end
180
193
 
181
194
  def test_super_deep_wild_should_pass
@@ -210,25 +223,27 @@ module Schemacop
210
223
  type :integer, min: 3
211
224
  end
212
225
 
213
- assert_nil s.validate!(
214
- id: 'meine ID',
215
- friends: [
216
- 'Rodney',
217
- true,
218
- false,
219
- {
220
- rod: {
221
- fritz:
222
- [
223
- [1],
224
- [3]
225
- ]
226
+ assert_nothing_raised do
227
+ s.validate!(
228
+ id: 'meine ID',
229
+ friends: [
230
+ 'Rodney',
231
+ true,
232
+ false,
233
+ {
234
+ rod: {
235
+ fritz:
236
+ [
237
+ [1],
238
+ [3]
239
+ ]
240
+ }
226
241
  }
227
- }
228
- ]
229
- )
230
- assert_nil s.validate!(id: 'my ID', friends: nil)
231
- assert_nil s.validate!(3)
242
+ ]
243
+ )
244
+ end
245
+ assert_nothing_raised { s.validate!(id: 'my ID', friends: nil) }
246
+ assert_nothing_raised { s.validate!(3) }
232
247
  end
233
248
 
234
249
  def test_example_from_readme
@@ -244,12 +259,14 @@ module Schemacop
244
259
  end
245
260
  end
246
261
 
247
- assert_nil schema.validate!(
248
- naming: { first_name: 'John',
249
- last_name: 'Doe' },
250
- age: 34,
251
- password: 'my*pass'
252
- )
262
+ assert_nothing_raised do
263
+ schema.validate!(
264
+ naming: { first_name: 'John',
265
+ last_name: 'Doe' },
266
+ age: 34,
267
+ password: 'my*pass'
268
+ )
269
+ end
253
270
 
254
271
  assert_verr do
255
272
  schema.validate!(
@@ -259,6 +276,7 @@ module Schemacop
259
276
  password: 'my*pass'
260
277
  )
261
278
  end
279
+
262
280
  assert_verr do
263
281
  schema.validate!(
264
282
  naming: { first_name: 'John',
@@ -277,8 +295,8 @@ module Schemacop
277
295
  req :description, :string, min: 35
278
296
  end
279
297
 
280
- assert_nil schema2.validate!(description: 'Abstract: a short description')
281
- assert_nil schema2.validate!(description: 'Since this is no abstract, we expect it to be longer.')
298
+ assert_nothing_raised { schema2.validate!(description: 'Abstract: a short description') }
299
+ assert_nothing_raised { schema2.validate!(description: 'Since this is no abstract, we expect it to be longer.') }
282
300
  assert_verr { schema2.validate!(description: 'Abstract: A short description.') }
283
301
  assert_verr { schema2.validate!(description: 'Abstract: This is gonna be way way too long for an abstract.') }
284
302
  assert_verr { schema2.validate!(description: 'This is too short.') }
@@ -288,16 +306,16 @@ module Schemacop
288
306
  s = Schema.new do
289
307
  type :array, :integer, min: 3
290
308
  end
291
- assert_nil s.validate!([3])
292
- assert_nil s.validate!([3, 4, 5])
309
+ assert_nothing_raised { s.validate!([3]) }
310
+ assert_nothing_raised { s.validate!([3, 4, 5]) }
293
311
  assert_verr { s.validate!([3, 2]) }
294
312
  assert_verr { s.validate!([5, 'string']) }
295
313
  end
296
314
 
297
315
  def test_one_line_array_schema
298
316
  s = Schema.new :array, :integer, min: 3
299
- assert_nil s.validate!([3])
300
- assert_nil s.validate!([3, 4, 5])
317
+ assert_nothing_raised { s.validate!([3]) }
318
+ assert_nothing_raised { s.validate!([3, 4, 5]) }
301
319
  assert_verr { s.validate!([3, 2]) }
302
320
  assert_verr { s.validate!([5, 'string']) }
303
321
  end
@@ -306,14 +324,14 @@ module Schemacop
306
324
  s = Schema.new do
307
325
  req :bar
308
326
  end
309
- assert_nil s.validate!(bar: 2)
327
+ assert_nothing_raised { s.validate!(bar: 2) }
310
328
  assert_verr { s.validate!(foo: 2) }
311
329
  assert_verr { s.validate!([2]) }
312
330
  end
313
331
 
314
332
  def test_one_line_string_schema
315
333
  s = Schema.new :string, min: 4
316
- assert_nil s.validate!('1234')
334
+ assert_nothing_raised { s.validate!('1234') }
317
335
  assert_verr { s.validate!('123') }
318
336
  assert_verr { s.validate!(string: '1234') }
319
337
  end
@@ -324,7 +342,7 @@ module Schemacop
324
342
  req :group, Group
325
343
  end
326
344
 
327
- assert_nil s.validate!(user: User.new, group: Group.new)
345
+ assert_nothing_raised { s.validate!(user: User.new, group: Group.new) }
328
346
  assert_verr { s.validate!(user: Group.new, group: User.new) }
329
347
  end
330
348
  end