File Coverage

blib/lib/Term/ANSIColor/Concise/Util.pm
Criterion Covered Total %
statement 17 19 89.4
branch n/a
condition 2 4 50.0
subroutine 5 6 83.3
pod n/a
total 24 29 82.7


line stmt bran cond sub pod time code
1             # -*- indent-tabs-mode: nil -*-
2              
3             package #
4             ToggleValue {
5              
6 5     5   63 use v5.14;
  5         30  
7 5     5   31 use warnings;
  5         19  
  5         1416  
8              
9             sub new {
10 149     149   288 my $class = shift;
11 149         362 my $obj = bless {}, $class;
12 149         507 my %opt = @_;
13 149   50     532 $obj->{VALUE} = $opt{value} // 1;
14 149   50     788 $obj->{CURRENT} = $obj->{INIT} = $opt{init} // 0;
15 149         509 $obj;
16             }
17              
18             sub toggle {
19 17     17   34 my $obj = shift;
20 17         35 my $prev = $obj->{CURRENT};
21 17         38 $obj->{CURRENT} ^= $obj->{VALUE};
22 17         43 $prev;
23             }
24              
25             sub value {
26 157     157   282 my $obj = shift;
27 157         700 $obj->{CURRENT};
28             }
29              
30             sub reset {
31 0     0     my $obj = shift;
32 0           $obj->{CURRENT} = $obj->{INIT};
33             }
34              
35             }
36              
37             1;