(self, src, lineno, offset, end_lineno=None, end_offset=None, encoding='utf-8')
| 210 | ckmsg(s, "inconsistent use of tabs and spaces in indentation", TabError) |
| 211 | |
| 212 | def check(self, src, lineno, offset, end_lineno=None, end_offset=None, encoding='utf-8'): |
| 213 | with self.subTest(source=src, lineno=lineno, offset=offset): |
| 214 | with self.assertRaises(SyntaxError) as cm: |
| 215 | compile(src, '<fragment>', 'exec') |
| 216 | self.assertEqual(cm.exception.lineno, lineno) |
| 217 | self.assertEqual(cm.exception.offset, offset) |
| 218 | if end_lineno is not None: |
| 219 | self.assertEqual(cm.exception.end_lineno, end_lineno) |
| 220 | if end_offset is not None: |
| 221 | self.assertEqual(cm.exception.end_offset, end_offset) |
| 222 | |
| 223 | if cm.exception.text is not None: |
| 224 | if not isinstance(src, str): |
| 225 | src = src.decode(encoding, 'replace') |
| 226 | line = src.split('\n')[lineno-1] |
| 227 | if lineno == 1: |
| 228 | line = line.removeprefix('\ufeff') |
| 229 | self.assertIn(line, cm.exception.text) |
| 230 | |
| 231 | def test_error_offset_continuation_characters(self): |
| 232 | check = self.check |
nothing calls this directly
no test coverage detected