From 3293d6a1c5ddb347504deec3d07eaedc26d58643 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Thu, 11 May 2017 21:34:21 +0000 Subject: [PATCH] tests for features --- Tests/test_features.py | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/Tests/test_features.py b/Tests/test_features.py index eacf807db..d14aaca69 100644 --- a/Tests/test_features.py +++ b/Tests/test_features.py @@ -2,19 +2,50 @@ from helper import unittest, PillowTestCase from PIL import features +try: + from PIL import _webp + HAVE_WEBP = True +except: + HAVE_WEBP = False + class TestFeatures(PillowTestCase): - def test_check_features(self): + def test_check(self): + # Check the correctness of the convenience function + for module in features.modules: + self.assertEqual(features.check_module(module), + features.check(module)) + for codec in features.codecs: + self.assertEqual(features.check_codec(codec), + features.check(codec)) + for feature in features.features: + self.assertEqual(features.check_feature(feature), + features.check(feature)) + + @unittest.skipUnless(HAVE_WEBP, True) + def check_webp_transparency(self): + self.assertEqual(features.check('transp_webp'), + not _webp.WebPDecoderBuggyAlpha()) + self.assertEqual(features.check('transp_webp'), + _webp.HAVE_TRANSPARENCY) + + @unittest.skipUnless(HAVE_WEBP, True) + def check_webp_mux(self): + self.assertEqual(features.check('webp_mux'), + _webp.HAVE_WEBPMUX) + + def test_check_modules(self): for feature in features.modules: - self.assertIn( - features.check_module(feature), [True, False, None]) + self.assertIn(features.check_module(feature), [True, False]) for feature in features.codecs: self.assertIn(features.check_codec(feature), [True, False]) - def test_supported_features(self): + def test_supported_modules(self): self.assertIsInstance(features.get_supported_modules(), list) self.assertIsInstance(features.get_supported_codecs(), list) + self.assertIsInstance(features.get_supported_features(), list) + self.assertIsInstance(features.get_supported(), list) def test_unsupported_codec(self): # Arrange