File Coverage

tlib/Mock/Net/Telnet.pm
Criterion Covered Total %
statement 25 26 96.1
branch 12 14 85.7
condition 3 5 60.0
subroutine 7 7 100.0
pod 0 5 0.0
total 47 57 82.4


line stmt bran cond sub pod time code
1             package Mock::Net::Telnet;
2              
3 4     4   1651 use strict;
  4         5  
  4         88  
4 4     4   15 use warnings;
  4         7  
  4         1026  
5              
6             sub new {
7 4   50 4 0 276 return bless(
8             { opt_hr => $_[1] // {},
9             pstat => [0, 0, 0, 0, 0]
10             },
11             'Mock::Net::Telnet'
12             );
13             }
14 2     2 0 5 sub open { $_[0]->{addr} = $_[1]; }
15 1     1 0 2 sub close { delete $_[0]->{addr}; }
16             sub cmd {
17 20     20 0 41 my ($self, $cmd) = @_;
18 20 100       66 return 'HW3.2 FW95 WF88' if ($cmd eq 'ver');
19 6 100       12 return 'Goodbye!' if ($cmd eq 'logout');
20              
21 5 100       10 if ($cmd eq 'pshow') {
22 2         3 my $header = "\rPort | Name |Status";
23 2         3 my $body = "\r";
24 2         5 for (my $i = 1; $i <= 5; $i++) {
25 10 100       16 my $on_or_off = $self->{pstat}->[$i-1] ? 'ON' : 'OFF';
26 10         21 $body .= " $i | Outlet$i | $on_or_off |";
27             }
28 2         6 return ($header, $body);
29             }
30 3 100 66     19 if ($cmd =~ /^pset\s+(\d+)\s+(\d+)/ && $1 <= 5) {
31 1 50       7 $self->{pstat}->[$1-1] = $2 ? 1 : 0;
32 1         5 return ('', '');
33             }
34 2 50       4 if ($cmd eq 'sysshow') {
35             return (
36 2         8 "Active network info:",
37             "IP-Mask-GW:192.168.1.100-255.255.0.0-192.168.1.1",
38             "Static IP/Mask/Gateway : 192.168.1.100-255.255.0.0-192.168.1.1",
39             "Ethernet Port is ON",
40             "HTTP/Telnet Port #s: 80/23",
41             "",
42             "MAC Address : 00:90:c2:34:56:78",
43             "Designated Source IP:",
44             "0.0.0.0",
45             "Outlet Status(1-On, 0-Off. Outlet 1 to 5): 0 0 0 0 0"
46             );
47             }
48            
49 0         0 return '';
50             }
51 4     4 0 11 sub print { return; }
52              
53             1;