CGI::Test::Page - Abstract represention of an HTTP reply content
# Deferred class, only heirs can be created # $page holds a CGI::Test::Page object use CGI::Test; ok 1, $page->is_ok; ok 2, $page->user ne ''; # authenticated access my $ctype = $page->content_type; ok 3, $ctype eq "text/plain"; $page->delete;
The CGI::Test::Page class is deferred. It is an abstract representation of an HTTP reply content, which would be displayed on a browser, as a page. It does not necessarily hold HTML content.
CGI::Test::Page
Here is an outline of the class hierarchy tree, with the leading CGI::Test:: string stripped for readability, and a trailing * indicating deferred clases:
CGI::Test::
*
Page* Page::Error Page::Real* Page::HTML Page::Other Page::Text
Those classes are constructed as needed by CGI::Test. You must always call delete on them to break the circular references if you care about reclaiming unused memory.
CGI::Test
This is the interface defined at the CGI::Test::Page level. Each subclass may add further specific features, but the following is available to the whole hierarchy:
content_type
The MIME content type, along with parameters, as it appeared in the headers. For instance, it can be:
text/html; charset=ISO-8859-1
Don't assume it to be just text/html though. Use something like:
text/html
ok 1, $page->content_type =~ m|^text/html\b|;
in your regression tests, which will match whether there are parameters following the content type or not.
delete
Breaks circular references to allow proper reclaiming of unused memory. Must be the last thing to call on the object before forgetting about it.
error_code
The error code. Will be 0 to mean OK, but otherwise HTTP error codes are used, as described by HTTP::Status.
forms
Returns a list reference containing all the CGI forms on the page, as CGI::Test::Form objects. Will be an empty list for anything but CGI::Test::Page::HTML, naturally.
CGI::Test::Form
CGI::Test::Page::HTML
form_count
The amount of forms held in the forms list.
is_error
Returns true when the page indicates an HTTP error.
is_ok
Returns true when the page is not the result of an HTTP error.
server
Returns the server object that returned the page. Currently, this is the CGI::Test object, but it might change one day. In any case, this is the place where GET/POST requests may be addresed.
user
The authenticated user that requested this page, or undef if no authentication was made.
undef
You can find information about CGI::Test and other related modules at:
http://cgi-test.sourceforge.net
CGI::Test now has a publicly accessible CVS server provided by SourceForge (www.sourceforge.net). You can access it by going to:
http://sourceforge.net/cvs/?group_id=89570
The original author is Raphael Manfredi <Raphael_Manfredi@pobox.com>.
Send bug reports, hints, tips, suggestions to Steven Hilton at <mshiltonj@mshiltonj.com>
CGI::Test::Page::Error(3), CGI::Test::Page::Real(3).
To install CGI::Test, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CGI::Test
CPAN shell
perl -MCPAN -e shell install CGI::Test
For more information on module installation, please visit the detailed CPAN module installation guide.