diff Lib/test/test_long.py @ 61934:56a54936da1d legacy-trunk

Issue #8825: additional testcases for int(string, 0) and long(string, 0).
author Mark Dickinson <dickinsm@gmail.com>
date Wed, 26 May 2010 19:06:33 +0000
parents 8ac3d527745c
children 6c68dbf932d0
line wrap: on
line diff
--- a/Lib/test/test_long.py	Wed May 26 17:25:28 2010 +0000
+++ b/Lib/test/test_long.py	Wed May 26 19:06:33 2010 +0000
@@ -356,6 +356,23 @@
         self.assertRaises(ValueError, long, '53', 40)
         self.assertRaises(TypeError, long, 1, 12)
 
+        # tests with base 0
+        self.assertEqual(long(' 0123  ', 0), 83)
+        self.assertEqual(long(' 0123  ', 0), 83)
+        self.assertEqual(long('000', 0), 0)
+        self.assertEqual(long('0o123', 0), 83)
+        self.assertEqual(long('0x123', 0), 291)
+        self.assertEqual(long('0b100', 0), 4)
+        self.assertEqual(long(' 0O123   ', 0), 83)
+        self.assertEqual(long(' 0X123  ', 0), 291)
+        self.assertEqual(long(' 0B100 ', 0), 4)
+        self.assertEqual(long('0', 0), 0)
+        self.assertEqual(long('+0', 0), 0)
+        self.assertEqual(long('-0', 0), 0)
+        self.assertEqual(long('00', 0), 0)
+        self.assertRaises(ValueError, long, '08', 0)
+        self.assertRaises(ValueError, long, '-012395', 0)
+
         # SF patch #1638879: embedded NULs were not detected with
         # explicit base
         self.assertRaises(ValueError, long, '123\0', 10)