5 use Test::More tests => 25;
11 use MooseX::Types::Common::String (
25 has simplestr => ( is => 'rw', isa => SimpleStr );
26 has nestr => ( is => 'rw', isa => NonEmptyStr );
27 has nesimplestr => ( is => 'rw', isa => NonEmptySimpleStr );
28 has lcsimplestr => ( is => 'rw', isa => LowerCaseSimpleStr );
29 has ucsimplestr => ( is => 'rw', isa => UpperCaseSimpleStr );
30 has password => ( is => 'rw', isa => Password );
31 has strongpassword => ( is => 'rw', isa => StrongPassword );
32 has lowercasestr => ( is => 'rw', isa => LowerCaseStr );
33 has uppercasestr => ( is => 'rw', isa => UpperCaseStr );
34 has numericcode => ( is => 'rw', isa => NumericCode );
37 my $ins = FooTest->new;
39 is(exception { $ins->simplestr('') }, undef, 'SimpleStr');
40 is(exception { $ins->simplestr('good string') }, undef, 'SimpleStr 2');
41 isnt(exception { $ins->simplestr("bad\nstring") }, 'SimpleStr 3');
42 isnt(exception { $ins->simplestr(join('', ("long string" x 25))) }, undef, 'SimpleStr 4');
44 isnt(exception { $ins->nestr('') }, undef, 'NonEmptyStr');
45 is(exception { $ins->nestr('good string') }, undef, 'NonEmptyStr 2');
46 is(exception { $ins->nestr("bad\nstring") }, undef, 'NonEmptyStr 3');
47 is(exception { $ins->nestr(join('', ("long string" x 25))) }, undef, 'NonEmptyStr 4');
49 is(exception { $ins->nesimplestr('good str') }, undef, 'NonEmptySimplrStr');
50 isnt(exception { $ins->nesimplestr('') }, undef, 'NonEmptyStr 2');
52 isnt(exception { $ins->password('no') }, undef, 'Password');
53 is(exception { $ins->password('okay') }, undef, 'Password 2');
55 isnt(exception { $ins->strongpassword('notokay') }, undef, 'StrongPassword');
56 is(exception { $ins->strongpassword('83773r_ch01c3') }, undef, 'StrongPassword 2');
58 isnt(exception { $ins->lcsimplestr('NOTOK') }, undef, 'LowerCaseSimpleStr');
59 is(exception { $ins->lcsimplestr('ok') }, undef, 'LowerCaseSimpleStr 2');
61 isnt(exception { $ins->ucsimplestr('notok') }, undef, 'UpperCaseSimpleStr');
62 is(exception { $ins->ucsimplestr('OK') }, undef, 'UpperCaseSimpleStr 2');
64 isnt(exception { $ins->lowercasestr('NOTOK') }, undef, 'LowerCaseStr');
65 is(exception { $ins->lowercasestr("ok\nok") }, undef, 'LowerCaseStr 2');
67 isnt(exception { $ins->uppercasestr('notok') }, undef, 'UpperCaseStr');
68 is(exception { $ins->uppercasestr("OK\nOK") }, undef, 'UpperCaseStr 2');
71 is( exception { $ins->numericcode('032') }, undef, 'NumericCode lives');
72 isnt( exception { $ins->numericcode('abc') }, undef, 'NumericCode dies' );
73 isnt( exception { $ins->numericcode('x18') }, undef, 'mixed NumericCode dies');