use v5.12; use warnings; use Test::More tests => 3; use Test::Differences; require './tags.pl'; require './fa-mp3cd'; my @Rising = ( { TITLE => ['Tarot Woman'] }, { TITLE => ['Run With the Wolf'] }, ); for (my $i = 0; $i < @Rising; $i++) { my $n = $i + 1; $Rising[$i] = [ "$n.flac", { TRACKNUMBER => [$n], ARTIST => ['Rainbow'], ALBUM => ['Rising'], DATE => ['1976-05-17'], %{$Rising[$i]}, }]; } eq_or_diff [ { dir => './Rising', flac => '1.flac', filename => '01_Tarot_Woman.mp3', artist => 'Rainbow', album => 'Rising', date => '1976-05-17', discnumber => [], tracknumber => 1, title => 'Tarot Woman', }, { dir => './Rising', flac => '2.flac', filename => '02_Run_With_the_Wolf.mp3', artist => 'Rainbow', album => 'Rising', date => '1976-05-17', discnumber => [], tracknumber => 2, title => 'Run With the Wolf', }, ], [epg::flac::archive::mp3::cd::plan('.', @Rising)]; eq_or_diff [ { dir => 'a/b/fakeal', flac => 'file.flac', filename => '01_faket.mp3', artist => 'fakear', album => 'fakeal', date => 0, discnumber => [], tracknumber => 1, title => 'faket', } ], [ epg::flac::archive::mp3::cd::plan( 'a/b', ['file.flac', { ARTIST => ['fakear'], ALBUM => ['fakeal'], DATE => [0], TRACKNUMBER => [1], TITLE => ['faket'], }], )], 'relative work directory'; eq_or_diff [ { dir => '/a/b/fakeal', flac => 'file.flac', filename => '01_faket.mp3', artist => 'fakear', album => 'fakeal', date => 0, discnumber => [], tracknumber => 1, title => 'faket', } ], [ epg::flac::archive::mp3::cd::plan( '/a/b', ['file.flac', { ARTIST => ['fakear'], ALBUM => ['fakeal'], DATE => [0], TRACKNUMBER => [1], TITLE => ['faket'], }], )], 'absolute work directory';