diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2008-06-21 13:47:20 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2008-06-21 13:47:20 (GMT) |
commit | f484363baecbe69def74a4535cb9545869424dcb (patch) | |
tree | 6c7d1278b98589ceeb126fd342bd24537f9e52ae /Lib | |
parent | d897264464ba153c1c50c0745199392fab796eff (diff) | |
download | cpython-f484363baecbe69def74a4535cb9545869424dcb.zip cpython-f484363baecbe69def74a4535cb9545869424dcb.tar.gz cpython-f484363baecbe69def74a4535cb9545869424dcb.tar.bz2 |
Use repr() for bad input strings; this makes the empty string or binary characters more visible
Diffstat (limited to 'Lib')
-rwxr-xr-x | Lib/fractions.py | 2 | ||||
-rw-r--r-- | Lib/test/test_fractions.py | 18 |
2 files changed, 10 insertions, 10 deletions
diff --git a/Lib/fractions.py b/Lib/fractions.py index 0d85f15..f06e4d4 100755 --- a/Lib/fractions.py +++ b/Lib/fractions.py @@ -70,7 +70,7 @@ class Fraction(Rational): input = numerator m = _RATIONAL_FORMAT.match(input) if m is None: - raise ValueError('Invalid literal for Fraction: ' + input) + raise ValueError('Invalid literal for Fraction: %r' % input) numerator = m.group('num') decimal = m.group('decimal') if decimal: diff --git a/Lib/test/test_fractions.py b/Lib/test/test_fractions.py index 743f094..3d90b5a 100644 --- a/Lib/test/test_fractions.py +++ b/Lib/test/test_fractions.py @@ -86,38 +86,38 @@ class FractionTest(unittest.TestCase): ZeroDivisionError, "Fraction(3, 0)", F, "3/0") self.assertRaisesMessage( - ValueError, "Invalid literal for Fraction: 3/", + ValueError, "Invalid literal for Fraction: '3/'", F, "3/") self.assertRaisesMessage( - ValueError, "Invalid literal for Fraction: 3 /2", + ValueError, "Invalid literal for Fraction: '3 /2'", F, "3 /2") self.assertRaisesMessage( # Denominators don't need a sign. - ValueError, "Invalid literal for Fraction: 3/+2", + ValueError, "Invalid literal for Fraction: '3/+2'", F, "3/+2") self.assertRaisesMessage( # Imitate float's parsing. - ValueError, "Invalid literal for Fraction: + 3/2", + ValueError, "Invalid literal for Fraction: '+ 3/2'", F, "+ 3/2") self.assertRaisesMessage( # Avoid treating '.' as a regex special character. - ValueError, "Invalid literal for Fraction: 3a2", + ValueError, "Invalid literal for Fraction: '3a2'", F, "3a2") self.assertRaisesMessage( # Only parse ordinary decimals, not scientific form. - ValueError, "Invalid literal for Fraction: 3.2e4", + ValueError, "Invalid literal for Fraction: '3.2e4'", F, "3.2e4") self.assertRaisesMessage( # Don't accept combinations of decimals and fractions. - ValueError, "Invalid literal for Fraction: 3/7.2", + ValueError, "Invalid literal for Fraction: '3/7.2'", F, "3/7.2") self.assertRaisesMessage( # Don't accept combinations of decimals and fractions. - ValueError, "Invalid literal for Fraction: 3.2/7", + ValueError, "Invalid literal for Fraction: '3.2/7'", F, "3.2/7") self.assertRaisesMessage( # Allow 3. and .3, but not . - ValueError, "Invalid literal for Fraction: .", + ValueError, "Invalid literal for Fraction: '.'", F, ".") def testImmutable(self): |