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