File Coverage

blib/lib/Exception/NoException/_obj.pm
Criterion Covered Total %
statement 14 45 31.1
branch 5 34 14.7
condition n/a
subroutine 8 39 20.5
pod 1 1 100.0
total 28 119 23.5


line stmt bran cond sub pod time code
1             package Exception::NoException::_obj;
2             BEGIN {
3 2     2   41 $Exception::NoException::_obj::VERSION = '0.07';
4             }
5             # ABSTRACT: Implementation for Exception::NoException object
6 2     2   11 use strict;
  2         7  
  2         58  
7              
8             # Pretend to be an empty scalar.
9 2     2   1907 use UNIVERSAL::ref;
  2         254093  
  2         20  
10 1     1 1 282 sub ref {''}
11              
12             use overload
13             'fallback' => undef,
14 0     0   0 '=' => sub { '' },
15              
16 0 0   0   0 '+' => sub { $_[2] ? ($_[1] + 0) : (0 + $_[0]) },
17 0 0   0   0 '-' => sub { $_[2] ? ($_[1] - 0) : (0 - $_[0]) },
18 0 0   0   0 '*' => sub { $_[2] ? ($_[1] * 0) : (0 * $_[0]) },
19 0 0   0   0 '/' => sub { $_[2] ? ($_[1] / 0) : (0 / $_[0]) },
20 0 0   0   0 '%' => sub { $_[2] ? ($_[1] % 0) : (0 % $_[0]) },
21 0 0   0   0 '**' => sub { $_[2] ? ($_[1] ** 0) : (0 ** $_[0]) },
22 0 0   0   0 '<<' => sub { $_[2] ? ($_[1] << 0) : (0 << $_[0]) },
23 0 0   0   0 '>>' => sub { $_[2] ? ($_[1] >> 0) : (0 >> $_[0]) },
24 0 0   0   0 'x' => sub { $_[2] ? ($_[1] x 0) : (0 x $_[0]) },
25 0 0   0   0 '.' => sub { $_[2] ? ($_[1] . 0) : (0 . $_[0]) },
26 2 100   2   341 '<=>' => sub { $_[2] ? ($_[1] <=> 0) : (0 <=> $_[0]) },
27 2 100   2   732 'cmp' => sub { $_[2] ? ($_[1] cmp 0) : (0 cmp $_[0]) },
28 0 0   0   0 '&' => sub { $_[2] ? ($_[1] & 0) : (0 & $_[0]) },
29 0 0   0   0 '^' => sub { $_[2] ? ($_[1] ^ 0) : (0 ^ $_[0]) },
30 0 0   0   0 '|' => sub { $_[2] ? ($_[1] | 0) : (0 | $_[0]) },
31 0     0   0 '~' => sub { ~ '' },
32 0 0   0   0 'atan2' => sub { $_[2] ? atan2( $_[1], $_[0] ) : atan2( $_[0], $_[1] ) },
33 0     0   0 'cos' => sub { 1 },
34 0     0   0 'sin' => sub { 0 },
35 0     0   0 'exp' => sub { 1 },
36 0     0   0 'abs' => sub { 0 },
37 0     0   0 'sqrt' => sub { 0 },
38 0     0   0 'int' => sub { 0 },
39              
40             # Autogenerated:
41             # += -= *= /= %= **= <<= >>= x= .=
42             # < <= > >= == != lt le gt ge eq ne
43             # &= ^= |= neg !
44             # ++ --
45             # <>
46              
47             # Conversion
48 0     0   0 '""' => sub { '' },
49 1     1   234 'bool' => sub { !1 },
50 0     0   0 '0+' => sub { 0 },
51 0     0   0 'qr' => sub { qr// },
52              
53             # Matching
54             (
55             $] >= 5.010
56 0     0   0 ? ( '~~' => sub { '' } )
57             : ()
58             ),
59              
60             # Dereferencing
61 0     0   0 '${}' => sub { '' },
62 0     0   0 '@{}' => sub { '' },
63 0     0   0 '%{}' => sub { '' },
64 0     0   0 '&{}' => sub { '' },
65 0     0   0 '*{}' => sub { '' },
66 2 50   2   5956 ;
  2         2123  
  2         103  
67              
68             q[ Hey, what does this switch labeled 'Pulsating Ejector' do?
69              
70             I don't know... I've always been too afraid to find out ];
71              
72             __END__