support trigger
[gitmo/Moo.git] / t / accessor-trigger.t
CommitLineData
a16d301e 1use strictures 1;
2use Test::More;
3
4my @one_tr;
5
6{
7 package Foo;
8
9 use Class::Tiny;
10
11 has one => (is => 'rw', trigger => sub { push @one_tr, $_[1] });
12}
13
14my $foo = Foo->new;
15
16ok(!@one_tr, "trigger not fired with no value");
17
18$foo = Foo->new(one => 1);
19
20is_deeply(\@one_tr, [ 1 ], "trigger fired on new");
21
22my $res = $foo->one(2);
23
24is_deeply(\@one_tr, [ 1, 2 ], "trigger fired on set");
25
26is($res, 2, "return from set ok");
27
28is($foo->one, 2, "return from accessor ok");
29
30is_deeply(\@one_tr, [ 1, 2 ], "trigger not fired for accessor as get");
31
32done_testing;