1use strict; 2use warnings; 3use Test::More; 4use Devel::KYTProf; 5use Data::Dumper; 6 7local $ENV{ANSI_COLORS_DISABLED} = 1; 8 9Devel::KYTProf->add_profs('Mock',[qw/foo baz/]); 10 11{ 12 my $buffer = ''; 13 open my $fh, '>', \$buffer or die "Could not open in-memory buffer"; 14 *STDERR = $fh; 15 16 Mock->foo; 17 like $buffer, qr/\[Mock\] foo \|/; 18 19 close $fh; 20} 21 22{ 23 my $buffer = ''; 24 open my $fh, '>', \$buffer or die "Could not open in-memory buffer"; 25 *STDERR = $fh; 26 27 Devel::KYTProf->mute('Mock','foo'); 28 Mock->foo; 29 30 is $buffer, ''; 31 32 Mock->baz; 33 34 like $buffer, qr/\[Mock\] baz \|/; 35 36 Devel::KYTProf->unmute('Mock','foo'); 37 38 Mock->foo; 39 like $buffer, qr/\[Mock\] foo \|/; 40 41 close $fh; 42} 43 44{ 45 my $buffer = ''; 46 open my $fh, '>', \$buffer or die "Could not open in-memory buffer"; 47 *STDERR = $fh; 48 49 Devel::KYTProf->mute('Mock'); 50 Mock->foo; 51 Mock->baz; 52 53 is $buffer, ''; 54 55 Devel::KYTProf->unmute('Mock'); 56 57 Mock->foo; 58 Mock->baz; 59 like $buffer, qr/\[Mock\] foo \|/; 60 like $buffer, qr/\[Mock\] baz \|/; 61 62 close $fh; 63} 64 65done_testing; 66 67package Mock; 68 69sub foo {'foo'} 70sub baz {'baz'} 71 72