CGI-Plus
view release on metacpan or search on metacpan
#!/usr/bin/perl -w
use strict;
use Carp 'croak';
# TESTING
# BEGIN { system '/usr/bin/clear' }
# use Debug::ShowStuff ':all';
# use Debug::ShowStuff::ShowVar;
# forcetext();
# use the module
use CGI::Plus;
# plan tests
use Test::More;
plan tests => 37;
# general purpose variable
my ($val, $org, $new, $got, $should);
# stubs for comparison subroutines
sub err;
sub comp;
sub comp_bool;
sub is_def;
#------------------------------------------------------------------------------
# test environment variables
#
$ENV{'CONTEXT_DOCUMENT_ROOT'} = '/var/www/html';
$ENV{'CONTEXT_PREFIX'} = '';
$ENV{'DOCUMENT_ROOT'} = '/var/www/html';
$ENV{'GATEWAY_INTERFACE'} = 'CGI/1.1';
$ENV{'HTTP_ACCEPT'} = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$ENV{'HTTP_ACCEPT_ENCODING'} = 'gzip, deflate';
$ENV{'HTTP_ACCEPT_LANGUAGE'} = 'en-us,en;q=0.5';
$ENV{'HTTP_CONNECTION'} = 'keep-alive';
$ENV{'HTTP_COOKIE'} = 'cookie_single_val=pH3FdqRbvd; cookie_multiple_vals=v&xD5wnHLJNv&j&3';
$ENV{'HTTP_HOST'} = 'www.example.com';
$ENV{'HTTP_USER_AGENT'} = 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1';
$ENV{'LD_LIBRARY_PATH'} = '/usr/local/apache2/lib';
$ENV{'MACHINE_NAME'} = 'Idocs';
$ENV{'PATH'} = '';
$ENV{'QUERY_STRING'} = 'x=2&y=1&y=2';
$ENV{'REMOTE_ADDR'} = '999.999.999.999';
$ENV{'REMOTE_PORT'} = '39177';
$ENV{'REQUEST_METHOD'} = 'GET';
$ENV{'REQUEST_SCHEME'} = 'http';
$ENV{'REQUEST_URI'} = '/cgi-plus/?x=2&y=1&y=2';
$ENV{'SCRIPT_FILENAME'} = '/var/www/html/miko/self_link/index.pl';
$ENV{'SCRIPT_NAME'} = '/miko/self_link/index.pl';
$ENV{'SERVER_ADDR'} = '64.124.102.16';
$ENV{'SERVER_ADMIN'} = 'miko@example.com';
$ENV{'SERVER_NAME'} = 'www.example.com';
$ENV{'SERVER_PORT'} = '80';
$ENV{'SERVER_PROTOCOL'} = 'HTTP/1.1';
$ENV{'SERVER_SIGNATURE'} = '';
$ENV{'SERVER_SOFTWARE'} = 'Apache/2.4.2 (Unix)';
$ENV{'SHOWSTUFF'} = '1';
#
# test environment variables
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# main body
#
do {
#------------------------------------------------------------------------------
##- get cgi object
#
do {
my ($cgi);
my $name = 'get cgi object';
$cgi = CGI::Plus->new();
is_def '$cgi', $cgi, $name;
};
#
# get cgi object
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
##- params
#
do {
my (@ys, $cgi);
$cgi = CGI::Plus->new();
my $name = 'params';
# single param
comp $cgi->param('x'), 2, "$name: single param";
# multiple params
@ys = $cgi->param('y');
( run in 0.636 second using v1.01-cache-2.11-cpan-df04353d9ac )