@@ -1012,6 +1012,26 @@ def test_constants(self):
10121012        self .assertIs (self .loads (b'I01\n .' ), True )
10131013        self .assertIs (self .loads (b'I00\n .' ), False )
10141014
1015+     def  test_zero_padded_integers (self ):
1016+         self .assertEqual (self .loads (b'I010\n .' ), 10 )
1017+         self .assertEqual (self .loads (b'I-010\n .' ), - 10 )
1018+         self .assertEqual (self .loads (b'I0010\n .' ), 10 )
1019+         self .assertEqual (self .loads (b'I-0010\n .' ), - 10 )
1020+         self .assertEqual (self .loads (b'L010\n .' ), 10 )
1021+         self .assertEqual (self .loads (b'L-010\n .' ), - 10 )
1022+         self .assertEqual (self .loads (b'L0010\n .' ), 10 )
1023+         self .assertEqual (self .loads (b'L-0010\n .' ), - 10 )
1024+         self .assertEqual (self .loads (b'L010L\n .' ), 10 )
1025+         self .assertEqual (self .loads (b'L-010L\n .' ), - 10 )
1026+ 
1027+     def  test_nondecimal_integers (self ):
1028+         self .assertRaises (ValueError , self .loads , b'I0b10\n .' )
1029+         self .assertRaises (ValueError , self .loads , b'I0o10\n .' )
1030+         self .assertRaises (ValueError , self .loads , b'I0x10\n .' )
1031+         self .assertRaises (ValueError , self .loads , b'L0b10L\n .' )
1032+         self .assertRaises (ValueError , self .loads , b'L0o10L\n .' )
1033+         self .assertRaises (ValueError , self .loads , b'L0x10L\n .' )
1034+ 
10151035    def  test_empty_bytestring (self ):
10161036        # issue 11286 
10171037        empty  =  self .loads (b'\x80 \x03 U\x00 q\x00 .' , encoding = 'koi8-r' )
0 commit comments