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

Method test_backslashes_in_string_part

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

Source from the content-addressed store, hash-verified

945 ["f'{.}'", "\nf'{.}'", "\n\nf'{.}'"])
946
947 def test_backslashes_in_string_part(self):
948 self.assertEqual(f'\t', '\t')
949 self.assertEqual(r'\t', '\\t')
950 self.assertEqual(rf'\t', '\\t')
951 self.assertEqual(f'{2}\t', '2\t')
952 self.assertEqual(f'{2}\t{3}', '2\t3')
953 self.assertEqual(f'\t{3}', '\t3')
954
955 self.assertEqual(f'\u0394', '\u0394')
956 self.assertEqual(r'\u0394', '\\u0394')
957 self.assertEqual(rf'\u0394', '\\u0394')
958 self.assertEqual(f'{2}\u0394', '2\u0394')
959 self.assertEqual(f'{2}\u0394{3}', '2\u03943')
960 self.assertEqual(f'\u0394{3}', '\u03943')
961
962 self.assertEqual(f'\U00000394', '\u0394')
963 self.assertEqual(r'\U00000394', '\\U00000394')
964 self.assertEqual(rf'\U00000394', '\\U00000394')
965 self.assertEqual(f'{2}\U00000394', '2\u0394')
966 self.assertEqual(f'{2}\U00000394{3}', '2\u03943')
967 self.assertEqual(f'\U00000394{3}', '\u03943')
968
969 self.assertEqual(f'\N{GREEK CAPITAL LETTER DELTA}', '\u0394')
970 self.assertEqual(f'{2}\N{GREEK CAPITAL LETTER DELTA}', '2\u0394')
971 self.assertEqual(f'{2}\N{GREEK CAPITAL LETTER DELTA}{3}', '2\u03943')
972 self.assertEqual(f'\N{GREEK CAPITAL LETTER DELTA}{3}', '\u03943')
973 self.assertEqual(f'2\N{GREEK CAPITAL LETTER DELTA}', '2\u0394')
974 self.assertEqual(f'2\N{GREEK CAPITAL LETTER DELTA}3', '2\u03943')
975 self.assertEqual(f'\N{GREEK CAPITAL LETTER DELTA}3', '\u03943')
976
977 self.assertEqual(f'\x20', ' ')
978 self.assertEqual(r'\x20', '\\x20')
979 self.assertEqual(rf'\x20', '\\x20')
980 self.assertEqual(f'{2}\x20', '2 ')
981 self.assertEqual(f'{2}\x20{3}', '2 3')
982 self.assertEqual(f'\x20{3}', ' 3')
983
984 self.assertEqual(f'2\x20', '2 ')
985 self.assertEqual(f'2\x203', '2 3')
986 self.assertEqual(f'\x203', ' 3')
987
988 with self.assertWarns(SyntaxWarning): # invalid escape sequence
989 value = eval(r"f'\{6*7}'")
990 self.assertEqual(value, '\\42')
991 with self.assertWarns(SyntaxWarning): # invalid escape sequence
992 value = eval(r"f'\g'")
993 self.assertEqual(value, '\\g')
994 self.assertEqual(f'\\{6*7}', '\\42')
995 self.assertEqual(fr'\{6*7}', '\\42')
996
997 AMPERSAND = 'spam'
998 # Get the right unicode character (&), or pick up local variable
999 # depending on the number of backslashes.
1000 self.assertEqual(f'\N{AMPERSAND}', '&')
1001 self.assertEqual(f'\\N{AMPERSAND}', '\\Nspam')
1002 self.assertEqual(fr'\N{AMPERSAND}', '\\Nspam')
1003 self.assertEqual(f'\\\N{AMPERSAND}', '\\&')
1004

Callers

nothing calls this directly

Calls 2

assertEqualMethod · 0.95
assertWarnsMethod · 0.95

Tested by

no test coverage detected