MCPcopy Index your code
hub / github.com/python/cpython / test_decode_utf8

Method test_decode_utf8

Lib/test/test_capi/test_unicode.py:1849–1867  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 5

create_writerMethod · 0.95
write_charMethod · 0.80
assertRaisesMethod · 0.45
assertEqualMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected