]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-104089: catch DeprecationWarning in `test_fstring` (#104137)
authorsunmy2019 <59365878+sunmy2019@users.noreply.github.com>
Thu, 4 May 2023 10:20:20 +0000 (18:20 +0800)
committerGitHub <noreply@github.com>
Thu, 4 May 2023 10:20:20 +0000 (11:20 +0100)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Lib/test/test_fstring.py

index be71fde5aaba54236c44b0ace982fb4982bea286..58e2550715cecf49388f5c57097c2d8f8182836a 100644 (file)
@@ -980,11 +980,18 @@ x = (
         self.assertEqual(fr'\"\'\"\'', '\\"\\\'\\"\\\'')
 
     def test_fstring_backslash_before_double_bracket(self):
-        self.assertEqual(f'\{{\}}', '\\{\\}')
-        self.assertEqual(f'\{{', '\\{')
-        self.assertEqual(f'\{{{1+1}', '\\{2')
-        self.assertEqual(f'\}}{1+1}', '\\}2')
-        self.assertEqual(f'{1+1}\}}', '2\\}')
+        deprecated_cases = [
+            (r"f'\{{\}}'",   '\\{\\}'),
+            (r"f'\{{'",      '\\{'),
+            (r"f'\{{{1+1}'", '\\{2'),
+            (r"f'\}}{1+1}'", '\\}2'),
+            (r"f'{1+1}\}}'", '2\\}')
+        ]
+        for case, expected_result in deprecated_cases:
+            with self.subTest(case=case, expected_result=expected_result):
+                with self.assertWarns(DeprecationWarning):
+                    result = eval(case)
+                self.assertEqual(result, expected_result)
         self.assertEqual(fr'\{{\}}', '\\{\\}')
         self.assertEqual(fr'\{{', '\\{')
         self.assertEqual(fr'\{{{1+1}', '\\{2')