@@ -159,20 +159,20 @@ def addnoise(line):
159159 def test_base64_bad_padding (self ):
160160 # Test malformed padding
161161 def _assertRegexTemplate (assert_regex , data ,
162- non_strict_mode_expected_result ):
162+ non_strict_mode_expected_result , ** kwargs ):
163163 data = self .type2test (data )
164164 with self .assertRaisesRegex (binascii .Error , assert_regex ):
165- binascii .a2b_base64 (data , strict_mode = True )
165+ binascii .a2b_base64 (data , strict_mode = True , ** kwargs )
166166 self .assertEqual (binascii .a2b_base64 (data , strict_mode = False ),
167167 non_strict_mode_expected_result )
168168 self .assertEqual (binascii .a2b_base64 (data , strict_mode = True ,
169- ignorechars = b'=' ),
169+ ignorechars = b' =' ),
170170 non_strict_mode_expected_result )
171171 self .assertEqual (binascii .a2b_base64 (data ),
172172 non_strict_mode_expected_result )
173173
174- def assertLeadingPadding (* args ):
175- _assertRegexTemplate (r'(?i)Leading padding' , * args )
174+ def assertLeadingPadding (* args , ** kwargs ):
175+ _assertRegexTemplate (r'(?i)Leading padding' , * args , ** kwargs )
176176
177177 def assertDiscontinuousPadding (* args ):
178178 _assertRegexTemplate (r'(?i)Discontinuous padding' , * args )
@@ -200,6 +200,7 @@ def assertInvalidLength(*args):
200200 assertLeadingPadding (b'===abcd' , b'i\xb7 \x1d ' )
201201 assertLeadingPadding (b'====abcd' , b'i\xb7 \x1d ' )
202202 assertLeadingPadding (b'=====abcd' , b'i\xb7 \x1d ' )
203+ assertLeadingPadding (b' =abcd' , b'i\xb7 \x1d ' , ignorechars = b' ' )
203204
204205 assertInvalidLength (b'a=b==' , b'i' )
205206 assertInvalidLength (b'a=bc=' , b'i\xb7 ' )
@@ -763,9 +764,10 @@ def _fixPadding(data):
763764 p = 8 - len_8 if len_8 else 0
764765 return fixed + b"=" * p
765766
766- def _assertRegexTemplate (assert_regex , data , good_padding_result = None ):
767+ def _assertRegexTemplate (assert_regex , data , good_padding_result = None ,
768+ ** kwargs ):
767769 with self .assertRaisesRegex (binascii .Error , assert_regex ):
768- binascii .a2b_base32 (self .type2test (data ))
770+ binascii .a2b_base32 (self .type2test (data ), ** kwargs )
769771 if good_padding_result :
770772 fixed = self .type2test (_fixPadding (data ))
771773 self .assertEqual (binascii .a2b_base32 (fixed ), good_padding_result )
@@ -779,8 +781,8 @@ def assertExcessData(*args):
779781 def assertExcessPadding (* args ):
780782 _assertRegexTemplate (r"(?i)Excess padding" , * args )
781783
782- def assertLeadingPadding (* args ):
783- _assertRegexTemplate (r"(?i)Leading padding" , * args )
784+ def assertLeadingPadding (* args , ** kwargs ):
785+ _assertRegexTemplate (r"(?i)Leading padding" , * args , ** kwargs )
784786
785787 def assertIncorrectPadding (* args ):
786788 _assertRegexTemplate (r"(?i)Incorrect padding" , * args )
@@ -844,6 +846,7 @@ def assertInvalidLength(*args):
844846 assertLeadingPadding (b"=======BEEFCAKE" , b"\t \x08 Q\x01 D" )
845847 assertLeadingPadding (b"========BEEFCAKE" , b"\t \x08 Q\x01 D" )
846848 assertLeadingPadding (b"=========BEEFCAKE" , b"\t \x08 Q\x01 D" )
849+ assertLeadingPadding (b" =BEEFCAKE" , ignorechars = b' ' )
847850
848851 assertIncorrectPadding (b"AB" )
849852 assertIncorrectPadding (b"ABCD" )
0 commit comments