(self)
| 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 |
nothing calls this directly
no test coverage detected