MCPcopy Index your code
hub / github.com/python/cpython / test_format_auto_numbering

Method test_format_auto_numbering

Lib/test/test_str.py:1478–1506  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1476 result = format_string.format(2.34)
1477
1478 def test_format_auto_numbering(self):
1479 class C:
1480 def __init__(self, x=100):
1481 self._x = x
1482 def __format__(self, spec):
1483 return spec
1484
1485 self.assertEqual('{}'.format(10), '10')
1486 self.assertEqual('{:5}'.format('s'), 's ')
1487 self.assertEqual('{!r}'.format('s'), "'s'")
1488 self.assertEqual('{._x}'.format(C(10)), '10')
1489 self.assertEqual('{[1]}'.format([1, 2]), '2')
1490 self.assertEqual('{[a]}'.format({'a':4, 'b':2}), '4')
1491 self.assertEqual('a{}b{}c'.format(0, 1), 'a0b1c')
1492
1493 self.assertEqual('a{:{}}b'.format('x', '^10'), 'a x b')
1494 self.assertEqual('a{:{}x}b'.format(20, '#'), 'a0x14b')
1495
1496 # can't mix and match numbering and auto-numbering
1497 self.assertRaises(ValueError, '{}{1}'.format, 1, 2)
1498 self.assertRaises(ValueError, '{1}{}'.format, 1, 2)
1499 self.assertRaises(ValueError, '{:{1}}'.format, 1, 2)
1500 self.assertRaises(ValueError, '{0:{}}'.format, 1, 2)
1501
1502 # can mix and match auto-numbering and named
1503 self.assertEqual('{f}{}'.format(4, f='test'), 'test4')
1504 self.assertEqual('{}{f}'.format(4, f='test'), '4test')
1505 self.assertEqual('{:{f}}{g}{}'.format(1, 3, g='g', f=2), ' 1g3')
1506 self.assertEqual('{f:{}}{}{g}'.format(2, 4, f=1, g='g'), ' 14g')
1507
1508 def test_formatting(self):
1509 string_tests.StringLikeTest.test_formatting(self)

Callers

nothing calls this directly

Calls 4

CClass · 0.70
assertEqualMethod · 0.45
formatMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected