X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F017-default-reference.t;h=8d1a3540c0688a270c3182bd74ce0bd294afacf9;hb=b644ef5d28f6076859080482d8b44727c1410e1c;hp=b169ddd5cd35d6fd0ee156ff318f706ef1291005;hpb=3118622d182add6c88792d5de3b4af047e8a7c8c;p=gitmo%2FMouse.git diff --git a/t/017-default-reference.t b/t/017-default-reference.t index b169ddd..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 t::Exception; +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');