Commit | Line | Data |
7f881031 |
1 | #!perl -w |
2 | use strict; |
3 | use Test::More; |
c74a9e89 |
4 | use Scalar::Util qw(dualvar); |
7f881031 |
5 | { |
6 | package Foo; |
7 | use Mouse; |
8 | has intval => ( |
9 | is => 'rw', |
10 | isa => 'Int', |
11 | ); |
12 | has numval => ( |
13 | is => 'rw', |
14 | isa => 'Num', |
15 | ); |
16 | } |
17 | |
18 | my $foo = Foo->new(); |
19 | |
c74a9e89 |
20 | my $dv = dualvar(42, 'foo'); |
21 | eval { $foo->intval($dv) }; |
22 | like $@, qr/Validation failed for 'Int'/, 'Int for dualvar'; |
23 | |
24 | eval { $foo->numval($dv) }; |
25 | like $@, qr/Validation failed for 'Num'/, 'Num for dualvar'; |
26 | |
27 | cmp_ok $dv, 'eq', 'foo'; |
28 | cmp_ok $dv, '==', 42, 'keeps dualvar-ness'; |
7f881031 |
29 | |
7f881031 |
30 | done_testing; |
31 | |