@@ -179,6 +179,30 @@ describe('Nette.getValue & validateRule', function() {
179179 } ) ;
180180
181181
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+
182206 it ( 'radio' , function ( ) {
183207 fixtures . set ( '<form><input type="radio" name="input" value="f"><form>' ) ;
184208
0 commit comments