10
my $form = HTML::Form->parse(<<"EOT", base => "http://example.com", strict => 1);
12
<input type="hidden" name="hidden_1">
14
<input type="checkbox" name="checkbox_1" value="c1_v1" CHECKED>
15
<input type="checkbox" name="checkbox_1" value="c1_v2" CHECKED>
16
<input type="checkbox" name="checkbox_2" value="c2_v1" CHECKED>
18
<select name="multi_select_field" multiple="1">
28
ok(j($form->param), "hidden_1:checkbox_1:checkbox_2:multi_select_field");
31
ok($form->param('hidden_1'), '');
32
ok($form->param('checkbox_1'), 'c1_v1');
33
ok(j($form->param('checkbox_1')), 'c1_v1:c1_v2');
34
ok($form->param('checkbox_2'), 'c2_v1');
35
ok(j($form->param('checkbox_2')), 'c2_v1');
36
ok(!defined($form->param('multi_select_field')));
37
ok(j($form->param('multi_select_field')), '');
38
ok(!defined($form->param('unknown')));
39
ok(j($form->param('unknown')), '');
43
$form->param('hidden_1', 'x');
46
ok(j($form->param('hidden_1')), '');
49
$form->param('checkbox_1', 'foo');
51
ok($@, qr/Illegal value/);
52
ok(j($form->param('checkbox_1')), 'c1_v1:c1_v2');
54
$form->param('checkbox_1', 'c1_v2');
55
ok(j($form->param('checkbox_1')), 'c1_v2');
56
$form->param('checkbox_1', 'c1_v2');
57
ok(j($form->param('checkbox_1')), 'c1_v2');
58
$form->param('checkbox_1', []);
59
ok(j($form->param('checkbox_1')), '');
60
$form->param('checkbox_1', ['c1_v2', 'c1_v1']);
61
ok(j($form->param('checkbox_1')), 'c1_v1:c1_v2');
62
$form->param('checkbox_1', []);
63
ok(j($form->param('checkbox_1')), '');
64
$form->param('checkbox_1', 'c1_v2', 'c1_v1');
65
ok(j($form->param('checkbox_1')), 'c1_v1:c1_v2');
67
$form->param('multi_select_field', 3, 2);
68
ok(j($form->param('multi_select_field')), "2:3");