summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_binascii.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_binascii.py')
-rw-r--r--Lib/test/test_binascii.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_binascii.py b/Lib/test/test_binascii.py
index 82dea8a..1f3b674 100644
--- a/Lib/test/test_binascii.py
+++ b/Lib/test/test_binascii.py
@@ -139,13 +139,21 @@ class BinASCIITest(unittest.TestCase):
def assertDiscontinuousPadding(data, non_strict_mode_expected_result: bytes):
_assertRegexTemplate(r'(?i)Discontinuous padding', data, non_strict_mode_expected_result)
+ def assertExcessPadding(data, non_strict_mode_expected_result: bytes):
+ _assertRegexTemplate(r'(?i)Excess padding', data, non_strict_mode_expected_result)
+
# Test excess data exceptions
assertExcessData(b'ab==a', b'i')
assertExcessData(b'ab===', b'i')
+ assertExcessData(b'ab====', b'i')
assertExcessData(b'ab==:', b'i')
assertExcessData(b'abc=a', b'i\xb7')
assertExcessData(b'abc=:', b'i\xb7')
assertExcessData(b'ab==\n', b'i')
+ assertExcessData(b'abc==', b'i\xb7')
+ assertExcessData(b'abc===', b'i\xb7')
+ assertExcessData(b'abc====', b'i\xb7')
+ assertExcessData(b'abc=====', b'i\xb7')
# Test non-base64 data exceptions
assertNonBase64Data(b'\nab==', b'i')
@@ -157,8 +165,15 @@ class BinASCIITest(unittest.TestCase):
assertLeadingPadding(b'=', b'')
assertLeadingPadding(b'==', b'')
assertLeadingPadding(b'===', b'')
+ assertLeadingPadding(b'====', b'')
+ assertLeadingPadding(b'=====', b'')
assertDiscontinuousPadding(b'ab=c=', b'i\xb7')
assertDiscontinuousPadding(b'ab=ab==', b'i\xb6\x9b')
+ assertExcessPadding(b'abcd=', b'i\xb7\x1d')
+ assertExcessPadding(b'abcd==', b'i\xb7\x1d')
+ assertExcessPadding(b'abcd===', b'i\xb7\x1d')
+ assertExcessPadding(b'abcd====', b'i\xb7\x1d')
+ assertExcessPadding(b'abcd=====', b'i\xb7\x1d')
def test_base64errors(self):