Apache-SWIT
view release on metacpan or search on metacpan
t/T/HTError.pm view on Meta::CPAN
use strict;
use warnings FATAL => 'all';
package T::HTError::Root;
sub ht_validate {
my $n = shift()->name;
return $n eq 'bad' || $n eq 'foo' ? ('bad') : ();
}
package T::HTError;
use base 'Apache::SWIT::HTPage';
use HTML::Tested qw(HTV);
use HTML::Tested::Value::PasswordBox;
sub swit_startup {
my $rc = shift()->ht_make_root_class;
$rc->ht_add_widget(HTV."::EditBox", 'name');
$rc->ht_add_widget(HTV."::PasswordBox", 'password');
$rc->ht_add_widget(HTV, 'error');
$rc->ht_add_widget(::HTV."::Form", form => default_value => 'u');
}
sub ht_swit_render {
my ($class, $r, $root) = @_;
$root->name("buh");
return $root;
}
sub ht_swit_validate_die {
my ($class, $errs, $r, $root) = @_;
my $res = $root->name eq 'foo' ? "r?error=validate"
: "r?error=validie&error_uri=" . $r->uri;
return ($res, 'password');
}
sub ht_swit_update_die {
my ($class, $msg, $r, $root) = @_;
return $class->SUPER::swit_die(@_) unless $msg =~ /Hoho/;
return ("r?error=updateho", "password");
}
sub ht_swit_update {
my ($class, $r, $root) = @_;
return [ Apache2::Const::FORBIDDEN() ] if $root->name eq 'FORBID';
return $class->swit_failure('r?error=failure', 'password')
if $root->name eq 'fail';
die "Hoho";
return "r";
}
1;
( run in 0.725 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )