CGI-FormBuilder
view release on metacpan or search on metacpan
t/3b-multi-page.t view on Meta::CPAN
ok($form->field('email'), 'pete@peteson.com'); #8
ok($form->submitted, 0); # 9
ok($form->action, '/page.pl'); #10
ok($form->field('blank'), undef); #11
ok($multi->page++, 1); #12
ok($multi->page, 2); #13
ok($form = $multi->form); #14
ok(++$multi->page, $multi->pages); #15
ok($form = $multi->form); #16
ok(++$multi->page, $multi->pages+1); #17
eval { $form = $multi->form }; # should die
ok($@); #18 ^^^ from die
ok($multi->page = $multi->pages, 3); #19
ok($form = $multi->form); #20
ok($form->field('replacement'), 'TRUE'); # 21
# hack
my $ren = $form->render;
if ($LOGNAME eq 'nwiger') {
open(REN, ">/tmp/fb.2.html");
print REN $ren;
close(REN);
}
ok($ren, outfile(22)); #22
ok($form->field('action'), 'Unsubscribe'); #23
ok($form->field('ticket'), '-1million'); #24
ok(--$multi->page, 2); #25
ok($form = $multi->form); #26
ok($form->field('ticket'), 111); #27
ok($form->field('extra'), undef); #28 - not a form field
ok($multi->page(1), 1); #29
ok($form = $multi->form); #30
ok($form->field('ticket'), undef); #31 - not a form field
ok($form->field('extra'), 'junk'); #32
# Session twiddling - must use page 3
ok($multi->page(3), 3); #33
ok($form = $multi->form); #34
# Try to bootstrap CGI::Session and skip otherwise
my $session;
eval <<'EOE';
use Cwd;
my $pwd = cwd;
require CGI::Session;
$session = CGI::Session->new("driver:File", undef, {Directory => $pwd});
EOE
# Placeholders so code can continue
$session ||= new Stub;
our $NOSESSION = $@ ? 'skip: CGI::Session not installed here' : 0;
skip($NOSESSION, $form->sessionid($session->id), $session->id); #35
# Trick ourselves into producing a header w/ cookie
my $c;
{ local $TESTING = 0; ($c) = $form->header =~ /Set-Cookie: (\S+)/; }
skip($NOSESSION, $c, '_sessionid='.$session->id.';'); #36
# Empty return value?
$session->save_param($form) unless $NOSESSION;
skip($NOSESSION, $session->param('ticket'), $form->field('ticket'));#37
skip($NOSESSION, $session->param('name'), $form->field('name')); #38
# reset name forcibly
ok($form->field(name => 'name', value => 'Tater Salad', force => 1)); #39
skip($NOSESSION, $session->param('name', $form->field('name'))); #40
skip($NOSESSION, $session->param('name'), 'Tater Salad'); #41
skip($NOSESSION, $session->param('email'), undef); #42
# cleanup
undef $session;
system 'rm -f cgisess*';
( run in 1.130 second using v1.01-cache-2.11-cpan-39bf76dae61 )