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; |