Fix tests for portability
[gitmo/Mouse.git] / t / 001_mouse / 071_tc_dualvar.t
CommitLineData
7f881031 1#!perl -w
2use strict;
3use Test::More;
c74a9e89 4use 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
18my $foo = Foo->new();
19
c74a9e89 20my $dv = dualvar(42, 'foo');
21eval { $foo->intval($dv) };
22like $@, qr/Validation failed for 'Int'/, 'Int for dualvar';
23
24eval { $foo->numval($dv) };
25like $@, qr/Validation failed for 'Num'/, 'Num for dualvar';
26
27cmp_ok $dv, 'eq', 'foo';
28cmp_ok $dv, '==', 42, 'keeps dualvar-ness';
7f881031 29
7f881031 30done_testing;
31