|
32 | 32 | import shutil
|
33 | 33 | import tempfile
|
34 | 34 | import unittest
|
| 35 | +import warnings |
35 | 36 |
|
36 | 37 |
|
37 | 38 | TEMPLATE = r"""# coding: %s
|
@@ -110,10 +111,24 @@ def test_eval_str_invalid_escape(self):
|
110 | 111 | for b in range(1, 128):
|
111 | 112 | if b in b"""\n\r"'01234567NU\\abfnrtuvx""":
|
112 | 113 | continue
|
113 |
| - with self.assertWarns(SyntaxWarning): |
| 114 | + with self.assertWarns(DeprecationWarning): |
114 | 115 | self.assertEqual(eval(r"'\%c'" % b), '\\' + chr(b))
|
115 | 116 |
|
116 |
| - self.check_syntax_warning("'''\n\\z'''") |
| 117 | + with warnings.catch_warnings(record=True) as w: |
| 118 | + warnings.simplefilter('always', category=DeprecationWarning) |
| 119 | + eval("'''\n\\z'''") |
| 120 | + self.assertEqual(len(w), 1) |
| 121 | + self.assertEqual(w[0].filename, '<string>') |
| 122 | + self.assertEqual(w[0].lineno, 1) |
| 123 | + |
| 124 | + with warnings.catch_warnings(record=True) as w: |
| 125 | + warnings.simplefilter('error', category=DeprecationWarning) |
| 126 | + with self.assertRaises(SyntaxError) as cm: |
| 127 | + eval("'''\n\\z'''") |
| 128 | + exc = cm.exception |
| 129 | + self.assertEqual(w, []) |
| 130 | + self.assertEqual(exc.filename, '<string>') |
| 131 | + self.assertEqual(exc.lineno, 1) |
117 | 132 |
|
118 | 133 | def test_eval_str_raw(self):
|
119 | 134 | self.assertEqual(eval(""" r'x' """), 'x')
|
@@ -145,10 +160,24 @@ def test_eval_bytes_invalid_escape(self):
|
145 | 160 | for b in range(1, 128):
|
146 | 161 | if b in b"""\n\r"'01234567\\abfnrtvx""":
|
147 | 162 | continue
|
148 |
| - with self.assertWarns(SyntaxWarning): |
| 163 | + with self.assertWarns(DeprecationWarning): |
149 | 164 | self.assertEqual(eval(r"b'\%c'" % b), b'\\' + bytes([b]))
|
150 | 165 |
|
151 |
| - self.check_syntax_warning("b'''\n\\z'''") |
| 166 | + with warnings.catch_warnings(record=True) as w: |
| 167 | + warnings.simplefilter('always', category=DeprecationWarning) |
| 168 | + eval("b'''\n\\z'''") |
| 169 | + self.assertEqual(len(w), 1) |
| 170 | + self.assertEqual(w[0].filename, '<string>') |
| 171 | + self.assertEqual(w[0].lineno, 1) |
| 172 | + |
| 173 | + with warnings.catch_warnings(record=True) as w: |
| 174 | + warnings.simplefilter('error', category=DeprecationWarning) |
| 175 | + with self.assertRaises(SyntaxError) as cm: |
| 176 | + eval("b'''\n\\z'''") |
| 177 | + exc = cm.exception |
| 178 | + self.assertEqual(w, []) |
| 179 | + self.assertEqual(exc.filename, '<string>') |
| 180 | + self.assertEqual(exc.lineno, 1) |
152 | 181 |
|
153 | 182 | def test_eval_bytes_raw(self):
|
154 | 183 | self.assertEqual(eval(""" br'x' """), b'x')
|
|
0 commit comments