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   44 use strict;
  7         15  
  7         312  
3 7     7   39 use warnings;
  7         22  
  7         242  
4 7     7   1630 use vars qw( $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS $OID );
  7         14  
  7         725  
5              
6             $VERSION = '2.31';
7              
8             # Data table key map
9 7     7   44 use constant PATH => $OID++;
  7         20  
  7         822  
10 7     7   79 use constant ID3 => $OID++;
  7         13  
  7         383  
11 7     7   41 use constant LEN => $OID++;
  7         13  
  7         21094  
12 7     7   54 use constant ARTIST => $OID++;
  7         33  
  7         543  
13 7     7   36 use constant SONG => $OID++;
  7         13  
  7         1243  
14 7     7   35 use constant MAXDATA => $OID; # Maximum index number of the data table
  7         12  
  7         1250  
15              
16 7     7   35 use constant EMPTY_STRING => q{};
  7         15  
  7         447  
17 7     7   35 use constant MINIMUM_SEARCH_LENGTH => 3;
  7         12  
  7         364  
18              
19 7     7   39 use constant MINUTE_MULTIPLIER => 60;
  7         15  
  7         478  
20 7     7   36 use constant DEFAULT_DRIVE => 'CDROM:';
  7         17  
  7         1859  
21 7     7   39 use constant RE_M3U_HEADER => qr{ \A \#EXTM3U }xms;
  7         24  
  7         449  
22 7     7   39 use constant RE_INF_HEADER => qr{ \#EXTINF }xmsi;
  7         11  
  7         680  
23 7     7   42 use constant RE_DRIVE_PATH => qr{ \A \w:[\\/] (.+?) \z }xms; # C:\mp3\Singer - Song.mp3
  7         12  
  7         538  
24 7     7   41 use constant RE_NORMAL_PATH => qr{ \A [\\/]([^\\/].+?) \z }xms; # \mp3\Singer - Song.mp3
  7         15  
  7         509  
25 7     7   121 use constant RE_PARTIAL_PATH => qr{ \A (.+?) \z }xms; # Singer - Song.mp3
  7         15  
  7         1491  
26              
27 7     7   161 use base qw( Exporter );
  7         20  
  7         14212  
28              
29             BEGIN {
30 7     7   61 %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         26 @EXPORT_OK = map { @{ $EXPORT_TAGS{$_} } } keys %EXPORT_TAGS;
  21         30  
  21         101  
54 7         28 $EXPORT_TAGS{all} = \@EXPORT_OK;
55 7         264 @EXPORT = @EXPORT_OK;
56             }
57              
58             1;
59              
60             __END__