X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faccessor-trigger.t;h=762b290ccebb0046e38942ba8e7415060404e640;hb=76ab397705b93ed85e5e82597c930e72b44d2355;hp=dcda49f6352fd78bedaf8b3464bc408c5f7dc602;hpb=8c6626cf0cfd1a6a9c39b5cf9db2b74d96afb0f3;p=gitmo%2FMoo.git diff --git a/t/accessor-trigger.t b/t/accessor-trigger.t index dcda49f..762b290 100644 --- a/t/accessor-trigger.t +++ b/t/accessor-trigger.t @@ -30,7 +30,7 @@ sub run_for { { package Foo; - use Class::Tiny; + use Moo; has one => (is => 'rw', trigger => sub { push @::tr, $_[1] }); } @@ -41,7 +41,7 @@ run_for 'Foo'; package Bar; use Sub::Quote; - use Class::Tiny; + use Moo; has one => (is => 'rw', trigger => quote_sub q{ push @::tr, $_[1] }); } @@ -52,7 +52,7 @@ run_for 'Bar'; package Baz; use Sub::Quote; - use Class::Tiny; + use Moo; has one => ( is => 'rw', @@ -62,4 +62,47 @@ run_for 'Bar'; run_for 'Baz'; +{ + package Default; + + use Sub::Quote; + use Moo; + + has one => ( + is => 'rw', + trigger => quote_sub(q{ push @{$tr}, $_[1] }, { '$tr' => \\@::tr }), + default => sub { 0 } + ); +} + +run_for 'Default'; + +{ + package LazyDefault; + + use Sub::Quote; + use Moo; + + has one => ( + is => 'rw', + trigger => quote_sub(q{ push @{$tr}, $_[1] }, { '$tr' => \\@::tr }), + default => sub { 0 }, + lazy => 1 + ); +} + +run_for 'LazyDefault'; + +{ + package Shaz; + + use Moo; + + has one => (is => 'rw', trigger => 1 ); + + sub _trigger_one { push @::tr, $_[1] } +} + +run_for 'Shaz'; + done_testing;