14 my $hidden_form_in = qq{<select multiple name="foo1">
15 <option value="0">bar1</option>
16 <option value="bar2">bar2</option>
17 <option value="bar3">bar3</option>
19 <select multiple name="foo2">
20 <option value="bar1">bar1</option>
21 <option value="bar2">bar2</option>
22 <option value="bar3">bar3</option>
24 <select multiple name="foo3">
25 <option value="bar1">bar1</option>
26 <option selected value="bar2">bar2</option>
27 <option value="bar3">bar3</option>
29 <select multiple name="foo4">
30 <option value="bar1">bar1</option>
31 <option selected value="bar2">bar2</option>
32 <option value="bar3">bar3</option>
34 my $q = new CGI( { foo1 => '0',
35 foo2 => ['bar1', 'bar2',],
39 my $fif = new CGI::Ex;
40 my $output = $fif->fill(scalarref => \$hidden_form_in,
43 my $is_selected = join(" ",map { m/selected/ ? "yes" : "no" } grep /option/, split ("\n",$output));
45 if ($is_selected eq "yes no no yes yes no no no no no yes no"){
48 print "Got unexpected is_seleced for select menus:\n$is_selected\n$output\n";
52 $hidden_form_in = qq{<select multiple name="foo1">
57 <select multiple name="foo2">
58 <option> bar1</option>
59 <option> bar2</option>
62 <select multiple name="foo3">
64 <option selected>bar2</option>
67 <select multiple name="foo4">
69 <option selected>bar2</option>
70 <option>bar3 </option>
73 $q = new CGI( { foo1 => 'bar1',
74 foo2 => ['bar1', 'bar2',],
79 $output = $fif->fill(scalarref => \$hidden_form_in,
82 $is_selected = join(" ",map { m/selected/ ? "yes" : "no" } grep /option/, split ("\n",$output));
84 if ($is_selected eq "yes no no yes yes no no no no no yes no"){
87 print "Got unexpected is_seleced for select menus:\n$is_selected\n$output\n";
91 # test empty option tag
93 $hidden_form_in = qq{<select name="x"><option></select>};
95 $output = $fif->fill(scalarref => \$hidden_form_in,
97 if ($output eq qq{<select name="x"><option></select>}){
100 print "Got unexpected output for empty option:\n$output\n";
104 $hidden_form_in = qq{<select name="foo1"><option><option value="bar1"></select>};
106 $output = $fif->fill(scalarref => \$hidden_form_in,
108 if ($output =~ m!^<select name="foo1"><option><option( selected(="selected")?| value="bar1"){2}></select>$!){
111 print "Got unexpected output for empty option:\n$output\n";