]> git.imager.perl.org - imager.git/blobdiff - SGI/t/20write.t
WIP commit
[imager.git] / SGI / t / 20write.t
index 335a8c585cdafe0643c793f01b5b6dc6aae7587f..bcbf4e53dc58e1933d706fa55b2d3897ad23abfb 100644 (file)
@@ -1,7 +1,7 @@
 #!perl -w
 use strict;
 use Imager;
-use Test::More tests => 55;
+use Test::More tests => 57;
 use Imager::Test qw(test_image test_image_16 is_image);
 use IO::Seekable;
 
@@ -168,6 +168,20 @@ Imager::init_log('testout/20write.log', 2);
   }
 }
 
+
+{ # check close failures are handled correctly
+  my $im = test_image();
+  my $fail_close = sub {
+    Imager::i_push_error(0, "synthetic close failure");
+    return 0;
+  };
+  ok(!$im->write(type => "sgi", callback => sub { 1 },
+                closecb => $fail_close),
+     "check failing close fails");
+    like($im->errstr, qr/synthetic close failure/,
+        "check error message");
+}
+
 sub limited_write_io {
   my ($limit) = @_;