[Python-checkins] r64441 - in python/trunk/Lib: fractions.py test/test_fractions.py

andrew.kuchling python-checkins at python.org
Sat Jun 21 15:47:20 CEST 2008


Author: andrew.kuchling
Date: Sat Jun 21 15:47:20 2008
New Revision: 64441
Log:
Use repr() for bad input strings; this makes the empty string or binary characters more visible
Modified:
 python/trunk/Lib/fractions.py
 python/trunk/Lib/test/test_fractions.py
Modified: python/trunk/Lib/fractions.py
==============================================================================
--- python/trunk/Lib/fractions.py	(original)
+++ python/trunk/Lib/fractions.py	Sat Jun 21 15:47:20 2008
@@ -70,7 +70,7 @@
 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:
Modified: python/trunk/Lib/test/test_fractions.py
==============================================================================
--- python/trunk/Lib/test/test_fractions.py	(original)
+++ python/trunk/Lib/test/test_fractions.py	Sat Jun 21 15:47:20 2008
@@ -86,38 +86,38 @@
 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):


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /