X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=t%2F001_mouse%2F071_tc_dualvar.t;fp=t%2F001_mouse%2F071_tc_dualvar.t;h=2a5680fdbc52b00c52b67d109aa89af8f3ad7f1d;hp=44f468f89f4a0bd6d330d295ec1b8afaac5c8b3d;hb=c74a9e89d1fc566b79e07f3cb9e9deb407e8da1f;hpb=bf6f1f40bba06b1a95bc69869a6d3cf152d97b8f diff --git a/t/001_mouse/071_tc_dualvar.t b/t/001_mouse/071_tc_dualvar.t index 44f468f..2a5680f 100644 --- a/t/001_mouse/071_tc_dualvar.t +++ b/t/001_mouse/071_tc_dualvar.t @@ -1,7 +1,7 @@ #!perl -w use strict; use Test::More; -use Errno qw(ENOENT EPERM); +use Scalar::Util qw(dualvar); { package Foo; use Mouse; @@ -17,14 +17,15 @@ use Errno qw(ENOENT EPERM); my $foo = Foo->new(); -for my $e(ENOENT, EPERM) { - $! = $e; - eval { $foo->intval($!) }; - like $@, qr/Validation failed for 'Int'/, 'Int for dualvar'; +my $dv = dualvar(42, 'foo'); +eval { $foo->intval($dv) }; +like $@, qr/Validation failed for 'Int'/, 'Int for dualvar'; + +eval { $foo->numval($dv) }; +like $@, qr/Validation failed for 'Num'/, 'Num for dualvar'; + +cmp_ok $dv, 'eq', 'foo'; +cmp_ok $dv, '==', 42, 'keeps dualvar-ness'; - $! = $e; - eval { $foo->numval($!) }; - like $@, qr/Validation failed for 'Num'/, 'Num for dualvar'; -} done_testing;