File tree Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -294,13 +294,21 @@ Nette.validators = {
294294 if ( arg === undefined ) {
295295 return null ;
296296 }
297+
298+ function toString ( val ) {
299+ if ( typeof val === 'number' || typeof val === 'string' ) {
300+ return '' + val ;
301+ } else {
302+ return val === true ? '1' : '' ;
303+ }
304+ }
305+
297306 val = Nette . isArray ( val ) ? val : [ val ] ;
298307 arg = Nette . isArray ( arg ) ? arg : [ arg ] ;
299308 loop:
300309 for ( var i1 = 0 , len1 = val . length ; i1 < len1 ; i1 ++ ) {
301310 for ( var i2 = 0 , len2 = arg . length ; i2 < len2 ; i2 ++ ) {
302- /* jshint eqeqeq: false */
303- if ( val [ i1 ] == arg [ i2 ] ) {
311+ if ( toString ( val [ i1 ] ) === toString ( arg [ i2 ] ) ) {
304312 continue loop;
305313 }
306314 }
Original file line number Diff line number Diff line change @@ -5,6 +5,11 @@ describe('Nette.validators', function() {
55 expect ( Nette . validators . equal ( null , '' , 'a' ) ) . toBe ( false ) ;
66 expect ( Nette . validators . equal ( null , 'a' , 'a' ) ) . toBe ( true ) ;
77 expect ( Nette . validators . equal ( null , 0 , '0' ) ) . toBe ( true ) ;
8+ expect ( Nette . validators . equal ( null , 0 , '' ) ) . toBe ( false ) ;
9+ expect ( Nette . validators . equal ( null , null , '' ) ) . toBe ( true ) ;
10+ expect ( Nette . validators . equal ( null , false , '' ) ) . toBe ( true ) ;
11+ expect ( Nette . validators . equal ( null , false , 0 ) ) . toBe ( false ) ;
12+ expect ( Nette . validators . equal ( null , true , '1' ) ) . toBe ( true ) ;
813 expect ( Nette . validators . equal ( null , 'a' , [ 'a' ] ) ) . toBe ( true ) ;
914 expect ( Nette . validators . equal ( null , 'a' , [ 'b' ] ) ) . toBe ( false ) ;
1015 expect ( Nette . validators . equal ( null , 'a' , [ ] ) ) . toBe ( true ) ;
You can’t perform that action at this time.
0 commit comments