anodator 0.0.5 → 1.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +5 -13
  6. data/LICENSE.txt +18 -17
  7. data/{README.ja.rdoc → README.ja.md} +2 -4
  8. data/README.md +39 -0
  9. data/Rakefile +3 -47
  10. data/anodator.gemspec +21 -103
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/lib/anodator/check_result.rb +1 -1
  14. data/lib/anodator/input_spec.rb +2 -2
  15. data/lib/anodator/rule.rb +2 -2
  16. data/lib/anodator/utils.rb +4 -4
  17. data/lib/anodator/validator/format_validator.rb +1 -1
  18. data/lib/anodator/version.rb +3 -0
  19. data/lib/anodator.rb +1 -2
  20. metadata +70 -131
  21. data/Gemfile.lock +0 -29
  22. data/README.rdoc +0 -41
  23. data/spec/anodator/check_result_spec.rb +0 -101
  24. data/spec/anodator/checker_spec.rb +0 -273
  25. data/spec/anodator/input_spec_item_spec.rb +0 -100
  26. data/spec/anodator/input_spec_spec.rb +0 -584
  27. data/spec/anodator/message_spec.rb +0 -112
  28. data/spec/anodator/output_spec_spec.rb +0 -355
  29. data/spec/anodator/rule_set_spec.rb +0 -190
  30. data/spec/anodator/rule_spec.rb +0 -278
  31. data/spec/anodator/utils_spec.rb +0 -48
  32. data/spec/anodator/validator/base_spec.rb +0 -214
  33. data/spec/anodator/validator/blank_validator_spec.rb +0 -52
  34. data/spec/anodator/validator/complex_validator_spec.rb +0 -268
  35. data/spec/anodator/validator/date_validator_spec.rb +0 -350
  36. data/spec/anodator/validator/format_validator_spec.rb +0 -158
  37. data/spec/anodator/validator/inclusion_validator_spec.rb +0 -77
  38. data/spec/anodator/validator/length_validator_spec.rb +0 -236
  39. data/spec/anodator/validator/numeric_validator_spec.rb +0 -538
  40. data/spec/anodator/validator/presence_validator_spec.rb +0 -52
  41. data/spec/anodator/validator_spec.rb +0 -16
  42. data/spec/anodator_spec.rb +0 -2
  43. data/spec/spec_helper.rb +0 -12
@@ -1,268 +0,0 @@
1
- require "spec_helper"
2
-
3
- # Anodator::Validator::ComplexValidator
4
- require "anodator/validator/presence_validator"
5
- require "anodator/validator/complex_validator"
6
-
7
- include Anodator::Validator
8
-
9
- describe ComplexValidator, ".new" do
10
- context "with no paramerters" do
11
- it "should not raise error" do
12
- lambda {
13
- ComplexValidator.new
14
- }.should_not raise_error
15
- end
16
- end
17
-
18
- context "with :validators only, without :logic" do
19
- before(:each) do
20
- @new_proc = lambda {
21
- validators = []
22
- validators << PresenceValidator.new("1")
23
- validators << PresenceValidator.new("3")
24
- ComplexValidator.new(:validators => validators)
25
- }
26
- end
27
-
28
- it "should not raise error" do
29
- @new_proc.should_not raise_error
30
- end
31
-
32
- it ":logic should be ComplexValidator::LOGIC_AND" do
33
- complex_validator = @new_proc.call
34
- complex_validator.options[:logic].should == ComplexValidator::LOGIC_AND
35
- end
36
- end
37
-
38
- context "with :validators and :and_or option" do
39
- before(:each) do
40
- @new_proc = lambda {
41
- validators = []
42
- validators << PresenceValidator.new("1")
43
- validators << PresenceValidator.new("3")
44
- ComplexValidator.new(:validators => validators,
45
- :logic => ComplexValidator::LOGIC_OR)
46
- }
47
- end
48
-
49
- it "should not raise error" do
50
- @new_proc.should_not raise_error
51
- end
52
-
53
- it ":logic should be ComplexValidator::LOGIC_OR" do
54
- complex_validator = @new_proc.call
55
- complex_validator.options[:logic].should == ComplexValidator::LOGIC_OR
56
- end
57
- end
58
- end
59
-
60
- describe ComplexValidator, "#valid?" do
61
- context "no paramerters" do
62
- before(:each) do
63
- @validator = ComplexValidator.new
64
- Base.values = {
65
- "1" => "123",
66
- "2" => "",
67
- "3" => "message",
68
- "5" => "value",
69
- }
70
- end
71
-
72
- it "should raise error ConfigurationError" do
73
- lambda {
74
- @validator.valid?
75
- }.should raise_error ConfigurationError
76
- end
77
- end
78
-
79
- context "only :validators option" do
80
- before(:each) do
81
- @validator = ComplexValidator.new
82
- validators = []
83
- validators << PresenceValidator.new("1")
84
- validators << PresenceValidator.new("3")
85
- @validator = ComplexValidator.new(:validators => validators)
86
- end
87
-
88
- context "for values are valid" do
89
- before(:each) do
90
- Base.values = {
91
- "1" => "1",
92
- "2" => "",
93
- "3" => "3",
94
- }
95
- end
96
-
97
- it { @validator.should be_valid }
98
- end
99
-
100
- context "for values one valid, the other invalid" do
101
- before(:each) do
102
- Base.values = {
103
- "1" => "1",
104
- "2" => "",
105
- "3" => "",
106
- }
107
- end
108
-
109
- it { @validator.should_not be_valid }
110
- end
111
-
112
- context "for values are invalid at all values" do
113
- before(:each) do
114
- Base.values = {
115
- "1" => "",
116
- "2" => "3",
117
- "3" => "",
118
- }
119
- end
120
-
121
- it { @validator.should_not be_valid }
122
- end
123
- end
124
-
125
- context ":validators and :logic OR option" do
126
- before(:each) do
127
- validators = []
128
- validators << PresenceValidator.new("1")
129
- validators << PresenceValidator.new("3")
130
- @validator = ComplexValidator.new(:validators => validators,
131
- :logic => ComplexValidator::LOGIC_OR)
132
- end
133
-
134
- context "for values are valid" do
135
- before(:each) do
136
- Base.values = {
137
- "1" => "1",
138
- "2" => "",
139
- "3" => "3",
140
- }
141
- end
142
-
143
- it { @validator.should be_valid }
144
- end
145
-
146
- context "for values one valid, the other invalid" do
147
- before(:each) do
148
- Base.values = {
149
- "1" => "1",
150
- "2" => "",
151
- "3" => "",
152
- }
153
- end
154
-
155
- it { @validator.should be_valid }
156
- end
157
-
158
- context "for values are invalid at all values" do
159
- before(:each) do
160
- Base.values = {
161
- "1" => "",
162
- "2" => "3",
163
- "3" => "",
164
- }
165
- end
166
-
167
- it { @validator.should_not be_valid }
168
- end
169
- end
170
-
171
- context "for nested complex validator(A && (B || C))" do
172
- before(:each) do
173
- validators1, validators2 = [], []
174
- validators2 << PresenceValidator.new("A")
175
- validators1 << PresenceValidator.new("B")
176
- validators1 << PresenceValidator.new("C")
177
- validator1 = ComplexValidator.new(:validators => validators1,
178
- :logic => ComplexValidator::LOGIC_OR)
179
- validators2 << validator1
180
- @validator = ComplexValidator.new(:validators => validators2,
181
- :logic => ComplexValidator::LOGIC_AND)
182
- end
183
-
184
- context "for A(1), B(1), C(1)" do
185
- before(:each) do
186
- Base.values = {
187
- "A" => "1",
188
- "B" => "1",
189
- "C" => "1",
190
- }
191
- end
192
-
193
- it { @validator.should be_valid }
194
- end
195
-
196
- context "for A(), B(1), C(1)" do
197
- before(:each) do
198
- Base.values = {
199
- "A" => "",
200
- "B" => "1",
201
- "C" => "1",
202
- }
203
- end
204
-
205
- it { @validator.should_not be_valid }
206
- end
207
-
208
- context "for A(), B(), C(1)" do
209
- before(:each) do
210
- Base.values = {
211
- "A" => "",
212
- "B" => "",
213
- "C" => "1",
214
- }
215
- end
216
-
217
- it { @validator.should_not be_valid }
218
- end
219
-
220
- context "for A(1), B(), C()" do
221
- before(:each) do
222
- Base.values = {
223
- "A" => "1",
224
- "B" => "",
225
- "C" => "",
226
- }
227
- end
228
-
229
- it { @validator.should_not be_valid }
230
- end
231
-
232
- context "for A(1), B(), C(1)" do
233
- before(:each) do
234
- Base.values = {
235
- "A" => "1",
236
- "B" => "",
237
- "C" => "1",
238
- }
239
- end
240
-
241
- it { @validator.should be_valid }
242
- end
243
-
244
- context "for A(1), B(1), C()" do
245
- before(:each) do
246
- Base.values = {
247
- "A" => "1",
248
- "B" => "1",
249
- "C" => "",
250
- }
251
- end
252
-
253
- it { @validator.should be_valid }
254
- end
255
-
256
- context "for A(), B(), C()" do
257
- before(:each) do
258
- Base.values = {
259
- "A" => "",
260
- "B" => "",
261
- "C" => "",
262
- }
263
- end
264
-
265
- it { @validator.should_not be_valid }
266
- end
267
- end
268
- end
@@ -1,350 +0,0 @@
1
- require "spec_helper"
2
-
3
- # Anodator::Validator::DateValidator
4
- require "anodator/validator/date_validator"
5
-
6
- include Anodator::Validator
7
-
8
- describe DateValidator, ".new" do
9
- context "with no parameters" do
10
- it "should raise ArgumentError" do
11
- lambda {
12
- DateValidator.new
13
- }.should raise_error ArgumentError
14
- end
15
- end
16
-
17
- context "with only target expression" do
18
- before(:each) do
19
- @new_proc = lambda {
20
- DateValidator.new("1")
21
- }
22
- end
23
-
24
- it "should not raise error" do
25
- @new_proc.should_not raise_error
26
- end
27
-
28
- it { @new_proc.call.format.should == "YYYY-MM-DD" }
29
- end
30
-
31
- context "with target expression and :format option" do
32
- context ":format option is valid" do
33
- before(:each) do
34
- @new_proc = lambda {
35
- DateValidator.new("1", :format => "YYYY/MM/DD")
36
- }
37
- end
38
-
39
- it "should not raise error" do
40
- @new_proc.should_not raise_error
41
- end
42
-
43
- context "and :from same format" do
44
- before(:each) do
45
- @new_proc = lambda {
46
- DateValidator.new("1", :format => "YYYY/MM/DD", :from => "2011/01/01")
47
- }
48
- end
49
-
50
- it "should not raise error" do
51
- @new_proc.should_not raise_error
52
- end
53
- end
54
- end
55
-
56
- context ":format option contains double YYYY is invalid" do
57
- before(:each) do
58
- @new_proc = lambda {
59
- DateValidator.new("1", :format => "YYYY/MM-DD YYYY")
60
- }
61
- end
62
-
63
- it "should raise ArgumentError" do
64
- @new_proc.should raise_error ArgumentError
65
- end
66
- end
67
-
68
- context ":format option not contains D is invalid" do
69
- before(:each) do
70
- @new_proc = lambda {
71
- DateValidator.new("1", :format => "YY/M")
72
- }
73
- end
74
-
75
- it "should raise ArgumentError" do
76
- @new_proc.should raise_error ArgumentError
77
- end
78
- end
79
-
80
- context "when :format option contains short year with based on 1900" do
81
- before(:each) do
82
- @new_proc = lambda {
83
- DateValidator.new("Birthday",
84
- :format => "M/D/YY", :base_year => 1900,
85
- :from => "1/25/80", :to => Date.new(2011, 1, 1))
86
- }
87
- end
88
-
89
- it "should not raise error" do
90
- @new_proc.should_not raise_error
91
- end
92
-
93
- it "#from should be 1980-01-25" do
94
- @new_proc.call.from.value.should == Date.new(1980, 1, 25)
95
- end
96
-
97
- it "#to should be 2011-01-01" do
98
- @new_proc.call.to.value.should == Date.new(2011, 1, 1)
99
- end
100
- end
101
- end
102
-
103
- context "with target expression and :from option with Date object" do
104
- before(:each) do
105
- @new_proc = lambda {
106
- DateValidator.new("1", :from => Date.new(2011, 1, 1))
107
- }
108
- end
109
-
110
- it "should not raise error" do
111
- @new_proc.should_not raise_error
112
- end
113
-
114
- it "#from should be date object" do
115
- @new_proc.call.from.value.should be_a Date
116
- end
117
- end
118
-
119
- context "with target expression and :from option with String object" do
120
- before(:each) do
121
- @new_proc = lambda {
122
- DateValidator.new("1", :from => "2011-01-01")
123
- }
124
- end
125
-
126
- it "should not raise error" do
127
- @new_proc.should_not raise_error
128
- end
129
-
130
- it "#from should be date object" do
131
- @new_proc.call.from.value.should be_a Date
132
- end
133
-
134
- it "#from should be same date for string expression" do
135
- @new_proc.call.from.value.should == Date.new(2011, 1, 1)
136
- end
137
- end
138
-
139
- context "with target expression and :from option with invalid format date String object" do
140
- before(:each) do
141
- @new_proc = lambda {
142
- DateValidator.new("1", :from => "2011-01-34")
143
- }
144
- end
145
-
146
- it "should raise ArgumentError" do
147
- @new_proc.should raise_error ArgumentError
148
- end
149
- end
150
-
151
- context "with target expression and :to option with Date object" do
152
- before(:each) do
153
- @new_proc = lambda {
154
- DateValidator.new("1", :to => Date.new(2011, 1, 1))
155
- }
156
- end
157
-
158
- it "should not raise error" do
159
- @new_proc.should_not raise_error
160
- end
161
-
162
- it "#to should be date object" do
163
- @new_proc.call.to.value.should be_a Date
164
- end
165
- end
166
-
167
- context "with target expression and :to option with String object" do
168
- before(:each) do
169
- @new_proc = lambda {
170
- DateValidator.new("1", :to => "2011-01-01")
171
- }
172
- end
173
-
174
- it "should not raise error" do
175
- @new_proc.should_not raise_error
176
- end
177
-
178
- it "#to should be date object" do
179
- @new_proc.call.to.value.should be_a Date
180
- end
181
-
182
- it "#to should be same date for string expression" do
183
- @new_proc.call.to.value.should == Date.new(2011, 1, 1)
184
- end
185
- end
186
-
187
- context "with target expression and :to option with invalid format date String object" do
188
- before(:each) do
189
- @new_proc = lambda {
190
- DateValidator.new("1", :to => "2011-01-34")
191
- }
192
- end
193
-
194
- it "should raise ArgumentError" do
195
- @new_proc.should raise_error ArgumentError
196
- end
197
- end
198
- end
199
-
200
- describe DateValidator, "#valid?" do
201
- context "with only target expression" do
202
- before(:each) do
203
- @validator = DateValidator.new("1")
204
- end
205
-
206
- context "invalid date expression" do
207
- before(:each) do
208
- Validator::Base.values = { "1" => "2011-34-42" }
209
- end
210
-
211
- it { @validator.should_not be_valid }
212
- end
213
-
214
- context "valid date expression" do
215
- before(:each) do
216
- Validator::Base.values = { "1" => "2011-04-02" }
217
- end
218
-
219
- it { @validator.should be_valid }
220
- end
221
- end
222
-
223
- context "with target expression and :from option" do
224
- before(:each) do
225
- @validator = DateValidator.new("1", :from => "2011-04-01")
226
- end
227
-
228
- context "invalid date expression" do
229
- before(:each) do
230
- Validator::Base.values = { "1" => "2011-34-42" }
231
- end
232
-
233
- it { @validator.should_not be_valid }
234
- end
235
-
236
- context "invalid date by :from option" do
237
- before(:each) do
238
- Validator::Base.values = { "1" => "2011-03-31" }
239
- end
240
-
241
- it { @validator.should_not be_valid }
242
- end
243
-
244
- context "valid date by :from option" do
245
- before(:each) do
246
- Validator::Base.values = { "1" => "2011-04-01" }
247
- end
248
-
249
- it { @validator.should be_valid }
250
- end
251
- end
252
-
253
- context "with target expression and :to option" do
254
- before(:each) do
255
- @validator = DateValidator.new("1", :to => "2011-04-01")
256
- end
257
-
258
- context "invalid date expression" do
259
- before(:each) do
260
- Validator::Base.values = { "1" => "2011-34-42" }
261
- end
262
-
263
- it { @validator.should_not be_valid }
264
- end
265
-
266
- context "invalid date by :to option" do
267
- before(:each) do
268
- Validator::Base.values = { "1" => "2011-04-02" }
269
- end
270
-
271
- it { @validator.should_not be_valid }
272
- end
273
-
274
- context "valid date by :to option" do
275
- before(:each) do
276
- Validator::Base.values = { "1" => "2011-04-01" }
277
- end
278
-
279
- it { @validator.should be_valid }
280
- end
281
- end
282
-
283
- context "with target expression and :to and :from option" do
284
- before(:each) do
285
- @validator = DateValidator.new("1", :from => "2010-04-01", :to => "2011-03-31")
286
- end
287
-
288
- context "invalid date expression" do
289
- before(:each) do
290
- Validator::Base.values = { "1" => "2011-34-42" }
291
- end
292
-
293
- it { @validator.should_not be_valid }
294
- end
295
-
296
- context "invalid date by :from option" do
297
- before(:each) do
298
- Validator::Base.values = { "1" => "2010-03-31" }
299
- end
300
-
301
- it { @validator.should_not be_valid }
302
- end
303
-
304
- context "invalid date by :to option" do
305
- before(:each) do
306
- Validator::Base.values = { "1" => "2011-04-01" }
307
- end
308
-
309
- it { @validator.should_not be_valid }
310
- end
311
-
312
- context "valid date by :from and :to option" do
313
- before(:each) do
314
- Validator::Base.values = { "1" => "2010-05-31" }
315
- end
316
-
317
- it { @validator.should be_valid }
318
- end
319
- end
320
-
321
- context "with target expression with :allow_blank => true" do
322
- before(:each) do
323
- @validator = DateValidator.new("1", :allow_blank => true)
324
- end
325
-
326
- context "invalid date expression" do
327
- before(:each) do
328
- Validator::Base.values = { "1" => "2011-34-42" }
329
- end
330
-
331
- it { @validator.should_not be_valid }
332
- end
333
-
334
- context "valid date expression" do
335
- before(:each) do
336
- Validator::Base.values = { "1" => "2011-04-02" }
337
- end
338
-
339
- it { @validator.should be_valid }
340
- end
341
-
342
- context "blank value" do
343
- before(:each) do
344
- Validator::Base.values = { "1" => "" }
345
- end
346
-
347
- it { @validator.should be_valid }
348
- end
349
- end
350
- end