hoist all the copies of cmpimg into a common module
[imager-graph.git] / t / lib / Imager / Graph / Test.pm
1 package Imager::Graph::Test;
2 use strict;
3 use Test::More;
4 use Imager::Test qw(is_image_similar);
5
6 require Exporter;
7 our @ISA = qw(Exporter);
8
9 our @EXPORT_OK = qw(cmpimg);
10
11 sub cmpimg ($$;$$) {
12   my ($img, $filename, $error, $note) = @_;
13
14   local $Test::Builder::Level = $Test::Builder::Level + 1;
15
16   $note ||= $filename;
17   $error ||= 10_000;
18  SKIP: {
19     $Imager::formats{png}
20       or skip("png not available", 1);
21
22     my $cmpim = Imager->new;
23     if ($cmpim->read(file => $filename)) {
24       is_image_similar($img, $cmpim, $error, $note);
25     }
26     else {
27       fail("$note: load");
28       diag("loading $filename: " . $cmpim->errstr);
29     }
30   }
31 }
32
33 1;