diff options
| author | Martin Panter <vadmium+py@gmail.com> | 2016-02-24 01:08:43 (GMT) |
|---|---|---|
| committer | Martin Panter <vadmium+py@gmail.com> | 2016-02-24 01:08:43 (GMT) |
| commit | 150ea1a1dffd624b4cd6c2608ece249d12588907 (patch) | |
| tree | 7fc2379b114bb54c26cd877296d08443d2b9a824 /Lib/test | |
| parent | 3d2778c8dacd19abd7f92c2d3e3563aa190e56bf (diff) | |
| parent | ee3074e1f473c2ebdc89e2b6889747fc586002e9 (diff) | |
| download | cpython-150ea1a1dffd624b4cd6c2608ece249d12588907.zip cpython-150ea1a1dffd624b4cd6c2608ece249d12588907.tar.gz cpython-150ea1a1dffd624b4cd6c2608ece249d12588907.tar.bz2 | |
Issue #22088: Merge base64 docs from 3.5
Diffstat (limited to 'Lib/test')
| -rw-r--r-- | Lib/test/test_base64.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/Lib/test/test_base64.py b/Lib/test/test_base64.py index a0f548d..9b853a8 100644 --- a/Lib/test/test_base64.py +++ b/Lib/test/test_base64.py @@ -243,14 +243,26 @@ class BaseXYTestCase(unittest.TestCase): (b'@@', b''), (b'!', b''), (b'YWJj\nYWI=', b'abcab')) + funcs = ( + base64.b64decode, + base64.standard_b64decode, + base64.urlsafe_b64decode, + ) for bstr, res in tests: - self.assertEqual(base64.b64decode(bstr), res) - self.assertEqual(base64.b64decode(bstr.decode('ascii')), res) + for func in funcs: + with self.subTest(bstr=bstr, func=func): + self.assertEqual(func(bstr), res) + self.assertEqual(func(bstr.decode('ascii')), res) with self.assertRaises(binascii.Error): base64.b64decode(bstr, validate=True) with self.assertRaises(binascii.Error): base64.b64decode(bstr.decode('ascii'), validate=True) + # Normal alphabet characters not discarded when alternative given + res = b'\xFB\xEF\xBE\xFF\xFF\xFF' + self.assertEqual(base64.b64decode(b'++[[//]]', b'[]'), res) + self.assertEqual(base64.urlsafe_b64decode(b'++--//__'), res) + def test_b32encode(self): eq = self.assertEqual eq(base64.b32encode(b''), b'') @@ -360,6 +372,10 @@ class BaseXYTestCase(unittest.TestCase): b'\x01\x02\xab\xcd\xef') eq(base64.b16decode(array('B', b"0102abcdef"), True), b'\x01\x02\xab\xcd\xef') + # Non-alphabet characters + self.assertRaises(binascii.Error, base64.b16decode, '0102AG') + # Incorrect "padding" + self.assertRaises(binascii.Error, base64.b16decode, '010') def test_a85encode(self): eq = self.assertEqual |
