diff --git a/Tests/images/hopper.fits b/Tests/images/hopper.fits new file mode 100644 index 000000000..85afa4ac1 Binary files /dev/null and b/Tests/images/hopper.fits differ diff --git a/Tests/test_file_fitsstub.py b/Tests/test_file_fitsstub.py index 89e10acf1..1bf459512 100644 --- a/Tests/test_file_fitsstub.py +++ b/Tests/test_file_fitsstub.py @@ -1,17 +1,51 @@ from helper import unittest, PillowTestCase -from PIL import FitsStubImagePlugin +from PIL import FitsStubImagePlugin, Image + +TEST_FILE = "Tests/images/hopper.fits" class TestFileFitsStub(PillowTestCase): + def test_open(self): + # Act + im = Image.open(TEST_FILE) + + # Assert + self.assertEqual(im.format, "FITS") + + # Dummy data from the stub + self.assertEqual(im.mode, "F") + self.assertEqual(im.size, (1, 1)) + def test_invalid_file(self): + # Arrange invalid_file = "Tests/images/flower.jpg" + # Act / Assert self.assertRaises(SyntaxError, lambda: FitsStubImagePlugin.FITSStubImageFile(invalid_file)) + def test_load(self): + # Arrange + im = Image.open(TEST_FILE) + + # Act / Assert: stub cannot load without an implemented handler + self.assertRaises(IOError, lambda: im.load()) + + def test_save(self): + # Arrange + im = Image.open(TEST_FILE) + dummy_fp = None + dummy_filename = "dummy.filename" + + # Act / Assert: stub cannot save without an implemented handler + self.assertRaises(IOError, lambda: im.save(dummy_filename)) + self.assertRaises( + IOError, + lambda: FitsStubImagePlugin._save(im, dummy_fp, dummy_filename)) + if __name__ == '__main__': unittest.main()