def test_XRECORD_handling_of_dxf_replace_encoder(n): XRECORD = Path(__file__).parent / f"XRECORD_{n}.bin" with open(XRECORD, "rb") as f: data = f.read() s = data.decode("utf8", errors="surrogateescape") result = encode(s, encoding="utf8") assert data == result
def test_XRECORD_handling_of_dxf_replace_encoder(n): XRECORD = Path(__file__).parent / f'XRECORD_{n}.bin' with open(XRECORD, 'rb') as f: data = f.read() s = data.decode('utf8', errors='surrogateescape') result = encode(s, encoding='utf8') assert data == result
def test_ascii_encoding(): assert b"123\\U+6539" == encode("123改", "ascii")
def test_cp1252_ignore_encoding_error(self): self.assertEqual(u'更改'.encode(DEFAULT_ENC), encode(u'更改', 'cp1252', ignore_error=True))
def test_cp1252_encoding_error(self): with self.assertRaises(DXFEncodingError): encode(u'更改', 'cp1252')
def test_cp1252_encoding(self): self.assertEqual(u'123ÄÜÖ'.encode('cp1252'), encode(u'123ÄÜÖ', 'cp1252'))
def test_ignore_ascii_encoding_error(self): self.assertEqual(u'123Ä'.encode(DEFAULT_ENC), encode(u'123Ä', 'ascii', ignore_error=True))
def test_ascii_encoding_error(self): with self.assertRaises(DXFEncodingError): encode(u'123Ä', 'ascii')
def test_cp1252_ignore_encoding_error(self): assert u'更改'.encode(DEFAULT_ENC) == encode(u'更改', 'cp1252', ignore_error=True)
def test_cp1252_encoding_error(self): with pytest.raises(DXFEncodingError): encode(u'更改', 'cp1252')
def test_cp1252_encoding(self): assert u'123ÄÜÖ'.encode('cp1252') == encode(u'123ÄÜÖ', 'cp1252')
def test_ignore_ascii_encoding_error(self): assert u'123Ä'.encode(DEFAULT_ENC) == encode(u'123Ä', 'ascii', ignore_error=True)
def test_ascii_encoding_error(self): with pytest.raises(DXFEncodingError): encode(u'123Ä', 'ascii')
def test_ascii_encoding(self): assert b'123' == encode(u'123', 'ascii')
def test_surrogate_escape_support_in_dxf_replace_encoder(s, e): assert e == encode(s, "ascii")
def test_ascii_encoding(self): self.assertEqual(b'123', encode(u'123', 'ascii'))
def test_ascii_encoding(): assert b'123\\U+6539' == encode('123改', 'ascii')