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

Method test_compile_time_concat

Lib/test/test_fstring.py:701–736  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

699 ])
700
701 def test_compile_time_concat(self):
702 x = 'def'
703 self.assertEqual('abc' f'## {x}ghi', 'abc## defghi')
704 self.assertEqual('abc' f'{x}' 'ghi', 'abcdefghi')
705 self.assertEqual('abc' f'{x}' 'gh' f'i{x:4}', 'abcdefghidef ')
706 self.assertEqual('{x}' f'{x}', '{x}def')
707 self.assertEqual('{x' f'{x}', '{xdef')
708 self.assertEqual('{x}' f'{x}', '{x}def')
709 self.assertEqual('{{x}}' f'{x}', '{{x}}def')
710 self.assertEqual('{{x' f'{x}', '{{xdef')
711 self.assertEqual('x}}' f'{x}', 'x}}def')
712 self.assertEqual(f'{x}' 'x}}', 'defx}}')
713 self.assertEqual(f'{x}' '', 'def')
714 self.assertEqual('' f'{x}' '', 'def')
715 self.assertEqual('' f'{x}', 'def')
716 self.assertEqual(f'{x}' '2', 'def2')
717 self.assertEqual('1' f'{x}' '2', '1def2')
718 self.assertEqual('1' f'{x}', '1def')
719 self.assertEqual(f'{x}' f'-{x}', 'def-def')
720 self.assertEqual('' f'', '')
721 self.assertEqual('' f'' '', '')
722 self.assertEqual('' f'' '' f'', '')
723 self.assertEqual(f'', '')
724 self.assertEqual(f'' '', '')
725 self.assertEqual(f'' '' f'', '')
726 self.assertEqual(f'' '' f'' '', '')
727
728 # This is not really [f'{'] + [f'}'] since we treat the inside
729 # of braces as a purely new context, so it is actually f'{ and
730 # then eval(' f') (a valid expression) and then }' which would
731 # constitute a valid f-string.
732 self.assertEqual(f'{' f'}', ' f')
733
734 self.assertAllRaise(SyntaxError, "expecting '}'",
735 ['''f'{3' f"}"''', # can't concat to get a valid f-string
736 ])
737
738 def test_comments(self):
739 # These aren't comments, since they're in strings.

Callers

nothing calls this directly

Calls 2

assertEqualMethod · 0.95
assertAllRaiseMethod · 0.95

Tested by

no test coverage detected