diff --git a/Tests/images/hdf5.h5 b/Tests/images/hdf5.h5 new file mode 100644 index 000000000..977e9659c Binary files /dev/null and b/Tests/images/hdf5.h5 differ diff --git a/Tests/test_file_hdf5stub.py b/Tests/test_file_hdf5stub.py index 4545c8212..e030001da 100644 --- a/Tests/test_file_hdf5stub.py +++ b/Tests/test_file_hdf5stub.py @@ -1,16 +1,50 @@ from helper import unittest, PillowTestCase -from PIL import Hdf5StubImagePlugin +from PIL import Hdf5StubImagePlugin, Image + +TEST_FILE = "Tests/images/hdf5.h5" class TestFileHdf5Stub(PillowTestCase): - def test_invalid_file(self): - test_file = "Tests/images/flower.jpg" + def test_open(self): + # Act + im = Image.open(TEST_FILE) + # Assert + self.assertEqual(im.format, "HDF5") + + # 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: - Hdf5StubImagePlugin.HDF5StubImageFile(test_file)) + Hdf5StubImagePlugin.HDF5StubImageFile(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: Hdf5StubImagePlugin._save(im, dummy_fp, dummy_filename)) if __name__ == '__main__':