MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_backslashes_in_string_part

Method test_backslashes_in_string_part

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

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 3

assertEqualMethod · 0.95
assertWarnsMethod · 0.95
evalFunction · 0.50

Tested by

no test coverage detected