File Coverage

blib/lib/Net/WebSocket/X/BadArg.pm
Criterion Covered Total %
statement 13 16 81.2
branch 1 4 25.0
condition n/a
subroutine 4 4 100.0
pod n/a
total 18 24 75.0


line stmt bran cond sub pod time code
1             package Net::WebSocket::X::BadArg;
2              
3 3     3   1733 use strict;
  3         9  
  3         95  
4 3     3   15 use warnings;
  3         6  
  3         89  
5              
6 3     3   15 use parent qw( Net::WebSocket::X::Base );
  3         5  
  3         15  
7              
8             sub _new {
9 11     11   855 my ($class, $name, $val, $why) = @_;
10              
11 11         30 my $caller = (caller 1)[3];
12              
13 11 50       390 if ($why) {
14 11         60 return $class->SUPER::_new(
15             "$caller: invalid “$name” ($val) - $why",
16             name => $name,
17             value => $val,
18             why => $why,
19             );
20             }
21              
22 0           my $disp_val = $val;
23 0 0         $disp_val = q<> if !defined $val;
24              
25 0           return $class->SUPER::_new(
26             sprintf("%s: invalid “%s” (%s)", $caller, $name, $disp_val),
27             name => $name,
28             value => $val,
29             );
30             }
31              
32             1;