Skip to content

Commit d692e5f

Browse files
committed
Update tests
1 parent e6f8566 commit d692e5f

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

mypyc/test-data/run-base64.test

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,16 @@ def test_encode_different_strings() -> None:
4141
for b in rand_values:
4242
check_encode(b)
4343

44-
def test_encode_wrapper() -> None:
45-
enc: Any = b64encode
46-
assert enc(b"x") == b"eA=="
44+
def test_encode_wrappers() -> None:
45+
funcs: list[Any] = [b64encode, urlsafe_b64encode]
46+
for enc in funcs:
47+
assert enc(b"x") == b"eA=="
4748

48-
with assertRaises(TypeError):
49-
enc()
49+
with assertRaises(TypeError):
50+
enc()
5051

51-
with assertRaises(TypeError):
52-
enc(b"x", b"y")
52+
with assertRaises(TypeError):
53+
enc(b"x", b"y")
5354

5455
def test_decode_basic() -> None:
5556
assert b64decode(b"eA==") == b"x"
@@ -149,15 +150,16 @@ def test_decode_with_extra_data_after_padding() -> None:
149150
check_decode(b"eHk=x", encoded=True)
150151
check_decode(b"eA==abc=======efg", encoded=True)
151152

152-
def test_decode_wrapper() -> None:
153-
dec: Any = b64decode
154-
assert dec(b"eA==") == b"x"
153+
def test_decode_wrappers() -> None:
154+
funcs: list[Any] = [b64decode, urlsafe_b64decode]
155+
for dec in funcs:
156+
assert dec(b"eA==") == b"x"
155157

156-
with assertRaises(TypeError):
157-
dec()
158+
with assertRaises(TypeError):
159+
dec()
158160

159-
with assertRaises(TypeError):
160-
dec(b"x", b"y")
161+
with assertRaises(TypeError):
162+
dec(b"x", b"y")
161163

162164
def check_urlsafe_encode(b: bytes) -> None:
163165
assert urlsafe_b64encode(b) == getattr(base64, "urlsafe_b64encode")(b)
@@ -182,6 +184,7 @@ def check_urlsafe_decode(b: bytes) -> None:
182184
assert urlsafe_b64decode(enc2) == getattr(base64, "urlsafe_b64decode")(enc2)
183185

184186
def test_urlsafe_b64decode() -> None:
187+
# Don't test everything, since the implementation is mostly shared with b64decode.
185188
check_urlsafe_decode(b"")
186189
check_urlsafe_decode(b"a")
187190
check_urlsafe_decode(b"\xf8")
@@ -194,6 +197,13 @@ def test_urlsafe_b64decode() -> None:
194197
for b in rand_values:
195198
check_urlsafe_decode(b)
196199

200+
assert urlsafe_b64decode(b" e A = == !") == b"x"
201+
202+
def test_urlsafe_b64decode_errors() -> None:
203+
for b in b"eA", b"eA=", b"eHk":
204+
with assertRaises(ValueError):
205+
b64decode(b)
206+
197207
[case testBase64FeaturesNotAvailableInNonExperimentalBuild_librt_base64]
198208
# This also ensures librt.base64 can be built without experimental features
199209
import librt.base64

0 commit comments

Comments
 (0)