The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl
use warnings;
use strict;
use Test::More;
use JSON;
use Data::Dumper;
$Data::Dumper::Indent = 1;

my @glob;

BEGIN {
	@glob = glob('t/data/*.m3u t/data/*.m3ue');
	plan tests => 1 + @glob;
	use_ok 'Parse::M3U::Extended', 'm3u_parser';
}

sub __slurp {
	my $fname = shift;

	open my $fh, '<', $fname or die("Could not open '$fname': $!\n");
	my $file = do { local $/; <$fh> };
	close $fh;

	return $file;
}

for my $test_m3u (@glob) {
	my $ref_file = $test_m3u;
	$ref_file =~ s/\.m3ue?$/.json/;

	my $m3u = __slurp($test_m3u);
	my $ref = __slurp($ref_file);

	is_deeply
		[ m3u_parser($m3u) ],
		decode_json $ref,
		"expected items found for $test_m3u";
}