| 1 | #!/usr/bin/perl -wT |
| 2 | use v5.14; |
| 3 | use warnings; |
| 4 | |
| 5 | use Test::More tests => 3; |
| 6 | |
| 7 | use File::Temp qw/tempfile/; |
| 8 | use DB_File; |
| 9 | use Storable qw/thaw/; |
| 10 | |
| 11 | my $file; |
| 12 | |
| 13 | BEGIN { |
| 14 | $file = (tempfile UNLINK => 1)[1]; |
| 15 | @ARGV = (-cache => $file, 'empty.flac', 'empty.mp3'); |
| 16 | } |
| 17 | BEGIN { use_ok('App::MusicExpo'); } |
| 18 | |
| 19 | close STDOUT; |
| 20 | my $out; |
| 21 | open STDOUT, '>', \$out; |
| 22 | |
| 23 | App::MusicExpo->run; |
| 24 | |
| 25 | is $out, <<'OUT', 'output is correct'; |
| 26 | <!DOCTYPE html> |
| 27 | <title>Music</title> |
| 28 | <meta charset="utf-8"> |
| 29 | <link rel="stylesheet" href="musicexpo.css"> |
| 30 | <script async defer type="application/javascript" src="player.js"></script> |
| 31 | |
| 32 | <div id="player"></div> |
| 33 | |
| 34 | <table border> |
| 35 | <thead> |
| 36 | <tr><th>Title<th>Artist<th>Album<th>Genre<th>Track<th>Year<th>Type |
| 37 | <tbody> |
| 38 | <tr><td class="title">Cellule<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="formats"><a href="/music/empty.flac">FLAC</a> <a href="/music/empty.mp3">MP3</a> |
| 39 | </table> |
| 40 | OUT |
| 41 | |
| 42 | ok -e $file, 'cache exists'; |
| 43 | tie my %db, DB_File => $file; |