| 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="/music.css"> |
| 30 | |
| 31 | <table border> |
| 32 | <thead> |
| 33 | <tr><th>Title<th>Artist<th>Album<th>Genre<th>Track<th>Year<th>Type |
| 34 | <tbody> |
| 35 | <tr><td><a href=Cellule<td>Silence<td>L'autre endroit<td>Electro<td>01/09<td>2005<td><a href="/music/empty.flac">FLAC</a> <a href="/music/empty.mp3">MP3</a> |
| 36 | </table> |
| 37 | OUT |
| 38 | |
| 39 | ok -e $file, 'cache exists'; |
| 40 | tie my %db, DB_File => $file; |