remove unneeded use of Test::Fatal
[gitmo/Moose.git] / t / 040_type_constraints / 033_type_names.t
CommitLineData
eee1a213 1use strict;
2use warnings;
3
a28e50e4 4use Test::More;
be0ed157 5use Test::Fatal;
eee1a213 6
7use Moose::Meta::TypeConstraint;
8use Moose::Util::TypeConstraints;
9
10
11TODO:
12{
13 local $TODO = 'type names are not validated in the TC metaclass';
14
be0ed157 15 like exception { Moose::Meta::TypeConstraint->new( name => 'Foo-Bar' ) },
eee1a213 16 qr/contains invalid characters/,
17 'Type names cannot contain a dash';
18}
19
be0ed157 20ok ! exception { Moose::Meta::TypeConstraint->new( name => 'Foo.Bar::Baz' ) },
eee1a213 21'Type names can contain periods and colons';
22
be0ed157 23like exception { subtype 'Foo-Baz' => as 'Item' },
eee1a213 24qr/contains invalid characters/,
25 'Type names cannot contain a dash (via subtype sugar)';
26
be0ed157 27ok ! exception { subtype 'Foo.Bar::Baz' => as 'Item' },
eee1a213 28'Type names can contain periods and colons (via subtype sugar)';
29
30is( Moose::Util::TypeConstraints::find_or_parse_type_constraint('ArrayRef[In-valid]'),
31 undef,
32 'find_or_parse_type_constraint returns undef on an invalid name' );
33
34is( Moose::Util::TypeConstraints::find_or_parse_type_constraint('ArrayRef[Va.lid]'),
35 'ArrayRef[Va.lid]',
36 'find_or_parse_type_constraint returns name for valid name' );
a28e50e4 37
38done_testing;