"""
field_names = s.split()
- if not ''.join([typename] + field_names).replace('_', '').isalpha():
+ if not ''.join([typename] + field_names).replace('_', '').isalnum():
raise ValueError('Type names and field names can only contain alphanumeric characters and underscores')
argtxt = ', '.join(field_names)
reprtxt = ', '.join('%s=%%r' % name for name in field_names)
self.assertEqual(Point.__slots__, ())
self.assertEqual(Point.__module__, __name__)
self.assertEqual(Point.__getitem__, tuple.__getitem__)
+ self.assertRaises(ValueError, NamedTuple, 'abc%', 'def ghi')
+ self.assertRaises(ValueError, NamedTuple, 'abc', 'def g%hi')
+ NamedTuple('Point0', 'x1 y2') # Verify that numbers are allowed in names
def test_instance(self):
Point = NamedTuple('Point', 'x y')