diff --git a/Tests/test_features.py b/Tests/test_features.py index e09f7a493cc..80778284773 100644 --- a/Tests/test_features.py +++ b/Tests/test_features.py @@ -18,7 +18,11 @@ def test_check() -> None: for codec in features.codecs: assert features.check_codec(codec) == features.check(codec) for feature in features.features: - assert features.check_feature(feature) == features.check(feature) + if "webp" in feature: + with pytest.warns(DeprecationWarning): + assert features.check_feature(feature) == features.check(feature) + else: + assert features.check_feature(feature) == features.check(feature) def test_version() -> None: @@ -43,7 +47,11 @@ def test(name: str, function: Callable[[str], str | None]) -> None: for codec in features.codecs: test(codec, features.version_codec) for feature in features.features: - test(feature, features.version_feature) + if "webp" in feature: + with pytest.warns(DeprecationWarning): + test(feature, features.version_feature) + else: + test(feature, features.version_feature) def test_webp_transparency() -> None: diff --git a/src/PIL/features.py b/src/PIL/features.py index e505adae060..dc2cf6be0f5 100644 --- a/src/PIL/features.py +++ b/src/PIL/features.py @@ -180,7 +180,11 @@ def get_supported_features() -> list[str]: """ :returns: A list of all supported features. """ - return [f for f in features if check_feature(f)] + supported_features = [] + for f, (_, flag, _) in features.items(): + if flag is not True and check_feature(f): + supported_features.append(f) + return supported_features def check(feature: str) -> bool | None: