diff --git a/Tests/test_image.py b/Tests/test_image.py index 6f6d1983e39..f64ea241b8d 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -112,7 +112,6 @@ def test_unknown_extension(self): self.assertRaises(ValueError, im.save, temp_file) def test_internals(self): - im = Image.new("L", (100, 100)) im.readonly = 1 im._copy() @@ -122,8 +121,15 @@ def test_internals(self): im.paste(0, (0, 0, 100, 100)) self.assertFalse(im.readonly) - test_file = self.tempfile("temp.ppm") - im._dump(test_file) + def test_dump(self): + im = Image.new("L", (10, 10)) + im._dump(self.tempfile("temp_L.ppm")) + + im = Image.new("RGB", (10, 10)) + im._dump(self.tempfile("temp_RGB.ppm")) + + im = Image.new("HSV", (10, 10)) + self.assertRaises(ValueError, im._dump, self.tempfile("temp_HSV.ppm")) def test_comparison_with_other_type(self): # Arrange diff --git a/src/libImaging/File.c b/src/libImaging/File.c index d67bcabde94..6f014c1f822 100644 --- a/src/libImaging/File.c +++ b/src/libImaging/File.c @@ -70,6 +70,7 @@ ImagingSavePPM(Imaging im, const char* outfile) /* Write "PPM" */ fprintf(fp, "P6\n%d %d\n255\n", im->xsize, im->ysize); } else { + fclose(fp); (void) ImagingError_ModeError(); return 0; }