File Coverage

blib/lib/Win32/Exe/Base.pm
Criterion Covered Total %
statement 12 22 54.5
branch 0 4 0.0
condition n/a
subroutine 4 8 50.0
pod 0 4 0.0
total 16 38 42.1


line stmt bran cond sub pod time code
1             # Copyright 2004 by Audrey Tang
2              
3             package Win32::Exe::Base;
4              
5 4     4   24 use strict;
  4         6  
  4         141  
6 4     4   19 use base 'Parse::Binary';
  4         7  
  4         4319  
7 4     4   91306 use constant BASE_CLASS => 'Win32::Exe';
  4         10  
  4         308  
8 4         1020 use constant FORMAT => (
9             Data => 'a',
10 4     4   22 );
  4         10  
11              
12             sub align {
13 0     0 0   my ($self, $value, $boundary) = @_;
14 0 0         my $n = ($value % $boundary) or return $value;
15 0           return($value + $boundary - $n);
16             }
17              
18             sub pad {
19 0     0 0   my ($self, $value, $bounary) = @_;
20 0 0         my $x = length($value) % $bounary or return '';
21 0           return "\0" x ($bounary - $x);
22             }
23              
24             sub decode_ucs2 {
25 0     0 0   my ($self, $string) = @_;
26 0           return join('', map chr($_), unpack("v*", $string));
27             }
28              
29             sub encode_ucs2 {
30 0     0 0   my ($self, $string) = @_;
31 0           return pack("v*", map ord($_), split(//, $string));
32             }
33              
34             1;