Changeset 25685
- Timestamp:
- 12/02/08 16:54:11 (5 weeks ago)
- Location:
- lang/perl/HTML-AutoForm/trunk
- Files:
-
- 2 modified
-
lib/HTML/AutoForm.pm (modified) (5 diffs)
-
t/00-base.t (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/HTML-AutoForm/trunk/lib/HTML/AutoForm.pm
r25498 r25685 23 23 our $VERSION; 24 24 our %Defaults; 25 our %Lang_Defaults; 25 26 our $DEFAULT_LANG; 26 27 our $CLASS_PREFIX; … … 33 34 fields => undef, # need to be copied 34 35 secure => 1, 35 ); 36 Class::Accessor::Lite->mk_accessors(keys %Defaults); 36 reset_label => undef, 37 ); 38 %Lang_Defaults = ( 39 en => { 40 submit_label => 'Submit Form', 41 error_prefix => '', 42 }, 43 ja => { 44 submit_label => 'フォームを投稿', 45 error_prefix => '※', 46 }, 47 ); 48 Class::Accessor::Lite->mk_accessors( 49 keys %Defaults, 50 keys %{$Lang_Defaults{en}}, 51 ); 37 52 $DEFAULT_LANG = 'en'; 38 53 $CLASS_PREFIX = 'autoform'; … … 48 63 } 49 64 my $self = bless { 65 %{$Lang_Defaults{$DEFAULT_LANG}}, 50 66 %Defaults, 51 67 %args, … … 115 131 $CLASS_PREFIX, 116 132 '_error">', 117 _escape_html( '※'. $err->message),133 _escape_html($self->error_prefix . $err->message), 118 134 '</div>', 119 135 ); … … 124 140 }->($_) 125 141 } @{$self->{fields}}), 126 $self->secure 127 ? ( 128 '<input type="hidden" name="', 129 _escape_html($self->csrf_keyname), 130 '" value="', 131 # TODO: use a different id 132 _escape_html($csrf_token), 142 $self->secure ? ( 143 '<input type="hidden" name="', 144 _escape_html($self->csrf_keyname), 145 '" value="', 146 # TODO: use a different id 147 _escape_html($csrf_token), 148 '" />', 149 ) : (), 150 $self->submit_label || $self->reset_label ? ( 151 '<tr><th></th><td>', 152 $self->submit_label ? ( 153 '<input class="', 154 $CLASS_PREFIX, 155 '_field_submit" type="submit" value="', 156 _escape_html($self->submit_label), 133 157 '" />', 134 158 ) : (), 135 '<tr><th></th><td><input type="submit" value="投稿する" /></td></tr>', 159 $self->reset_label ? ( 160 '<input class="', 161 $CLASS_PREFIX, 162 '_field_reset" type="reset" value="', 163 _escape_html($self->reset_label), 164 '" />', 165 ) : (), 166 '</td></tr>', 167 ) : (), 136 168 '</table></form>', 137 169 ); -
lang/perl/HTML-AutoForm/trunk/t/00-base.t
r25410 r25685 4 4 5 5 use CGI; 6 use Test::More tests => 67;6 use Test::More tests => 71; 7 7 8 8 BEGIN { use_ok('HTML::AutoForm'); }; … … 270 270 'hidden render 1', 271 271 ); 272 273 $form = HTML::AutoForm->new( 274 action => '/action', 275 fields => [ 276 username => { 277 type => 'text', 278 value => 'defval', 279 required => 1, 280 }, 281 ], 282 submit_label => 'Register Me!', 283 ); 284 285 $ENV{REQUEST_METHOD} = 'GET'; 286 is($form->render(CGI->new(''), 'abcde'), 287 join('', 288 '<form action="/action" method="POST">', 289 '<table class="autoform_table">', 290 '<tr><th>Username</th><td><input class="autoform_field_text" name="username" type="text" value="defval" /></td></tr>', 291 '<input type="hidden" name="__autoform_csrf_key" value="abcde" />', 292 '<tr><th></th><td><input class="autoform_field_submit" type="submit" value="Register Me!" /></td></tr>', 293 '</table>', 294 '</form>', 295 ), 296 'form render', 297 ); 298 299 $form->secure(undef); 300 is($form->render(CGI->new(''), 'abcde'), 301 join('', 302 '<form action="/action">', 303 '<table class="autoform_table">', 304 '<tr><th>Username</th><td><input class="autoform_field_text" name="username" type="text" value="defval" /></td></tr>', 305 '<tr><th></th><td><input class="autoform_field_submit" type="submit" value="Register Me!" /></td></tr>', 306 '</table>', 307 '</form>', 308 ), 309 'form render', 310 ); 311 312 $form->reset_label('Forget Me!'); 313 is($form->render(CGI->new(''), 'abcde'), 314 join('', 315 '<form action="/action">', 316 '<table class="autoform_table">', 317 '<tr><th>Username</th><td><input class="autoform_field_text" name="username" type="text" value="defval" /></td></tr>', 318 '<tr><th></th><td><input class="autoform_field_submit" type="submit" value="Register Me!" /><input class="autoform_field_reset" type="reset" value="Forget Me!" /></td></tr>', 319 '</table>', 320 '</form>', 321 ), 322 'form render', 323 ); 324 325 $form->submit_label(undef); 326 $form->reset_label(undef); 327 is($form->render(CGI->new(''), 'abcde'), 328 join('', 329 '<form action="/action">', 330 '<table class="autoform_table">', 331 '<tr><th>Username</th><td><input class="autoform_field_text" name="username" type="text" value="defval" /></td></tr>', 332 '</table>', 333 '</form>', 334 ), 335 'form render', 336 );
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)