mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merged revisions 69466,69480 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r69466 | raymond.hettinger | 2009-02-09 12:39:41 -0600 (Mon, 09 Feb 2009) | 3 lines Issue 5171: itertools.product docstring missing 'repeat' argument ........ r69480 | raymond.hettinger | 2009-02-09 19:24:05 -0600 (Mon, 09 Feb 2009) | 1 line Issue 1818: collections.namedtuple() to support automatic renaming of invalid fieldnames. ........
This commit is contained in:
parent
3a409e91d8
commit
a86f2c06fd
5 changed files with 39 additions and 3 deletions
|
@ -47,6 +47,17 @@ class TestNamedTuple(unittest.TestCase):
|
|||
self.assertRaises(TypeError, Point._make, [11]) # catch too few args
|
||||
self.assertRaises(TypeError, Point._make, [11, 22, 33]) # catch too many args
|
||||
|
||||
def test_name_fixer(self):
|
||||
for spec, renamed in [
|
||||
[('efg', 'g%hi'), ('efg', '_2')], # field with non-alpha char
|
||||
[('abc', 'class'), ('abc', '_2')], # field has keyword
|
||||
[('8efg', '9ghi'), ('_1', '_2')], # field starts with digit
|
||||
[('abc', '_efg'), ('abc', '_2')], # field with leading underscore
|
||||
[('abc', 'efg', 'efg', 'ghi'), ('abc', 'efg', '_3', 'ghi')], # duplicate field
|
||||
[('abc', '', 'x'), ('abc', '_2', 'x')], # fieldname is a space
|
||||
]:
|
||||
self.assertEqual(namedtuple('NT', spec, rename=True)._fields, renamed)
|
||||
|
||||
def test_instance(self):
|
||||
Point = namedtuple('Point', 'x y')
|
||||
p = Point(11, 22)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue