10 use_ok('HTML::Form::Simple');
12 my $form = HTML::Form::Simple->new;
13 ok($form, 'new form');
24 $form->start({method => 'get', action => '', ignore => undef}),
25 '<form action="" method="get">',
26 'start with attributes'
30 eval { $form->start('should be a hashref') },
45 '<input type="hidden">',
50 $form->hidden(foo => 'bar'),
51 '<input name="foo" type="hidden" value="bar">',
61 '<input type="submit">',
66 $form->submit('<OK>'),
67 '<input type="submit" value="<OK>">',
72 $form->submit({disabled => 1, id => 'test', type => 'button'}),
73 '<input disabled id="test" type="button">',
78 $form->submit('<OK>', {type => '', value => 'override', id => ''}),
79 '<input value="<OK>">',
87 '<input type="text">',
92 $form->input(undef, undef, undef),
93 '<input type="text">',
94 'explicit empty input'
99 '<input id="test" name="test" type="text">',
104 $form->input(undef, 'test'),
105 '<input type="text" value="test">',
110 $form->input(undef, {value => 'test'}),
111 '<input type="text" value="test">',
112 'input with attribute value'
116 $form->input({name => 'test', value => ''}),
117 '<input id="test" name="test" type="text" value="">',
118 'input with only attributes'
122 $form->input('', '', {disabled => 0, something => undef}),
123 '<input name="" type="text" value="">',
124 'input with empty attributes'
128 $form->input(undef, undef, {name => 'override', value => 'override'}),
129 '<input type="text">',
130 'ignore input overrides'
134 $form->input('name', {id => ''}),
135 '<input name="name" type="text">',
136 'input with id override'
140 $form->input('<">', '<">', {id => '>"<'}),
141 '<input id=">"<" name="<">" type="text" value="<">">',
146 $form->input(undef, {disabled => 'something'}),
147 '<input disabled type="text">',
152 $form->input({type => 'password'}),
153 '<input type="password">',
160 $form->input({rows => 0}),
161 '<textarea rows="0"></textarea>',
166 $form->input(foo => 'bar', {cols => 42, rows => 1, disabled => 1}),
167 '<textarea disabled cols="42" id="foo" name="foo" rows="1">bar</textarea>',
172 $form->input(undef, qq{<foo>&bl'a"\n .}, {cols => undef, rows => '<">'}),
173 qq{<textarea rows="<">"><foo>&bl'a"\n .</textarea>},
181 '<select></select>', # malformed html: at least 1 option required
186 $form->select(undef, [], '', {name => ''}),
188 'explicit empty select'
192 $form->select(undef, [undef]),
193 '<select><option></select>',
198 $form->select(foo => [1..2]),
199 '<select name="foo"><option value="1"><option value="2"></select>',