MCPcopy Index your code
hub / github.com/python/cpython / test_b64decode_padded

Method test_b64decode_padded

Lib/test/test_base64.py:336–364  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

334 self.assertRaises(binascii.Error, base64.b64decode, 'abc')
335
336 def test_b64decode_padded(self):
337 b64decode = base64.b64decode
338 urlsafe_b64decode = base64.urlsafe_b64decode
339 def check(data, expected, padded=0):
340 if b'=' in data:
341 with self.assertRaisesRegex(binascii.Error, 'Padding not allowed'):
342 b64decode(data, padded=False, validate=True)
343 self.assertEqual(b64decode(data, padded=False, ignorechars=b'='),
344 expected)
345 self.assertEqual(urlsafe_b64decode(data, padded=True), expected)
346 self.assertEqual(urlsafe_b64decode(data, padded=False), expected)
347 data = data.replace(b'=', b'')
348 self.assertEqual(b64decode(data, padded=False), expected)
349 self.assertEqual(b64decode(data, padded=False, validate=True),
350 expected)
351 self.assertEqual(urlsafe_b64decode(data), expected)
352
353 check(b'', b'')
354 check(b'YQ==', b'a')
355 check(b'YWI=', b'ab')
356 check(b'YWJj', b'abc')
357 check(b'Y=WJj', b'abc')
358 check(b'YW=Jj', b'abc')
359 check(b'YWJ=j', b'abc')
360
361 with self.assertRaisesRegex(binascii.Error, 'Incorrect padding'):
362 urlsafe_b64decode(b'YQ', padded=True)
363 with self.assertRaisesRegex(binascii.Error, 'Incorrect padding'):
364 urlsafe_b64decode(b'YWI', padded=True)
365
366 def _common_test_ignorechars(self, func):
367 eq = self.assertEqual

Callers

nothing calls this directly

Calls 3

urlsafe_b64decodeFunction · 0.85
assertRaisesRegexMethod · 0.80
checkFunction · 0.70

Tested by

no test coverage detected