@@ -155,6 +155,8 @@ def test_basic(self):
155
155
self .assertEqual (int (' 0O123 ' , 0 ), 83 )
156
156
self .assertEqual (int (' 0X123 ' , 0 ), 291 )
157
157
self .assertEqual (int (' 0B100 ' , 0 ), 4 )
158
+ with self .assertRaises (ValueError ):
159
+ int ('010' , 0 )
158
160
159
161
# without base still base 10
160
162
self .assertEqual (int ('0123' ), 123 )
@@ -221,6 +223,24 @@ def test_basic(self):
221
223
self .assertEqual (int ('2br45qc' , 35 ), 4294967297 )
222
224
self .assertEqual (int ('1z141z5' , 36 ), 4294967297 )
223
225
226
+ def test_invalid_signs (self ):
227
+ with self .assertRaises (ValueError ):
228
+ int ('+' )
229
+ with self .assertRaises (ValueError ):
230
+ int ('-' )
231
+ with self .assertRaises (ValueError ):
232
+ int ('- 1' )
233
+ with self .assertRaises (ValueError ):
234
+ int ('+ 1' )
235
+ with self .assertRaises (ValueError ):
236
+ int (' + 1 ' )
237
+
238
+ def test_unicode (self ):
239
+ self .assertEqual (int ("१२३४५६७८९०1234567890" ), 12345678901234567890 )
240
+ self .assertEqual (int ('١٢٣٤٥٦٧٨٩٠' ), 1234567890 )
241
+ self .assertEqual (int ("१२३४५६७८९०1234567890" , 0 ), 12345678901234567890 )
242
+ self .assertEqual (int ('١٢٣٤٥٦٧٨٩٠' , 0 ), 1234567890 )
243
+
224
244
def test_underscores (self ):
225
245
for lit in VALID_UNDERSCORE_LITERALS :
226
246
if any (ch in lit for ch in '.eEjJ' ):
0 commit comments