1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
package TestHelpers;
use strict;
use warnings;
our @EXPORT_OK = (qw(slurp utf8_slurp eq_or_diff));
use parent 'Exporter';
use Test::More ();
sub slurp
{
my $filename = shift;
open my $in, "<", $filename
or die "Cannot open '$filename' for slurping - $!";
local $/;
my $contents = <$in>;
close($in);
return $contents;
}
sub utf8_slurp
{
my $filename = shift;
open my $in, '<', $filename
or die "Cannot open '$filename' for slurping - $!";
binmode $in, ':utf8';
local $/;
my $contents = <$in>;
close($in);
return $contents;
}
my $_eq_or_diff_ref;
if (eval "require Test::Differences; 1;" && (!$@))
{
$_eq_or_diff_ref = \&Test::Differences::eq_or_diff;
}
else
{
$_eq_or_diff_ref = \&Test::More::is_deeply;
}
sub eq_or_diff
{
local $Test::Builder::Level = $Test::Builder::Level + 1;
return $_eq_or_diff_ref->(@_);
}
1;
|