X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F017-default-reference.t;h=8d1a3540c0688a270c3182bd74ce0bd294afacf9;hb=8a3e5c5d45741e488e89d5130b5dcb44f2c6a6f4;hp=18dc7b2867c3a8200f7ac98c6ba7ff532c967a8e;hpb=8c831d08b0d23c9dfcc4a85f6444915c988b5538;p=gitmo%2FMouse.git diff --git a/t/017-default-reference.t b/t/017-default-reference.t index 18dc7b2..8d1a354 100644 --- a/t/017-default-reference.t +++ b/t/017-default-reference.t @@ -1,8 +1,8 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 8; -use Mouse::Util ':test'; +use Test::More tests => 9; +use Test::Exception; do { package Class; @@ -48,3 +48,15 @@ is(ref(Class->new->code), 'CODE', "default => sub { sub { 1 } } stuffs a coderef is(Class->new->code->(), 1, "default => sub sub strips off the first coderef"); is_deeply(Class->new->a, [1], "default of sub { reference } works"); +do { + package Class::Two; + use Mouse; + has foo => (is => 'rw', default => sub { + die unless $_[0]->isa('Class::Two'); + shift->default_foo; + }); + sub default_foo { 1 }; +}; + +my $obj2 = Class::Two->new; +is($obj2->foo, 1, 'default method gets the $_[0] it needs to work');