1#============================================================= -*-perl-*- 2# 3# t/cgi.t 4# 5# Test the CGI plugin. 6# 7# Written by Andy Wardley <abw@kfs.org> 8# 9# Copyright (C) 1996-2000 Andy Wardley. All Rights Reserved. 10# Copyright (C) 1998-2000 Canon Research Centre Europe Ltd. 11# 12# This is free software; you can redistribute it and/or modify it 13# under the same terms as Perl itself. 14# 15# $Id$ 16# 17#======================================================================== 18 19use strict; 20use lib qw( ../lib ); 21use Template; 22use Template::Test; 23$^W = 1; 24 25#$Template::Parser::DEBUG = 1; 26#$Template::Parser::PRETTY = 1; 27#$Template::Stash::DEBUG = 1; 28 29eval "use CGI"; 30if ($@) { 31 skip_all("no CGI module"); 32} 33 34 35my $cgi = CGI->new(''); 36$cgi = join("\n", $cgi->checkbox_group( 37 -name => 'words', 38 -values => [ 'eenie', 'meenie', 'minie', 'moe' ], 39 -defaults => [ 'eenie', 'meenie' ], 40)); 41 42 43test_expect(\*DATA, undef, { cgicheck => $cgi, barf => \&barf }); 44 45sub barf { 46 carp('failed'); 47} 48 49 50__END__ 51-- test -- 52[% USE cgi = CGI('id=abw&name=Andy+Wardley'); global.cgi = cgi -%] 53name: [% global.cgi.param('name') %] 54-- expect -- 55name: Andy Wardley 56 57-- test -- 58name: [% global.cgi.param('name') %] 59 60-- expect -- 61name: Andy Wardley 62 63-- test -- 64[% FOREACH key = global.cgi.param.sort -%] 65 * [% key %] : [% global.cgi.param(key) %] 66[% END %] 67-- expect -- 68 * id : abw 69 * name : Andy Wardley 70 71-- test -- 72[% FOREACH key = global.cgi.param().sort -%] 73 * [% key %] : [% global.cgi.param(key) %] 74[% END %] 75-- expect -- 76 * id : abw 77 * name : Andy Wardley 78 79-- test -- 80[% FOREACH x = global.cgi.checkbox_group( 81 name => 'words' 82 values => [ 'eenie', 'meenie', 'minie', 'moe' ] 83 defaults => [ 'eenie', 'meenie' ] ) -%] 84[% x %] 85[% END %] 86 87-- expect -- 88-- process -- 89[% cgicheck %] 90 91-- test -- 92[% USE cgi('item=foo&items=one&items=two') -%] 93item: [% cgi.params.item %] 94item: [% cgi.params.item.join(', ') %] 95items: [% cgi.params.items.join(', ') %] 96 97-- expect -- 98item: foo 99item: foo 100items: one, two 101 102