Version 0.02
[blog.pm-common-perl-mods.git] / Common-Validator / t / field.t
blob245e9ee460df86889031baf7eaa9fa0b88753c5a
1 use strict;
2 use Test::More tests => 15;
4 use Common::Validator::Field;
5 use Common::Validator::Constraint::Length;
7 my $field = Common::Validator::Field->new( name => 'username', required => 1 );
9 ok( $field );
11 is( $field->name,     'username' );
12 is( $field->required, 1 );
13 is_deeply( $field->constraints, [] );
15 $field->add_constraint(
16     Common::Validator::Constraint::Length->new( args => [ 3, 14 ] )
19 ok( not defined $field->value );
21 $field->value( 'ab' );
23 is( $field->is_defined(), 1 );
24 is( $field->is_empty(),   0 );
26 is( $field->value(), 'ab' );
28 ok( not defined $field->error );
30 is( $field->is_valid(), 0 );
32 ok( $field->error );
34 $field->value( undef );
36 is( $field->is_defined(), 0 );
37 is( $field->is_empty(),   1 );
39 $field->value( '' );
40 is( $field->is_defined(), 1 );
41 is( $field->is_empty(),   1 );
43 #is( $field->error, Common::Validator::Constraint::Length->errorstr );