3 use Benchmark qw(:all);
9 use Class::Method::Modifiers ();
11 printf "Perl %vd on $Config{archname}\n", $^V;
12 my @mods = qw(Moose Mouse Class::Method::Modifiers);
14 foreach my $class(@mods){
15 print "$class ", $class->VERSION, "\n";
34 use parent -norequire => qw(Base);
35 use Class::Method::Modifiers;
37 before f => sub{ $i++ };
38 around g => \&main::around;
39 after h => sub{ $i++ };
43 use parent -norequire => qw(Base);
46 before f => sub{ $i++ };
47 around g => \&main::around;
48 after h => sub{ $i++ };
52 use parent -norequire => qw(Base);
55 before f => sub{ $i++ };
56 around g => \&main::around;
57 after h => sub{ $i++ };
60 print "Calling methods with before modifiers:\n";
65 $i == ($old+1) or die $i;
70 $i == ($old+1) or die $i;
75 $i == ($old+1) or die $i;
79 print "\n", "Calling methods with around modifiers:\n";
84 $i == ($old+1) or die $i;
89 $i == ($old+1) or die $i;
94 $i == ($old+1) or die $i;
98 print "\n", "Calling methods with after modifiers:\n";
103 $i == ($old+1) or die $i;
108 $i == ($old+1) or die $i;
113 $i == ($old+1) or die $i;