compat: get rid of STRING_TYPES

I think it only obfuscates the code, also calling `bytes` a string type
is pretty misleading in Python 3.
This commit is contained in:
Ran Benita
2024-02-03 18:37:49 +02:00
parent 20b18f0f9a
commit 99e8129ba3
3 changed files with 3 additions and 13 deletions

View File

@@ -24,7 +24,6 @@ from typing import TypeVar
from typing import Union
import _pytest._code
from _pytest.compat import STRING_TYPES
from _pytest.outcomes import fail
@@ -721,15 +720,10 @@ def approx(expected, rel=None, abs=None, nan_ok: bool = False) -> ApproxBase:
elif (
hasattr(expected, "__getitem__")
and isinstance(expected, Sized)
# Type ignored because the error is wrong -- not unreachable.
and not isinstance(expected, STRING_TYPES) # type: ignore[unreachable]
and not isinstance(expected, (str, bytes))
):
cls = ApproxSequenceLike
elif (
isinstance(expected, Collection)
# Type ignored because the error is wrong -- not unreachable.
and not isinstance(expected, STRING_TYPES) # type: ignore[unreachable]
):
elif isinstance(expected, Collection) and not isinstance(expected, (str, bytes)):
msg = f"pytest.approx() only supports ordered sequences, but got: {expected!r}"
raise TypeError(msg)
else: