Skip to content

Commit a467944

Browse files
committed
Fix _codecs.escape_decode return type
1 parent 9f8f621 commit a467944

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

‎stdlib/@tests/test_cases/check_codecs.py‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,10 @@
1111

1212
assert_type(codecs.decode("ab", "hex"), bytes)
1313
assert_type(codecs.decode(b"ab", "hex"), bytes)
14+
15+
assert_type(codecs.escape_decode("ab"), tuple[bytes, int])
16+
assert_type(codecs.escape_decode(b"ab"), tuple[bytes, int])
17+
18+
decoded, consumed = codecs.escape_decode(b"ab")
19+
assert_type(decoded, bytes)
20+
assert_type(consumed, int)

‎stdlib/_codecs.pyi‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ def ascii_decode(data: ReadableBuffer, errors: str | None = None, /) -> tuple[st
7777
def ascii_encode(str: str, errors: str | None = None, /) -> tuple[bytes, int]: ...
7878
def charmap_decode(data: ReadableBuffer, errors: str | None = None, mapping: _CharMap | None = None, /) -> tuple[str, int]: ...
7979
def charmap_encode(str: str, errors: str | None = None, mapping: _CharMap | None = None, /) -> tuple[bytes, int]: ...
80-
def escape_decode(data: str | ReadableBuffer, errors: str | None = None, /) -> tuple[str, int]: ...
80+
# Docs say this accepts a bytes-like object, but in practice it also accepts str.
81+
def escape_decode(data: str | ReadableBuffer, errors: str | None = None, /) -> tuple[bytes, int]: ...
8182
def escape_encode(data: bytes, errors: str | None = None, /) -> tuple[bytes, int]: ...
8283
def latin_1_decode(data: ReadableBuffer, errors: str | None = None, /) -> tuple[str, int]: ...
8384
def latin_1_encode(str: str, errors: str | None = None, /) -> tuple[bytes, int]: ...

0 commit comments

Comments
 (0)