(self)
| 1847 | "value=valid") |
| 1848 | |
| 1849 | def test_decode_utf8(self): |
| 1850 | # test PyUnicodeWriter_DecodeUTF8Stateful() |
| 1851 | writer = self.create_writer(0) |
| 1852 | writer.decodeutf8stateful(b"ign\xFFore", -1, b"ignore") |
| 1853 | writer.write_char(ord('-')) |
| 1854 | writer.decodeutf8stateful(b"replace\xFF", -1, b"replace") |
| 1855 | writer.write_char(ord('-')) |
| 1856 | |
| 1857 | # incomplete trailing UTF-8 sequence |
| 1858 | writer.decodeutf8stateful(b"incomplete\xC3", -1, b"replace") |
| 1859 | |
| 1860 | writer.decodeutf8stateful(NULL, 0, b"replace") |
| 1861 | # CRASHES writer.decodeutf8stateful(NULL, 1, b"replace") |
| 1862 | # CRASHES writer.decodeutf8stateful(NULL, -1, b"replace") |
| 1863 | with self.assertRaises(UnicodeDecodeError): |
| 1864 | writer.decodeutf8stateful(b"default\xFF", -1, NULL) |
| 1865 | |
| 1866 | self.assertEqual(writer.finish(), |
| 1867 | "ignore-replace\uFFFD-incomplete\uFFFD") |
| 1868 | |
| 1869 | def test_decode_utf8_consumed(self): |
| 1870 | # test PyUnicodeWriter_DecodeUTF8Stateful() with consumed |
nothing calls this directly
no test coverage detected