package Acme::PETEK::Testkit::modperl1; use strict; use vars qw($VERSION); use Acme::PETEK::Testkit; use Apache::Constants qw(OK); use Apache::Request; =head1 NAME Acme::PETEK::Testkit::modperl1 - mod_perl 1 handler for Tester's Toolkit =head1 VERSION Version 1.00 =cut $VERSION = '1.00'; =head1 SYNOPSIS This Perl module is intended to be a collection of sample code for the Tester's Toolkit presentation at YAPC::NA 2005 by the author. =cut =head1 HANDLER =head2 handler($r) Called by Apache. =cut sub handler { my $r = Apache::Request->new(shift); my $val = $r->param('value') || 0; my $dec = $r->param('decrval') || 1; my $inc = $r->param('incrval') || 1; my $t = Acme::PETEK::Testkit->new(); if (valid_int($val)) { $t->reset($val); } if ($r->param('decrn') && valid_int($dec)) { $t->decr($dec); } elsif ($r->param('decr1')) { $t->decr; } elsif ($r->param('reset')) { $t->reset; } elsif ($r->param('incr1')) { $t->incr; } elsif ($r->param('incrn') && valid_int($inc)) { $t->incr($inc); } $r->send_http_header('text/html'); $r->print(gen_page($t->value)); return OK; } =head1 HANDLER HELPERS =head2 gen_page($value) Generates the page HTML with a given value. =cut sub gen_page { my $value = shift; return <