#!perl -w
use strict;
use Test::More tests => 7;
BEGIN { use_ok("Imager", ":all") }
-d "testout" or mkdir "testout";
Imager->open_log(log => "testout/t05error.log");
# try to read an invalid pnm file
open FH, "< testimg/junk.ppm"
or die "Cannot open testin/junk: $!";
binmode(FH);
my $IO = Imager::io_new_fd(fileno(FH));
my $im = i_readpnm_wiol($IO, -1);
SKIP:{
ok(!$im, "read of junk.ppm should have failed")
or skip("read didn't fail!", 5);
my @errors = Imager::i_errors();
is(scalar @errors, 1, "got the errors")
or skip("no errors to check", 4);
SKIP:
{
my $error0 = $errors[0];
is(ref $error0, "ARRAY", "entry 0 is an array ref")
or skip("entry 0 not an array", 3);
is(scalar @$error0, 2, "entry 0 has 2 elements")
or skip("entry 0 doesn't have enough elements", 2);
is($error0->[0], "while skipping to height", "check message");
is($error0->[1], "0", "error code should be 0");
}
}
Imager->close_log;
unless ($ENV{IMAGER_KEEP_FILES}) {
unlink "testout/t05error.log";
}