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 7     7   21 use strict;
  7         7  
  7         178  
3 7     7   21 use warnings;
  7         5  
  7         147  
4 7     7   35 use vars qw( $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS $OID );
  7         6  
  7         440  
5              
6             $VERSION = '2.32';
7              
8             # Data table key map
9 7     7   31 use constant PATH => $OID++;
  7         13  
  7         530  
10 7     7   28 use constant ID3 => $OID++;
  7         7  
  7         430  
11 7     7   29 use constant LEN => $OID++;
  7         9  
  7         318  
12 7     7   28 use constant ARTIST => $OID++;
  7         8  
  7         308  
13 7     7   20 use constant SONG => $OID++;
  7         11  
  7         287  
14 7     7   27 use constant MAXDATA => $OID; # Maximum index number of the data table
  7         12  
  7         266  
15              
16 7     7   20 use constant EMPTY_STRING => q{};
  7         8  
  7         282  
17 7     7   21 use constant MINIMUM_SEARCH_LENGTH => 3;
  7         7  
  7         230  
18              
19 7     7   30 use constant MINUTE_MULTIPLIER => 60;
  7         9  
  7         248  
20 7     7   31 use constant DEFAULT_DRIVE => 'CDROM:';
  7         7  
  7         388  
21 7     7   26 use constant RE_M3U_HEADER => qr{ \A \#EXTM3U }xms;
  7         6  
  7         360  
22 7     7   22 use constant RE_INF_HEADER => qr{ \#EXTINF }xmsi;
  7         6  
  7         383  
23 7     7   24 use constant RE_DRIVE_PATH => qr{ \A \w:[\\/] (.+?) \z }xms; # C:\mp3\Singer - Song.mp3
  7         9  
  7         404  
24 7     7   24 use constant RE_NORMAL_PATH => qr{ \A [\\/]([^\\/].+?) \z }xms; # \mp3\Singer - Song.mp3
  7         7  
  7         341  
25 7     7   22 use constant RE_PARTIAL_PATH => qr{ \A (.+?) \z }xms; # Singer - Song.mp3
  7         13  
  7         256  
26              
27 7     7   21 use base qw( Exporter );
  7         9  
  7         934  
28              
29             BEGIN {
30 7     7   38 %EXPORT_TAGS = (
31             fields => [qw(
32             PATH
33             ID3
34             LEN
35             ARTIST
36             SONG
37             MAXDATA
38             )],
39             etc => [qw(
40             EMPTY_STRING
41             MINIMUM_SEARCH_LENGTH
42             MINUTE_MULTIPLIER
43             DEFAULT_DRIVE
44             )],
45             re => [qw(
46             RE_M3U_HEADER
47             RE_DRIVE_PATH
48             RE_NORMAL_PATH
49             RE_PARTIAL_PATH
50             RE_INF_HEADER
51             )],
52             );
53 7         17 @EXPORT_OK = map { @{ $EXPORT_TAGS{$_} } } keys %EXPORT_TAGS;
  21         32  
  21         67  
54 7         23 $EXPORT_TAGS{all} = \@EXPORT_OK;
55 7         132 @EXPORT = @EXPORT_OK;
56             }
57              
58             1;
59              
60             __END__