(self)
| 1904 | self.assertEqual(writer.finish(), "text-\xE9-\u20AC-more-incomplete-default") |
| 1905 | |
| 1906 | def test_widechar(self): |
| 1907 | from _testcapi import SIZEOF_WCHAR_T |
| 1908 | |
| 1909 | if SIZEOF_WCHAR_T == 2: |
| 1910 | encoding = 'utf-16le' if sys.byteorder == 'little' else 'utf-16be' |
| 1911 | elif SIZEOF_WCHAR_T == 4: |
| 1912 | encoding = 'utf-32le' if sys.byteorder == 'little' else 'utf-32be' |
| 1913 | |
| 1914 | writer = self.create_writer(0) |
| 1915 | writer.write_widechar("latin1=\xE9".encode(encoding)) |
| 1916 | writer.write_char(ord("-")) |
| 1917 | writer.write_widechar("euro=\u20AC".encode(encoding)) |
| 1918 | writer.write_char(ord("-")) |
| 1919 | writer.write_widechar("max=\U0010ffff".encode(encoding)) |
| 1920 | writer.write_char(ord("-")) |
| 1921 | writer.write_widechar("zeroes=".encode(encoding).ljust(SIZEOF_WCHAR_T * 10, b'\0'), |
| 1922 | 10) |
| 1923 | writer.write_char(ord('.')) |
| 1924 | |
| 1925 | if SIZEOF_WCHAR_T == 4: |
| 1926 | invalid = (b'\x00\x00\x11\x00' if sys.byteorder == 'little' else |
| 1927 | b'\x00\x11\x00\x00') |
| 1928 | with self.assertRaises(ValueError): |
| 1929 | writer.write_widechar("invalid=".encode(encoding) + invalid) |
| 1930 | writer.write_widechar(b'', -5) |
| 1931 | writer.write_widechar(NULL, 0) |
| 1932 | # CRASHES writer.write_widechar(NULL, 1) |
| 1933 | # CRASHES writer.write_widechar(NULL, -1) |
| 1934 | |
| 1935 | self.assertEqual(writer.finish(), |
| 1936 | "latin1=\xE9-euro=\u20AC-max=\U0010ffff-zeroes=\0\0\0.") |
| 1937 | |
| 1938 | def test_ucs4(self): |
| 1939 | encoding = 'utf-32le' if sys.byteorder == 'little' else 'utf-32be' |
nothing calls this directly
no test coverage detected