Commit a48a3b42 authored by Guido van Rossum's avatar Guido van Rossum

Fix test failures for repr.py.

But shouldn't we kill this module?  How many pprint clones do we need?
parent 08a1a9fa
...@@ -18,7 +18,7 @@ class Repr: ...@@ -18,7 +18,7 @@ class Repr:
self.maxdeque = 6 self.maxdeque = 6
self.maxstring = 30 self.maxstring = 30
self.maxlong = 40 self.maxlong = 40
self.maxother = 20 self.maxother = 30
def repr(self, x): def repr(self, x):
return self.repr1(x, self.maxlevel) return self.repr1(x, self.maxlevel)
...@@ -31,12 +31,7 @@ class Repr: ...@@ -31,12 +31,7 @@ class Repr:
if hasattr(self, 'repr_' + typename): if hasattr(self, 'repr_' + typename):
return getattr(self, 'repr_' + typename)(x, level) return getattr(self, 'repr_' + typename)(x, level)
else: else:
s = __builtin__.repr(x) return self.repr_instance(x, level)
if len(s) > self.maxother:
i = max(0, (self.maxother-3)//2)
j = max(0, self.maxother-3-i)
s = s[:i] + '...' + s[len(s)-j:]
return s
def _repr_iterable(self, x, level, left, right, maxiter, trail=''): def _repr_iterable(self, x, level, left, right, maxiter, trail=''):
n = len(x) n = len(x)
...@@ -112,9 +107,9 @@ class Repr: ...@@ -112,9 +107,9 @@ class Repr:
# exceptions -- then make up something # exceptions -- then make up something
except: except:
return '<%s instance at %x>' % (x.__class__.__name__, id(x)) return '<%s instance at %x>' % (x.__class__.__name__, id(x))
if len(s) > self.maxstring: if len(s) > self.maxother:
i = max(0, (self.maxstring-3)//2) i = max(0, (self.maxother-3)//2)
j = max(0, self.maxstring-3-i) j = max(0, self.maxother-3-i)
s = s[:i] + '...' + s[len(s)-j:] s = s[:i] + '...' + s[len(s)-j:]
return s return s
......
...@@ -111,7 +111,7 @@ class ReprTests(unittest.TestCase): ...@@ -111,7 +111,7 @@ class ReprTests(unittest.TestCase):
s = r(ClassWithFailingRepr) s = r(ClassWithFailingRepr)
self.failUnless(s.startswith("<class ")) self.failUnless(s.startswith("<class "))
self.failUnless(s.endswith(">")) self.failUnless(s.endswith(">"))
self.failUnless(s.find("...") == 8) self.failUnless(s.find("...") in [12, 13])
def test_file(self): def test_file(self):
fp = open(unittest.__file__) fp = open(unittest.__file__)
...@@ -249,8 +249,7 @@ class bar: ...@@ -249,8 +249,7 @@ class bar:
''') ''')
from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import bar from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import bar
# Module name may be prefixed with "test.", depending on how run. # Module name may be prefixed with "test.", depending on how run.
self.failUnless(repr(bar.bar).startswith( self.assertEquals(repr(bar.bar), "<class '%s.bar'>" % bar.__name__)
"<class %s.bar at 0x" % bar.__name__))
def test_instance(self): def test_instance(self):
touch(os.path.join(self.subpkgname, 'baz'+os.extsep+'py'), '''\ touch(os.path.join(self.subpkgname, 'baz'+os.extsep+'py'), '''\
...@@ -260,7 +259,7 @@ class baz: ...@@ -260,7 +259,7 @@ class baz:
from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import baz from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import baz
ibaz = baz.baz() ibaz = baz.baz()
self.failUnless(repr(ibaz).startswith( self.failUnless(repr(ibaz).startswith(
"<%s.baz instance at 0x" % baz.__name__)) "<%s.baz object at 0x" % baz.__name__))
def test_method(self): def test_method(self):
eq = self.assertEquals eq = self.assertEquals
...@@ -275,7 +274,7 @@ class aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ...@@ -275,7 +274,7 @@ class aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
# Bound method next # Bound method next
iqux = qux.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa() iqux = qux.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()
self.failUnless(repr(iqux.amethod).startswith( self.failUnless(repr(iqux.amethod).startswith(
'<bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of <%s.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa instance at 0x' \ '<bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of <%s.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa object at 0x' \
% (qux.__name__,) )) % (qux.__name__,) ))
def test_builtin_function(self): def test_builtin_function(self):
...@@ -286,7 +285,7 @@ class ClassWithRepr: ...@@ -286,7 +285,7 @@ class ClassWithRepr:
def __init__(self, s): def __init__(self, s):
self.s = s self.s = s
def __repr__(self): def __repr__(self):
return "ClassWithLongRepr(%r)" % self.s return "ClassWithRepr(%r)" % self.s
class ClassWithFailingRepr: class ClassWithFailingRepr:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment