Commit | Line | Data |
---|---|---|
94b8bbb8 | 1 | #!/usr/bin/perl |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | ||
3ec7b7a3 | 6 | use Test::More tests => 4; |
94b8bbb8 | 7 | use Test::Exception; |
8 | ||
9 | BEGIN { | |
10 | use_ok('Moose'); | |
11 | } | |
12 | ||
94b8bbb8 | 13 | { |
4fd69d6c | 14 | { |
4fd69d6c | 15 | package Test::For::Lazy::TypeConstraint; |
16 | use Moose; | |
17 | use Moose::Util::TypeConstraints; | |
94b8bbb8 | 18 | |
4fd69d6c | 19 | has 'bad_lazy_attr' => ( |
20 | is => 'rw', | |
21 | isa => 'ArrayRef', | |
22 | lazy => 1, | |
23 | default => sub { "test" }, | |
24 | ); | |
25 | ||
26 | has 'good_lazy_attr' => ( | |
27 | is => 'rw', | |
28 | isa => 'ArrayRef', | |
29 | lazy => 1, | |
30 | default => sub { [] }, | |
31 | ); | |
94b8bbb8 | 32 | |
4fd69d6c | 33 | } |
94b8bbb8 | 34 | |
4fd69d6c | 35 | my $test = Test::For::Lazy::TypeConstraint->new; |
36 | isa_ok($test, 'Test::For::Lazy::TypeConstraint'); | |
37 | ||
38 | dies_ok { | |
39 | $test->bad_lazy_attr; | |
40 | } '... this does not work'; | |
41 | ||
42 | lives_ok { | |
43 | $test->good_lazy_attr; | |
44 | } '... this does not work'; | |
45 | } |