App-MusicExpo
view release on metacpan or search on metacpan
t/musicexpo-cache.t view on Meta::CPAN
#!/usr/bin/perl -w
use v5.14;
use warnings;
use Test::More tests => 3;
use File::Temp qw/tempfile/;
my $file;
BEGIN {
$file = (tempfile UNLINK => 1)[1];
@ARGV = (-cache => $file, sort <empty*>);
}
BEGIN { use_ok('App::MusicExpo'); }
close STDOUT;
my $out;
open STDOUT, '>', \$out;
my %handled = map { $_ => 1 } App::MusicExpo::extensions_handled;
my $prefix = '<tr><td class="title"><a href="#silence-cellule" data-hash="#silence-cellule">Cellule</a><td class="artist">Silence<td class="album">L'autre endroit<td class="genre">Electro<td class="track">01/09<td class="year">2005<td class="form...
my @lines;
if ($handled{'.flac'} && $handled{'.ogg'}) {
push @lines, $prefix . '<a href="/music/empty.flac">FLAC</a> <a href="/music/empty.ogg">Vorbis</a> '
} elsif ($handled{'.flac'}) {
push @lines, $prefix . '<a href="/music/empty.flac">FLAC</a> '
} elsif ($handled{'.ogg'}) {
push @lines, $prefix . '<a href="/music/empty.ogg">Vorbis</a> '
}
push @lines, $prefix . '<a href="/music/empty2.opus">Opus</a> ' if $handled{'.opus'};
push @lines, $prefix . '<a href="/music/empty3.mp3">MP3</a> ' if $handled{'.mp3'};
push @lines, '<tr><td class="title"><a href="#silence-cellule" data-hash="#silence-cellule">Cellule</a><td class="artist">Silence<td class="album">L'autre endroit<td class="genre">Electro<td class="track">1/9<td class="year">2005<td class="format...
my $contents = join '', map { "\n$_" } @lines;
App::MusicExpo->run;
is $out, <<"OUT", 'output is correct';
<!DOCTYPE html>
<title>Music</title>
<meta charset="utf-8">
<link rel="stylesheet" href="musicexpo.css">
<script async defer type="application/javascript" src="player.js"></script>
<div id="player"></div>
<table border>
<thead>
<tr><th>Title<th>Artist<th>Album<th>Genre<th>Track<th>Year<th>Type
<tbody>$contents
</table>
OUT
ok -e $file, 'cache exists';
( run in 3.819 seconds using v1.01-cache-2.11-cpan-8dfa8b56332 )