mirror of
https://github.com/python-escpos/python-escpos
synced 2025-08-24 09:03:34 +00:00
Magic encoder: fix codepage usage (#580)
* add unit test for issue pointed out by @scott-r in #570 * swap order of encoder search As described by @scott-r in Magic encoder does not use previously used code pages when possible #570 Thank you!
This commit is contained in:
@@ -32,6 +32,13 @@ class TestEncoder:
|
||||
assert not Encoder({"CP437": 1}).find_suitable_encoding("€")
|
||||
assert Encoder({"CP858": 1}).find_suitable_encoding("€") == "CP858"
|
||||
|
||||
def test_find_suitable_encoding_unnecessary_codepage_swap(self):
|
||||
enc = Encoder({"CP857": 1, "CP437": 2, "CP1252": 3, "CP852": 4, "CP858": 5})
|
||||
# desired behavior would be that the encoder always stays in the lower
|
||||
# available codepages if possible
|
||||
for character in ("Á", "É", "Í", "Ó", "Ú"):
|
||||
assert enc.find_suitable_encoding(character) == "CP857"
|
||||
|
||||
def test_get_encoding(self):
|
||||
with pytest.raises(ValueError):
|
||||
Encoder({}).get_encoding_name("latin1")
|
||||
|
Reference in New Issue
Block a user