X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F001_mouse%2F041-enum.t;h=1d3ccf0561d982bd246f02507dfd2394b501e548;hb=HEAD;hp=5546f4f1f32dcbaaf3e3c3ef0f72c197d58427fe;hpb=920139b3efca66d2caeeef306c97fa0da62c6b73;p=gitmo%2FMouse.git diff --git a/t/001_mouse/041-enum.t b/t/001_mouse/041-enum.t index 5546f4f..1d3ccf0 100644 --- a/t/001_mouse/041-enum.t +++ b/t/001_mouse/041-enum.t @@ -1,7 +1,7 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 16; +use Test::More tests => 19; use Test::Exception; do { @@ -31,10 +31,18 @@ for my $class ('Shirt', 'Shirt::Anon') { ok($class->new(size => 'medium')); ok($class->new(size => 'large')); - throws_ok { $class->new(size => 'extra small') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' failed with value extra small/; - throws_ok { $class->new(size => 'Small') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' failed with value Small/; - throws_ok { $class->new(size => '') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' failed with value /; - throws_ok { $class->new(size => 'small ') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' failed with value small /; - throws_ok { $class->new(size => ' small') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' failed with value small/; + throws_ok { $class->new(size => 'extra small') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' with value extra small/; + throws_ok { $class->new(size => 'Small') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' with value Small/; + throws_ok { $class->new(size => '') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' with value /; + throws_ok { $class->new(size => 'small ') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' with value small /; + throws_ok { $class->new(size => ' small') } qr/^Attribute \(size\) does not pass the type constraint because: Validation failed for '\S+' with value small/; } +use Mouse::Util::TypeConstraints qw(enum); + +my $t = enum 'Foo', [qw(foo bar)]; + +ok $t->check('foo'), 'enum $name, $array_ref'; +ok $t->check('bar'); +ok!$t->check('baz'); +