@@ -312,14 +312,29 @@ describe('ImageUtils', function() {
312312      } ) ; 
313313
314314      it ( 'should calculate difference' ,  function  ( )  { 
315+         a  =  imagediff . createImageData ( 1 ,  1 ) , 
316+         a . data [ 1 ]  =  200 , 
317+         b  =  imagediff . createImageData ( 1 ,  1 ) , 
318+         b . data [ 1 ]  =  158 , 
319+         c  =  imagediff . diff ( a ,  b ,  { lightness : 0 } ) , 
320+ 
321+         d  =  imagediff . createImageData ( 1 ,  1 ) ; 
322+         d . data [ 1 ]  =  42 ; 
323+         d . data [ 3 ]  =  255 ; 
324+ 
325+         expect ( c ) . toImageDiffEqual ( d ) ; 
326+       } ) ; 
327+ 
328+       it ( 'should calculate difference with adjusted lightness' ,  function  ( )  { 
315329        a  =  imagediff . createImageData ( 1 ,  1 ) , 
316330        a . data [ 1 ]  =  200 ; 
317331        b  =  imagediff . createImageData ( 1 ,  1 ) , 
318332        b . data [ 1 ]  =  158 ; 
319333        c  =  imagediff . diff ( a ,  b ) ; 
320334
321335        d  =  imagediff . createImageData ( 1 ,  1 ) ; 
322-         d . data [ 1 ]  =  42 ; 
336+         // 42 + 25 (default increased lightness) 
337+         d . data [ 1 ]  =  67 ; 
323338        d . data [ 3 ]  =  255 ; 
324339
325340        expect ( c ) . toImageDiffEqual ( d ) ; 
@@ -329,7 +344,7 @@ describe('ImageUtils', function() {
329344        a  =  imagediff . createImageData ( 3 ,  3 ) , 
330345        b  =  imagediff . createImageData ( 1 ,  1 ) , 
331346        b . data [ 1 ]  =  21 ; 
332-         c  =  imagediff . diff ( a ,  b ) ; 
347+         c  =  imagediff . diff ( a ,  b ,   { lightness :  0 } ) ; 
333348
334349        d  =  imagediff . createImageData ( 3 ,  3 ) ; 
335350        // 4 * (rowPos * imageWidth + columnPos) + rgbPos 
@@ -348,7 +363,7 @@ describe('ImageUtils', function() {
348363        a  =  imagediff . createImageData ( 3 ,  3 ) , 
349364        b  =  imagediff . createImageData ( 1 ,  1 ) , 
350365        b . data [ 1 ]  =  21 ; 
351-         c  =  imagediff . diff ( a ,  b ,  { align : 'top' } ) ; 
366+         c  =  imagediff . diff ( a ,  b ,  { lightness :  0 ,   align : 'top' } ) ; 
352367
353368        d  =  imagediff . createImageData ( 3 ,  3 ) ; 
354369        d . data [ 1 ]  =  21 ; 
@@ -361,6 +376,36 @@ describe('ImageUtils', function() {
361376
362377        expect ( c ) . toImageDiffEqual ( d ) ; 
363378      } ) ; 
379+ 
380+       it ( 'should optionally color differences' ,  function  ( )  { 
381+         a  =  imagediff . createImageData ( 1 ,  1 ) , 
382+         b  =  imagediff . createImageData ( 1 ,  1 ) ; 
383+         // Fills a grey pixel and expects c to be tinted in light pink 
384+         Array . prototype . forEach . call ( b . data ,  function  ( value ,  i )  { 
385+           b . data [ i ]  =  125 ; 
386+         } ) ; 
387+         c  =  imagediff . diff ( a ,  b ,  { rgb : [ 255 , 0 , 255 ] } ) ; 
388+ 
389+         d  =  imagediff . createImageData ( 1 ,  1 ) ; 
390+         d . data [ 0 ]  =  255 ; 
391+         d . data [ 1 ]  =  125 ; 
392+         d . data [ 2 ]  =  255 ; 
393+         d . data [ 3 ]  =  255 ; 
394+ 
395+         expect ( c ) . toImageDiffEqual ( d ) ; 
396+       } ) ; 
397+ 
398+       it ( 'should optionally show common pixels' ,  function  ( )  { 
399+         a  =  imagediff . createImageData ( 1 ,  1 ) ; 
400+         // Fills white pixels 
401+         Array . prototype . forEach . call ( a . data ,  function  ( value ,  i )  { 
402+           a . data [ i ]  =  255 ; 
403+         } ) ; 
404+         b  =  a ; 
405+         c  =  imagediff . diff ( a ,  b ,  { stack : true } ) ; 
406+ 
407+         expect ( c ) . toImageDiffEqual ( a ) ; 
408+       } ) ; 
364409    } ) ; 
365410
366411    /* 
0 commit comments