The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
BEGIN { $|=1; print "1..2\n"; }
END { print "not ok 1\n" unless $loaded; };
use Imager qw(:all);
++$loaded;
print "ok 1\n";
init_log("testout/t05error.log", 1);

# 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);
if ($im) {
  print "not ok 2 # read of junk.ppm should have failed\n";
}
else {
  my @errors = Imager::i_errors();
  unless (@errors) {
    print "not ok 2 # no errors from i_errors()\n";
  }
  else {
    # each entry must be an array ref with 2 elements
    my $bad;
    for (@errors) {
      $bad = 1;
      if (ref ne 'ARRAY') {
	print "not ok 2 # element not an array ref\n";
	last;
      }
      if (@$_ != 2) {
	print "not ok 2 # elements array didn't have 2 elements\n";
	last;
      }
      $bad = 0;
    }
    unless ($bad) {
      print "ok 2\n";
      for (@errors) {
	print "# $_->[0]/$_->[1]\n";
      }
    }
  }
}