def test_register_backend(self): """ Tests basic usage of register_backend """ Image.register_backend(self.FakeBackend) self.assertEqual(Image.backends, [self.FakeBackend])
def test_register_backend_removes_duplicates(self): """ Tests register_backend won't insert the same backend more than once """ Image.register_backend(self.FakeBackend) Image.register_backend(self.FakeBackend) self.assertEqual(Image.backends, [self.FakeBackend])
def test_register_backend_multiple(self): """ Tests register_backend can register multiple backends """ Image.register_backend(self.FakeBackend) Image.register_backend(self.AnotherFakeBackend) self.assertEqual(Image.backends, [self.FakeBackend, self.AnotherFakeBackend])
def setUp(self): # Reset Image class self.reset() # Make two fake backends and a bad backend class FakeBackend(ImageBackend): def to_buffer(self): pass @classmethod def from_buffer(cls, buf): return cls() @classmethod def from_file(cls, f): return cls() class AnotherFakeBackend(ImageBackend): def to_buffer(self): pass @classmethod def from_buffer(cls, buf): return cls() @classmethod def from_file(cls, f): return cls() class BadFakeBackend(ImageBackend): @classmethod def check(cls): raise ImportError("Bad image backend") self.FakeBackend = FakeBackend self.AnotherFakeBackend = AnotherFakeBackend self.BadFakeBackend = BadFakeBackend Image.register_backend(FakeBackend) Image.register_backend(AnotherFakeBackend) Image.register_backend(BadFakeBackend)