Provided by: libtest-cgi-multipart-perl_0.0.3-1_all bug

NAME

       Test::CGI::Multipart::Gen::Image - Generate image test data for multipart forms

VERSION

       This document describes Test::CGI::Multipart::Gen::Image version 0.0.3

SYNOPSIS

           use Test::CGI::Multipart;
           use Test::CGI::Multipart::Gen::Image;

           my $tcm = Test::CGI::Multipart;

           # specify the form parameters
           $tcm->upload_file(
               name='Image',
               file=>'cleopatra.doc',
               width=>400,
               height=>250,
               instructions=>[
                   ['bgcolor,'red'],
                   ['fgcolor','blue'],
                   ['rectangle',30,30,100,100],
                   ['moveTo',280,210],
                   ['font','Times:italic'],
                   ['fontsize',20],
                   ['angle',-90],
                   ['string','Helloooooooooooo world!'],
               ],
               type=>'image/jpeg'
           );
           $tcm->set_param(name=>'first_name',value=>'Jim');
           $tcm->set_param(name=>'last_name',value=>'Hacker');

           # Behind the scenes this will fake the browser and web server behaviour
           # with regard to environment variables, MIME format and standard input.
           my $cgi = $tcm->create_cgi;

           # Okay now we have a CGI object which we can pass into the code
           # that needs testing and run the form handling various tests.

DESCRIPTION

       This is a callback package for Test::CGI::Multipart that facilitates the testing of the
       upload of text files of a given size and sample content.  One can specify the dimensions
       of the image and the size, font and colours of a simple string.

INTERFACE

       For information on how to use this module, see Test::CGI::Multipart especially the section
       on callbacks. What this module offers is that if the "type" parameter begins with 'image/'
       and there is no "value" parameter you can specify various human comprehensible inputs into
       the image rather than the raw binary.  In particular this covers what appears to be common
       use cases in testing image upload: namely images of various types, file sizes and
       dimensions.

       "type"
           The MIME type of the content. For this module to be interested this parameter must be
           set, and must begin with 'image/'.  What follows is taken to be the image format and
           is treated as a function to the GD::Image module.

       "width", "height"
           These are the requested dimensions of the proposed image. They are mandatory
           parameters.

       "font", "fontsize", "bgcolor", "fgcolor", "string"
           These parameters are passed straight through to the GD::Simple module.

DIAGNOSTICS

       "unexpected data structure"
           During the construction of the MIME data, the internal data structure turned out to
           have unexpected features.  Since we control that data structure that should not
           happen.

       "mismatch: is %s a file upload or not"
           The parameter was being used for both for file upload and normal parameters.

CONFIGURATION AND ENVIRONMENT

       Test::CGI::Multipart::Gen::Image requires no configuration files or environment variables.

BUGS AND LIMITATIONS

       No bugs have been reported.

       Please report any bugs or feature requests to "bug-test-cgi-multipart@rt.cpan.org", or
       through the web interface at <http://rt.cpan.org>.

AUTHOR

       Nicholas Bamber  "<nicholas@periapt.co.uk>"

LICENCE AND COPYRIGHT

       Copyright (c) 2010, Nicholas Bamber "<nicholas@periapt.co.uk>". All rights reserved.

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

DISCLAIMER OF WARRANTY

       BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE,
       TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
       COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF
       ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
       THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE
       DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

       IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT
       HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY
       THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
       INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
       SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
       LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY
       OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
       SUCH DAMAGES.