File Coverage

blib/lib/MP3/M3U/Parser/Constants.pm
Criterion Covered Total %
statement 63 63 100.0
branch n/a
condition n/a
subroutine 20 20 100.0
pod n/a
total 83 83 100.0


line stmt bran cond sub pod time code
1             package MP3::M3U::Parser::Constants;
2             $MP3::M3U::Parser::Constants::VERSION = '2.33';
3 7     7   47 use strict;
  7         11  
  7         193  
4 7     7   32 use warnings;
  7         11  
  7         217  
5 7     7   53 use vars qw( @EXPORT @EXPORT_OK %EXPORT_TAGS $OID );
  7         14  
  7         696  
6              
7             # Data table key map
8 7     7   65 use constant PATH => $OID++;
  7         20  
  7         816  
9 7     7   43 use constant ID3 => $OID++;
  7         13  
  7         393  
10 7     7   42 use constant LEN => $OID++;
  7         12  
  7         338  
11 7     7   38 use constant ARTIST => $OID++;
  7         14  
  7         343  
12 7     7   40 use constant SONG => $OID++;
  7         13  
  7         384  
13 7     7   42 use constant MAXDATA => $OID; # Maximum index number of the data table
  7         13  
  7         364  
14              
15 7     7   40 use constant EMPTY_STRING => q{};
  7         24  
  7         360  
16 7     7   40 use constant MINIMUM_SEARCH_LENGTH => 3;
  7         14  
  7         355  
17              
18 7     7   51 use constant MINUTE_MULTIPLIER => 60;
  7         14  
  7         354  
19 7     7   43 use constant DEFAULT_DRIVE => 'CDROM:';
  7         13  
  7         477  
20 7     7   45 use constant RE_M3U_HEADER => qr{ \A \#EXTM3U }xms;
  7         10  
  7         551  
21 7     7   47 use constant RE_INF_HEADER => qr{ \#EXTINF }xmsi;
  7         13  
  7         537  
22 7     7   46 use constant RE_DRIVE_PATH => qr{ \A \w:[\\/] (.+?) \z }xms; # C:\mp3\Singer - Song.mp3
  7         160  
  7         519  
23 7     7   46 use constant RE_NORMAL_PATH => qr{ \A [\\/]([^\\/].+?) \z }xms; # \mp3\Singer - Song.mp3
  7         11  
  7         481  
24 7     7   63 use constant RE_PARTIAL_PATH => qr{ \A (.+?) \z }xms; # Singer - Song.mp3
  7         15  
  7         376  
25              
26 7     7   40 use base qw( Exporter );
  7         21  
  7         1788  
27              
28             BEGIN {
29 7     7   79 %EXPORT_TAGS = (
30             fields => [qw(
31             PATH
32             ID3
33             LEN
34             ARTIST
35             SONG
36             MAXDATA
37             )],
38             etc => [qw(
39             EMPTY_STRING
40             MINIMUM_SEARCH_LENGTH
41             MINUTE_MULTIPLIER
42             DEFAULT_DRIVE
43             )],
44             re => [qw(
45             RE_M3U_HEADER
46             RE_DRIVE_PATH
47             RE_NORMAL_PATH
48             RE_PARTIAL_PATH
49             RE_INF_HEADER
50             )],
51             );
52 7         26 @EXPORT_OK = map { @{ $EXPORT_TAGS{$_} } } keys %EXPORT_TAGS;
  21         41  
  21         102  
53 7         28 $EXPORT_TAGS{all} = \@EXPORT_OK;
54 7         229 @EXPORT = @EXPORT_OK;
55             }
56              
57             1;
58              
59             __END__