@@ -179,6 +179,30 @@ describe('Nette.getValue & validateRule', function() {
179
179
} ) ;
180
180
181
181
182
+ it ( 'checkbox list with single item' , function ( ) {
183
+ fixtures . set ( '<form><input type="checkbox" name="input[]" value="r" id="input-r"></form>' ) ;
184
+
185
+ var doc = fixtures . window ( ) . document ,
186
+ form = doc . forms [ 0 ] ,
187
+ el = form [ 'input[]' ] ;
188
+
189
+ expect ( Nette . getValue ( el ) ) . toEqual ( [ ] ) ;
190
+ expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( false ) ;
191
+ expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( true ) ;
192
+ expect ( Nette . validateRule ( el , 'equal' , [ 'r' , 'g' , 'b' ] ) ) . toBe ( true ) ;
193
+
194
+ doc . getElementById ( 'input-r' ) . checked = true ;
195
+ expect ( Nette . getValue ( el ) ) . toEqual ( [ 'r' ] ) ;
196
+ expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
197
+ expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
198
+ expect ( Nette . validateRule ( el , 'equal' , 'r' ) ) . toBe ( true ) ;
199
+ expect ( Nette . validateRule ( el , 'equal' , 'g' ) ) . toBe ( false ) ;
200
+ expect ( Nette . validateRule ( el , 'equal' , [ 'r' , 'g' ] ) ) . toBe ( true ) ;
201
+ expect ( Nette . validateRule ( el , 'minLength' , 1 ) ) . toBe ( true ) ;
202
+ expect ( Nette . validateRule ( el , 'minLength' , 2 ) ) . toBe ( false ) ;
203
+ } ) ;
204
+
205
+
182
206
it ( 'radio' , function ( ) {
183
207
fixtures . set ( '<form><input type="radio" name="input" value="f"><form>' ) ;
184
208
0 commit comments