6 use Test::More tests => 10;
26 around qr/bark.*/ => sub {
33 is( $dog->bark_once, 'Dog::around', 'around modifier is called' );
34 is( $dog->bark_twice, 'Dog::around', 'around modifier is called' );
40 our $BEFORE_BARK_COUNTER = 0;
41 our $AFTER_BARK_COUNTER = 0;
52 before qr/bark.*/ => sub {
53 $BEFORE_BARK_COUNTER++;
56 after qr/bark.*/ => sub {
57 $AFTER_BARK_COUNTER++;
64 is( $Cat::BEFORE_BARK_COUNTER, 1, 'before modifier is called once' );
65 is( $Cat::AFTER_BARK_COUNTER, 1, 'after modifier is called once' );
67 is( $Cat::BEFORE_BARK_COUNTER, 2, 'before modifier is called twice' );
68 is( $Cat::AFTER_BARK_COUNTER, 2, 'after modifier is called twice' );
74 our $BEFORE_BARK_COUNTER = 0;
75 our $AFTER_BARK_COUNTER = 0;
86 before qr/bark.*/ => sub {
87 $BEFORE_BARK_COUNTER++;
90 after qr/bark.*/ => sub {
91 $AFTER_BARK_COUNTER++;
101 override 'bark_once' => sub {
107 override 'bark_twice' => sub {
116 is( $Animal::BEFORE_BARK_COUNTER, 1,
117 'before modifier is called if method is overridden' );
118 is( $Animal::AFTER_BARK_COUNTER, 1,
119 'after modifier is called if method is overridden' );
126 our $BEFORE_BARK_COUNTER=0;
137 before qw/bark bark_twice/ => sub {
138 $BEFORE_BARK_COUNTER++;
143 my $my_dog = MyDog->new;
146 is($MyDog::BEFORE_BARK_COUNTER, 2, "before method modifier is called twice");