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