merge trunk to pluggable errors
[gitmo/Moose.git] / t / 600_todo_tests / 001_exception_reflects_failed_constraint.t
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 {
14         use_ok('Moose::Util::TypeConstraints');           
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 }