Commit | Line | Data |
6b4ac661 |
1 | #!/usr/local/bin/perl -w |
424ec8fa |
2 | |
3ed077a9 |
3 | use Test::More tests => 17; |
424ec8fa |
4 | |
3ed077a9 |
5 | BEGIN { use_ok('CGI'); }; |
424ec8fa |
6 | use CGI (':standard','-no_debug'); |
424ec8fa |
7 | |
ba056755 |
8 | my $CRLF = "\015\012"; |
3ed077a9 |
9 | if ($^O eq 'VMS') { |
ba056755 |
10 | $CRLF = "\n"; # via web server carriage is inserted automatically |
11 | } |
12 | if (ord("\t") != 9) { # EBCDIC? |
13 | $CRLF = "\r\n"; |
14 | } |
15 | |
16 | |
424ec8fa |
17 | # Set up a CGI environment |
3ed077a9 |
18 | $ENV{REQUEST_METHOD} = 'GET'; |
19 | $ENV{QUERY_STRING} = 'game=chess&game=checkers&weather=dull'; |
20 | $ENV{PATH_INFO} = '/somewhere/else'; |
21 | $ENV{PATH_TRANSLATED} = '/usr/local/somewhere/else'; |
22 | $ENV{SCRIPT_NAME} ='/cgi-bin/foo.cgi'; |
424ec8fa |
23 | $ENV{SERVER_PROTOCOL} = 'HTTP/1.0'; |
3ed077a9 |
24 | $ENV{SERVER_PORT} = 8080; |
25 | $ENV{SERVER_NAME} = 'the.good.ship.lollypop.com'; |
26 | |
27 | is(start_form(-action=>'foobar',-method=>'get'), |
28 | qq(<form method="get" action="foobar" enctype="application/x-www-form-urlencoded">\n), |
29 | "start_form()"); |
30 | |
31 | is(submit(), |
32 | qq(<input type="submit" name=".submit" />), |
33 | "submit()"); |
34 | |
35 | is(submit(-name => 'foo', |
36 | -value => 'bar'), |
37 | qq(<input type="submit" name="foo" value="bar" />), |
38 | "submit(-name,-value)"); |
39 | |
40 | is(submit({-name => 'foo', |
41 | -value => 'bar'}), |
42 | qq(<input type="submit" name="foo" value="bar" />), |
43 | "submit({-name,-value})"); |
44 | |
45 | is(textfield(-name => 'weather'), |
46 | qq(<input type="text" name="weather" value="dull" />), |
47 | "textfield({-name})"); |
48 | |
49 | is(textfield(-name => 'weather', |
50 | -value => 'nice'), |
51 | qq(<input type="text" name="weather" value="dull" />), |
52 | "textfield({-name,-value})"); |
53 | |
54 | is(textfield(-name => 'weather', |
55 | -value => 'nice', |
56 | -override => 1), |
57 | qq(<input type="text" name="weather" value="nice" />), |
58 | "textfield({-name,-value,-override})"); |
59 | |
60 | is(checkbox(-name => 'weather', |
61 | -value => 'nice'), |
62 | qq(<input type="checkbox" name="weather" value="nice" />weather), |
63 | "checkbox()"); |
64 | |
65 | is(checkbox(-name => 'weather', |
66 | -value => 'nice', |
67 | -label => 'forecast'), |
68 | qq(<input type="checkbox" name="weather" value="nice" />forecast), |
69 | "checkbox()"); |
70 | |
71 | is(checkbox(-name => 'weather', |
72 | -value => 'nice', |
73 | -label => 'forecast', |
74 | -checked => 1, |
75 | -override => 1), |
76 | qq(<input type="checkbox" name="weather" value="nice" checked />forecast), |
77 | "checkbox()"); |
78 | |
79 | is(checkbox(-name => 'weather', |
80 | -value => 'dull', |
81 | -label => 'forecast'), |
82 | qq(<input type="checkbox" name="weather" value="dull" checked />forecast), |
83 | "checkbox()"); |
84 | |
85 | is(radio_group(-name => 'game'), |
86 | qq(<input type="radio" name="game" value="chess" checked />chess ). |
87 | qq(<input type="radio" name="game" value="checkers" />checkers), |
88 | 'radio_group()'); |
89 | |
90 | is(radio_group(-name => 'game', |
91 | -labels => {'chess' => 'ping pong'}), |
92 | qq(<input type="radio" name="game" value="chess" checked />ping pong ). |
93 | qq(<input type="radio" name="game" value="checkers" />checkers), |
94 | 'radio_group()'); |
95 | |
96 | is(checkbox_group(-name => 'game', |
97 | -Values => [qw/checkers chess cribbage/]), |
98 | qq(<input type="checkbox" name="game" value="checkers" checked />checkers ). |
99 | qq(<input type="checkbox" name="game" value="chess" checked />chess ). |
100 | qq(<input type="checkbox" name="game" value="cribbage" />cribbage), |
101 | 'checkbox_group()'); |
102 | |
103 | is(checkbox_group(-name => 'game', |
104 | '-values' => [qw/checkers chess cribbage/], |
105 | '-defaults' => ['cribbage'],-override=>1), |
106 | qq(<input type="checkbox" name="game" value="checkers" />checkers ). |
107 | qq(<input type="checkbox" name="game" value="chess" />chess ). |
108 | qq(<input type="checkbox" name="game" value="cribbage" checked />cribbage), |
109 | 'checkbox_group()'); |
110 | |
111 | is(popup_menu(-name => 'game', |
112 | '-values' => [qw/checkers chess cribbage/], |
113 | -default => 'cribbage', |
114 | -override => 1)."\n", |
115 | <<END, 'checkbox_group()'); |
6b4ac661 |
116 | <select name="game"> |
117 | <option value="checkers">checkers</option> |
118 | <option value="chess">chess</option> |
03b9648d |
119 | <option selected value="cribbage">cribbage</option> |
6b4ac661 |
120 | </select> |
424ec8fa |
121 | END |
122 | |