move repository to http://github.com/moose/MooseX-Types-Common
[gitmo/MooseX-Types-Common.git] / t / 01-string.t
CommitLineData
ac73ab52 1use strict;
eae6c2c4 2use warnings FATAL => 'all';
07d22326 3
4use Test::More;
5use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
ac73ab52 6
8ee1241a 7use MooseX::Types::Common::String qw(
8 SimpleStr
9 NonEmptySimpleStr
10 LowerCaseSimpleStr
11 UpperCaseSimpleStr
12 Password
13 StrongPassword
14 NonEmptyStr
15 LowerCaseStr
16 UpperCaseStr
17 NumericCode
18);
ac73ab52 19
19ef3f5a 20# TODO: need to check both the inlined and non-inlined versions!
21
8ee1241a 22ok(is_SimpleStr(''), 'SimpleStr');
23ok(is_SimpleStr('a string'), 'SimpleStr 2');
24ok(!is_SimpleStr("another\nstring"), 'SimpleStr 3');
25ok(!is_SimpleStr(join('', ("long string" x 25))), 'SimpleStr 4');
26
27ok(!is_NonEmptyStr(''), 'NonEmptyStr');
28ok(is_NonEmptyStr('a string'), 'NonEmptyStr 2');
29ok(is_NonEmptyStr("another string"), 'NonEmptyStr 3');
30ok(is_NonEmptyStr(join('', ("long string" x 25))), 'NonEmptyStr 4');
ac73ab52 31
8ee1241a 32ok(is_NonEmptySimpleStr('good str'), 'NonEmptySimplrStr');
33ok(!is_NonEmptySimpleStr(''), 'NonEmptyStr 2');
ac73ab52 34
8ee1241a 35ok(!is_Password('no'), 'Password');
36ok(is_Password('okay'), 'Password 2');
ac73ab52 37
8ee1241a 38ok(!is_StrongPassword('notokay'), 'StrongPassword');
39ok(is_StrongPassword('83773r_ch01c3'), 'StrongPassword 2');
ac73ab52 40
8ee1241a 41ok(!is_LowerCaseSimpleStr('NOTOK'), 'LowerCaseSimpleStr');
42ok(is_LowerCaseSimpleStr('ok'), 'LowerCaseSimpleStr 2');
43ok(!is_LowerCaseSimpleStr('NOTOK_123`"'), 'LowerCaseSimpleStr 3');
44ok(is_LowerCaseSimpleStr('ok_123`"'), 'LowerCaseSimpleStr 4');
a5c9a433 45
8ee1241a 46ok(!is_UpperCaseSimpleStr('notok'), 'UpperCaseSimpleStr');
47ok(is_UpperCaseSimpleStr('OK'), 'UpperCaseSimpleStr 2');
48ok(!is_UpperCaseSimpleStr('notok_123`"'), 'UpperCaseSimpleStr 3');
49ok(is_UpperCaseSimpleStr('OK_123`"'), 'UpperCaseSimpleStr 4');
a5c9a433 50
8ee1241a 51ok(!is_LowerCaseStr('NOTOK'), 'LowerCaseStr');
52ok(is_LowerCaseStr("ok\nok"), 'LowerCaseStr 2');
53ok(!is_LowerCaseStr('NOTOK_123`"'), 'LowerCaseStr 3');
54ok(is_LowerCaseStr("ok\n_123`'"), 'LowerCaseStr 4');
a5c9a433 55
8ee1241a 56ok(!is_UpperCaseStr('notok'), 'UpperCaseStr');
57ok(is_UpperCaseStr("OK\nOK"), 'UpperCaseStr 2');
58ok(!is_UpperCaseStr('notok_123`"'), 'UpperCaseStr 3');
59ok(is_UpperCaseStr("OK\n_123`'"), 'UpperCaseStr 4');
a5c9a433 60
8ee1241a 61ok(is_NumericCode('032'), 'NumericCode lives');
62ok(!is_NumericCode('abc'), 'NumericCode dies' );
63ok(!is_NumericCode('x18'), 'mixed NumericCode dies');
559b5d74 64
07d22326 65done_testing;