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