Commit | Line | Data |
4d5f58e3 |
1 | #!/usr/bin/perl |
2 | |
3 | # In the case where a child type constraint's parent constraint fails, |
4 | # the exception should reference the parent type constraint that actually |
5 | # failed instead of always referencing the child'd type constraint |
6 | |
7 | use strict; |
8 | use warnings; |
9 | |
10 | use Test::More tests => 4; |
11 | use Test::Exception; |
12 | |
13 | BEGIN { |
d03bd989 |
14 | use_ok('Moose::Util::TypeConstraints'); |
4d5f58e3 |
15 | } |
16 | |
17 | lives_ok { |
18 | subtype 'ParentConstraint' => as 'Str' => where {0}; |
19 | } 'specified parent type constraint'; |
20 | |
21 | my $tc; |
22 | lives_ok { |
23 | $tc = subtype 'ChildConstraint' => as 'ParentConstraint' => where {1}; |
24 | } 'specified child type constraint'; |
25 | |
26 | { |
27 | my $errmsg = $tc->validate(); |
28 | |
29 | TODO: { |
30 | local $TODO = 'Not yet supported'; |
31 | ok($errmsg !~ /Validation failed for 'ChildConstraint'/, 'exception references failing parent constraint'); |
32 | }; |
33 | } |