Ark
view release on metacpan or search on metacpan
use strict;
use warnings;
use Test::More;
use FindBin;
use lib "$FindBin::Bin/form/lib";
use Ark::Test 'T';
use HTTP::Request::Common;
is(
get('/login_form_input'),
'<input name="username" type="text" />',
'input method ok',
);
is(
get('/login_form_render'),
'<label for="id_username">Your Username</label><input id="id_username" name="username" type="text" />',
'render method ok',
);
{
my ($res, $c) = ctx_get('/login');
isa_ok($c, 'Ark::Context');
isa_ok(my $form = $c->stash->{form}, 'Ark::Form');
ok(!$form->submitted, 'form is not submitted');
}
{
my ($res, $c) = ctx_request(POST '/login', [ username => '', password => '' ]);
isa_ok($c, 'Ark::Context');
isa_ok(my $form = $c->stash->{form}, 'Ark::Form');
ok($form->submitted, 'form is submitted');
ok($form->has_error, 'form has errors');
is(
$form->error_message('username'),
'<span class="error">Your Username is required</span>',
'default error message ok 1',
);
}
{
my ($res, $c) = ctx_request(POST '/login', [ username => 'æ¥æ¬', password => '' ]);
my $form = $c->stash->{form};
is(
$form->error_message('username'),
'<span class="error">Your Username is invalid</span>',
'default error msg ok 2',
);
}
{
my ($res, $c) = ctx_request(POST '/login', [ password => '' ]);
my $form = $c->stash->{form};
is(
$form->error_message_plain('password'),
'password is required',
'custom error msg ok 1',
);
}
{
my ($res, $c) = ctx_request(POST '/login', [ password => 'ããã' ]);
( run in 0.985 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )