Test::Image::GD(3) A module for testing images using GD

SYNOPSIS


use Test::More plan => 1;
use Test::Image::GD;

cmp_image('test.gif', 'control.gif', '... these images should match');

# or

my $test = GD::Image->new('test.gif');
my $control = GD::Image->new('control.gif');
cmp_image($test, $control, '... these images should match');

# some other test functions ...

size_ok('camel.gif', [ 100, 350 ], '... the image is 100 x 350");

height_ok('test.gif', 200, '... the image has a height of 200');
width_ok('test.gif', 200, '... the image has a width of 200');

DESCRIPTION

This module is meant to be used for testing custom graphics, it attempts to ``visually'' compare the images, this means it ignores invisible differences like color palettes and metadata. It also provides some extra functions to check the size of the image.

FUNCTIONS

cmp_image ($got, $expected, $message)
This function will tell you whether the two images will look different, ignoring differences in the order of colors in the color palette and other invisible changes.

Both $got and $expected can be either instances of "GD::Image" or either a file handle or a file path (both are valid parameters to the "GD::Image" constructor).

size_ok ($got, [ $width, $height ], ?$message)
This function will check if an image is a certain size.

As with the "cmp_image" function, the $got parameter can be either an instance of "GD::Image" or a file handle or a file path (all are valid parameters to the "GD::Image" constructor).

height_ok ($got, $height, ?$message)
This function will check if an image is a certain height.

As with the "cmp_image" function, the $got parameter can be either an instance of "GD::Image" or a file handle or a file path (all are valid parameters to the "GD::Image" constructor).

width_ok ($got, $width, ?$message)
This function will check if an image is a certain width.

As with the "cmp_image" function, the $got parameter can be either an instance of "GD::Image" or a file handle or a file path (all are valid parameters to the "GD::Image" constructor).

TO DO

Add more functions
This module currently serves a very basic need of mine, however, I am sure as I start writing more tests against images I will find a need for other testing functions. Any suggestions are welcome.

BUGS

None that I am aware of. Of course, if you find a bug, let me know, and I will be sure to fix it.

CODE COVERAGE

I use Devel::Cover to test the code coverage of my tests, below is the Devel::Cover report on this module test suite.

 ---------------------------- ------ ------ ------ ------ ------ ------ ------
 File                           stmt   bran   cond    sub    pod   time  total
 ---------------------------- ------ ------ ------ ------ ------ ------ ------
 Test/Image/GD.pm              100.0   91.7   63.6  100.0  100.0  100.0   93.7
 ---------------------------- ------ ------ ------ ------ ------ ------ ------ 
 Total                         100.0   91.7   63.6  100.0  100.0  100.0   93.7
 ---------------------------- ------ ------ ------ ------ ------ ------ ------

AUTHOR

Stevan Little, <[email protected]>

COPYRIGHT AND LICENSE

Copyright 2005 by Infinity Interactive, Inc.

<http://www.iinteractive.com>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.