mirror of https://github.com/python/cpython.git
Merge
This commit is contained in:
commit
f1182cd4db
|
@ -585,8 +585,12 @@ def __delitem__(self, elem):
|
|||
def __repr__(self):
|
||||
if not self:
|
||||
return '%s()' % self.__class__.__name__
|
||||
items = ', '.join(map('%r: %r'.__mod__, self.most_common()))
|
||||
return '%s({%s})' % (self.__class__.__name__, items)
|
||||
try:
|
||||
items = ', '.join(map('%r: %r'.__mod__, self.most_common()))
|
||||
return '%s({%s})' % (self.__class__.__name__, items)
|
||||
except TypeError:
|
||||
# handle case where values are not orderable
|
||||
return '{0}({1!r})'.format(self.__class__.__name__, dict(self))
|
||||
|
||||
# Multiset-style mathematical operations discussed in:
|
||||
# Knuth TAOCP Volume II section 4.6.3 exercise 19
|
||||
|
|
|
@ -969,6 +969,12 @@ def test_unary(self):
|
|||
self.assertEqual(dict(+c), dict(c=5, d=10, e=15, g=40))
|
||||
self.assertEqual(dict(-c), dict(a=5))
|
||||
|
||||
def test_repr_nonsortable(self):
|
||||
c = Counter(a=2, b=None)
|
||||
r = repr(c)
|
||||
self.assertIn("'a': 2", r)
|
||||
self.assertIn("'b': None", r)
|
||||
|
||||
def test_helper_function(self):
|
||||
# two paths, one for real dicts and one for other mappings
|
||||
elems = list('abracadabra')
|
||||
|
|
Loading…
Reference in New Issue