anodator 0.0.5 → 1.0.0.pre1
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.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rspec +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +5 -13
- data/LICENSE.txt +18 -17
- data/{README.ja.rdoc → README.ja.md} +2 -4
- data/README.md +39 -0
- data/Rakefile +3 -47
- data/anodator.gemspec +21 -103
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/anodator/check_result.rb +1 -1
- data/lib/anodator/input_spec.rb +2 -2
- data/lib/anodator/rule.rb +2 -2
- data/lib/anodator/utils.rb +4 -4
- data/lib/anodator/validator/format_validator.rb +1 -1
- data/lib/anodator/version.rb +3 -0
- data/lib/anodator.rb +1 -2
- metadata +70 -131
- data/Gemfile.lock +0 -29
- data/README.rdoc +0 -41
- data/spec/anodator/check_result_spec.rb +0 -101
- data/spec/anodator/checker_spec.rb +0 -273
- data/spec/anodator/input_spec_item_spec.rb +0 -100
- data/spec/anodator/input_spec_spec.rb +0 -584
- data/spec/anodator/message_spec.rb +0 -112
- data/spec/anodator/output_spec_spec.rb +0 -355
- data/spec/anodator/rule_set_spec.rb +0 -190
- data/spec/anodator/rule_spec.rb +0 -278
- data/spec/anodator/utils_spec.rb +0 -48
- data/spec/anodator/validator/base_spec.rb +0 -214
- data/spec/anodator/validator/blank_validator_spec.rb +0 -52
- data/spec/anodator/validator/complex_validator_spec.rb +0 -268
- data/spec/anodator/validator/date_validator_spec.rb +0 -350
- data/spec/anodator/validator/format_validator_spec.rb +0 -158
- data/spec/anodator/validator/inclusion_validator_spec.rb +0 -77
- data/spec/anodator/validator/length_validator_spec.rb +0 -236
- data/spec/anodator/validator/numeric_validator_spec.rb +0 -538
- data/spec/anodator/validator/presence_validator_spec.rb +0 -52
- data/spec/anodator/validator_spec.rb +0 -16
- data/spec/anodator_spec.rb +0 -2
- 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
|