Commit | Line | Data |
ac73ab52 |
1 | use strict; |
eae6c2c4 |
2 | use warnings FATAL => 'all'; |
07d22326 |
3 | |
4 | use Test::More; |
5 | use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; |
ac73ab52 |
6 | |
8ee1241a |
7 | use 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 |
22 | ok(is_SimpleStr(''), 'SimpleStr'); |
23 | ok(is_SimpleStr('a string'), 'SimpleStr 2'); |
24 | ok(!is_SimpleStr("another\nstring"), 'SimpleStr 3'); |
25 | ok(!is_SimpleStr(join('', ("long string" x 25))), 'SimpleStr 4'); |
26 | |
27 | ok(!is_NonEmptyStr(''), 'NonEmptyStr'); |
28 | ok(is_NonEmptyStr('a string'), 'NonEmptyStr 2'); |
29 | ok(is_NonEmptyStr("another string"), 'NonEmptyStr 3'); |
30 | ok(is_NonEmptyStr(join('', ("long string" x 25))), 'NonEmptyStr 4'); |
ac73ab52 |
31 | |
8ee1241a |
32 | ok(is_NonEmptySimpleStr('good str'), 'NonEmptySimplrStr'); |
33 | ok(!is_NonEmptySimpleStr(''), 'NonEmptyStr 2'); |
ac73ab52 |
34 | |
8ee1241a |
35 | ok(!is_Password('no'), 'Password'); |
36 | ok(is_Password('okay'), 'Password 2'); |
ac73ab52 |
37 | |
8ee1241a |
38 | ok(!is_StrongPassword('notokay'), 'StrongPassword'); |
39 | ok(is_StrongPassword('83773r_ch01c3'), 'StrongPassword 2'); |
ac73ab52 |
40 | |
8ee1241a |
41 | ok(!is_LowerCaseSimpleStr('NOTOK'), 'LowerCaseSimpleStr'); |
42 | ok(is_LowerCaseSimpleStr('ok'), 'LowerCaseSimpleStr 2'); |
43 | ok(!is_LowerCaseSimpleStr('NOTOK_123`"'), 'LowerCaseSimpleStr 3'); |
44 | ok(is_LowerCaseSimpleStr('ok_123`"'), 'LowerCaseSimpleStr 4'); |
a5c9a433 |
45 | |
8ee1241a |
46 | ok(!is_UpperCaseSimpleStr('notok'), 'UpperCaseSimpleStr'); |
47 | ok(is_UpperCaseSimpleStr('OK'), 'UpperCaseSimpleStr 2'); |
48 | ok(!is_UpperCaseSimpleStr('notok_123`"'), 'UpperCaseSimpleStr 3'); |
49 | ok(is_UpperCaseSimpleStr('OK_123`"'), 'UpperCaseSimpleStr 4'); |
a5c9a433 |
50 | |
8ee1241a |
51 | ok(!is_LowerCaseStr('NOTOK'), 'LowerCaseStr'); |
52 | ok(is_LowerCaseStr("ok\nok"), 'LowerCaseStr 2'); |
53 | ok(!is_LowerCaseStr('NOTOK_123`"'), 'LowerCaseStr 3'); |
54 | ok(is_LowerCaseStr("ok\n_123`'"), 'LowerCaseStr 4'); |
a5c9a433 |
55 | |
8ee1241a |
56 | ok(!is_UpperCaseStr('notok'), 'UpperCaseStr'); |
57 | ok(is_UpperCaseStr("OK\nOK"), 'UpperCaseStr 2'); |
58 | ok(!is_UpperCaseStr('notok_123`"'), 'UpperCaseStr 3'); |
59 | ok(is_UpperCaseStr("OK\n_123`'"), 'UpperCaseStr 4'); |
a5c9a433 |
60 | |
8ee1241a |
61 | ok(is_NumericCode('032'), 'NumericCode lives'); |
62 | ok(!is_NumericCode('abc'), 'NumericCode dies' ); |
63 | ok(!is_NumericCode('x18'), 'mixed NumericCode dies'); |
559b5d74 |
64 | |
07d22326 |
65 | done_testing; |