More mypy (#612)
* remove type comment where type is annotated * move function tests * remove six from tests * add none annotations * add more types * change mock (so that mypy understands it)
This commit is contained in:
parent
66a2e78e16
commit
0c824cf295
|
@ -20,7 +20,7 @@ except ImportError:
|
||||||
pass # noqa
|
pass # noqa
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from . import config
|
from . import config, escpos
|
||||||
from . import printer as escpos_printer_module
|
from . import printer as escpos_printer_module
|
||||||
from . import version
|
from . import version
|
||||||
|
|
||||||
|
@ -617,7 +617,7 @@ def main() -> None:
|
||||||
globals()[target_command](**command_arguments)
|
globals()[target_command](**command_arguments)
|
||||||
|
|
||||||
|
|
||||||
def demo(printer, **kwargs) -> None:
|
def demo(printer: escpos.Escpos, **kwargs) -> None:
|
||||||
"""Print demos.
|
"""Print demos.
|
||||||
|
|
||||||
Called when CLI is passed `demo`. This function
|
Called when CLI is passed `demo`. This function
|
||||||
|
|
|
@ -5,32 +5,32 @@ from escpos.printer import LP, CupsPrinter, Dummy, File, Network, Serial, Usb, W
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def driver():
|
def driver() -> Dummy:
|
||||||
return Dummy()
|
return Dummy()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def usbprinter():
|
def usbprinter() -> Usb:
|
||||||
return Usb()
|
return Usb()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def serialprinter():
|
def serialprinter() -> Serial:
|
||||||
return Serial()
|
return Serial()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def networkprinter():
|
def networkprinter() -> Network:
|
||||||
return Network()
|
return Network()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def fileprinter():
|
def fileprinter() -> File:
|
||||||
return File()
|
return File()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def lpprinter():
|
def lpprinter() -> LP:
|
||||||
return LP()
|
return LP()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ def test_config_load_with_missing_config(tmp_path):
|
||||||
@pytest.mark.skip(
|
@pytest.mark.skip(
|
||||||
"This test creates in the actual appdir files and is therefore skipped."
|
"This test creates in the actual appdir files and is therefore skipped."
|
||||||
)
|
)
|
||||||
def test_config_load_from_appdir():
|
def test_config_load_from_appdir() -> None:
|
||||||
"""Test the loading of a config in appdir."""
|
"""Test the loading of a config in appdir."""
|
||||||
from escpos import config
|
from escpos import config
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ import escpos.printer as printer
|
||||||
from escpos.exceptions import CashDrawerError
|
from escpos.exceptions import CashDrawerError
|
||||||
|
|
||||||
|
|
||||||
def test_raise_CashDrawerError():
|
def test_raise_CashDrawerError() -> None:
|
||||||
"""should raise an error if the sequence is invalid."""
|
"""should raise an error if the sequence is invalid."""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
with pytest.raises(CashDrawerError):
|
with pytest.raises(CashDrawerError):
|
|
@ -2,7 +2,7 @@ import escpos.printer as printer
|
||||||
from escpos.constants import GS
|
from escpos.constants import GS
|
||||||
|
|
||||||
|
|
||||||
def test_cut_without_feed():
|
def test_cut_without_feed() -> None:
|
||||||
"""Test cut without feeding paper"""
|
"""Test cut without feeding paper"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.cut(feed=False)
|
instance.cut(feed=False)
|
|
@ -1,7 +1,7 @@
|
||||||
from escpos.printer import Dummy
|
from escpos.printer import Dummy
|
||||||
|
|
||||||
|
|
||||||
def test_printer_dummy_clear():
|
def test_printer_dummy_clear() -> None:
|
||||||
printer = Dummy()
|
printer = Dummy()
|
||||||
printer.text("Hello")
|
printer.text("Hello")
|
||||||
printer.clear()
|
printer.clear()
|
|
@ -48,7 +48,7 @@ def test_bit_image_both() -> None:
|
||||||
assert instance.output == b"\x1dv0\x00\x01\x00\x02\x00\xc0\x00"
|
assert instance.output == b"\x1dv0\x00\x01\x00\x02\x00\xc0\x00"
|
||||||
|
|
||||||
|
|
||||||
def test_bit_image_transparent():
|
def test_bit_image_transparent() -> None:
|
||||||
"""
|
"""
|
||||||
Test printing black/transparent bit image (raster)
|
Test printing black/transparent bit image (raster)
|
||||||
"""
|
"""
|
|
@ -11,14 +11,14 @@
|
||||||
import escpos.printer as printer
|
import escpos.printer as printer
|
||||||
|
|
||||||
|
|
||||||
def test_function_panel_button_on():
|
def test_function_panel_button_on() -> None:
|
||||||
"""test the panel button function (enabling) by comparing output"""
|
"""test the panel button function (enabling) by comparing output"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.panel_buttons()
|
instance.panel_buttons()
|
||||||
assert instance.output == b"\x1B\x63\x35\x00"
|
assert instance.output == b"\x1B\x63\x35\x00"
|
||||||
|
|
||||||
|
|
||||||
def test_function_panel_button_off():
|
def test_function_panel_button_off() -> None:
|
||||||
"""test the panel button function (disabling) by comparing output"""
|
"""test the panel button function (disabling) by comparing output"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.panel_buttons(False)
|
instance.panel_buttons(False)
|
|
@ -14,7 +14,7 @@ import escpos.printer as printer
|
||||||
from escpos.constants import QR_ECLEVEL_H, QR_MODEL_1
|
from escpos.constants import QR_ECLEVEL_H, QR_MODEL_1
|
||||||
|
|
||||||
|
|
||||||
def test_defaults():
|
def test_defaults() -> None:
|
||||||
"""Test QR code with defaults"""
|
"""Test QR code with defaults"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.qr("1234", native=True)
|
instance.qr("1234", native=True)
|
||||||
|
@ -25,14 +25,14 @@ def test_defaults():
|
||||||
assert instance.output == expected
|
assert instance.output == expected
|
||||||
|
|
||||||
|
|
||||||
def test_empty():
|
def test_empty() -> None:
|
||||||
"""Test QR printing blank code"""
|
"""Test QR printing blank code"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.qr("", native=True)
|
instance.qr("", native=True)
|
||||||
assert instance.output == b""
|
assert instance.output == b""
|
||||||
|
|
||||||
|
|
||||||
def test_ec():
|
def test_ec() -> None:
|
||||||
"""Test QR error correction setting"""
|
"""Test QR error correction setting"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.qr("1234", native=True, ec=QR_ECLEVEL_H)
|
instance.qr("1234", native=True, ec=QR_ECLEVEL_H)
|
||||||
|
@ -43,7 +43,7 @@ def test_ec():
|
||||||
assert instance.output == expected
|
assert instance.output == expected
|
||||||
|
|
||||||
|
|
||||||
def test_size():
|
def test_size() -> None:
|
||||||
"""Test QR box size"""
|
"""Test QR box size"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.qr("1234", native=True, size=7)
|
instance.qr("1234", native=True, size=7)
|
||||||
|
@ -54,7 +54,7 @@ def test_size():
|
||||||
assert instance.output == expected
|
assert instance.output == expected
|
||||||
|
|
||||||
|
|
||||||
def test_model():
|
def test_model() -> None:
|
||||||
"""Test QR model"""
|
"""Test QR model"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
instance.qr("1234", native=True, model=QR_MODEL_1)
|
instance.qr("1234", native=True, model=QR_MODEL_1)
|
||||||
|
@ -65,28 +65,28 @@ def test_model():
|
||||||
assert instance.output == expected
|
assert instance.output == expected
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_ec():
|
def test_invalid_ec() -> None:
|
||||||
"""Test invalid QR error correction"""
|
"""Test invalid QR error correction"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
instance.qr("1234", native=True, ec=-1)
|
instance.qr("1234", native=True, ec=-1)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_size():
|
def test_invalid_size() -> None:
|
||||||
"""Test invalid QR size"""
|
"""Test invalid QR size"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
instance.qr("1234", native=True, size=0)
|
instance.qr("1234", native=True, size=0)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_model():
|
def test_invalid_model() -> None:
|
||||||
"""Test invalid QR model"""
|
"""Test invalid QR model"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
instance.qr("1234", native=True, model="Hello")
|
instance.qr("1234", native=True, model="Hello")
|
||||||
|
|
||||||
|
|
||||||
def test_image_invalid_model():
|
def test_image_invalid_model() -> None:
|
||||||
"""Test unsupported QR model as image"""
|
"""Test unsupported QR model as image"""
|
||||||
instance = printer.Dummy()
|
instance = printer.Dummy()
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
|
@ -98,6 +98,6 @@ def instance():
|
||||||
return printer.Dummy()
|
return printer.Dummy()
|
||||||
|
|
||||||
|
|
||||||
def test_center_not_implementer(instance):
|
def test_center_not_implementer(instance: printer.Dummy) -> None:
|
||||||
with pytest.raises(NotImplementedError):
|
with pytest.raises(NotImplementedError):
|
||||||
instance.qr("test", center=True, native=True)
|
instance.qr("test", center=True, native=True)
|
|
@ -18,7 +18,7 @@ from PIL import Image
|
||||||
from escpos.printer import Dummy
|
from escpos.printer import Dummy
|
||||||
|
|
||||||
|
|
||||||
def test_image():
|
def test_image() -> None:
|
||||||
"""Test QR as image"""
|
"""Test QR as image"""
|
||||||
instance = Dummy()
|
instance = Dummy()
|
||||||
image_arguments = {
|
image_arguments = {
|
|
@ -1,7 +1,6 @@
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import six
|
|
||||||
|
|
||||||
import escpos.printer as printer
|
import escpos.printer as printer
|
||||||
from escpos.constants import SET_FONT, TXT_NORMAL, TXT_SIZE, TXT_STYLE
|
from escpos.constants import SET_FONT, TXT_NORMAL, TXT_SIZE, TXT_STYLE
|
||||||
|
@ -138,7 +137,7 @@ def test_set_size_custom() -> None:
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_SIZE, # Custom text size, no normal reset
|
TXT_SIZE, # Custom text size, no normal reset
|
||||||
six.int2byte(TXT_STYLE["width"][8] + TXT_STYLE["height"][7]),
|
bytes((TXT_STYLE["width"][8] + TXT_STYLE["height"][7],)),
|
||||||
TXT_STYLE["flip"][False], # Flip OFF
|
TXT_STYLE["flip"][False], # Flip OFF
|
||||||
TXT_STYLE["smooth"][False], # Smooth OFF
|
TXT_STYLE["smooth"][False], # Smooth OFF
|
||||||
TXT_STYLE["bold"][False], # Bold OFF
|
TXT_STYLE["bold"][False], # Bold OFF
|
||||||
|
@ -159,7 +158,7 @@ def test_set_size_custom_no_default(width: int, height: int) -> None:
|
||||||
|
|
||||||
expected_sequence = (
|
expected_sequence = (
|
||||||
TXT_SIZE, # Custom text size, no normal reset
|
TXT_SIZE, # Custom text size, no normal reset
|
||||||
six.int2byte(TXT_STYLE["width"][width] + TXT_STYLE["height"][height]),
|
bytes((TXT_STYLE["width"][width] + TXT_STYLE["height"][height],)),
|
||||||
)
|
)
|
||||||
|
|
||||||
assert instance.output == b"".join(expected_sequence)
|
assert instance.output == b"".join(expected_sequence)
|
|
@ -11,16 +11,16 @@ def instance():
|
||||||
return printer.Dummy()
|
return printer.Dummy()
|
||||||
|
|
||||||
|
|
||||||
def test_soft_barcode_ean8_invalid(instance):
|
def test_soft_barcode_ean8_invalid(instance: printer.Dummy) -> None:
|
||||||
"""test with an invalid barcode"""
|
"""test with an invalid barcode"""
|
||||||
with pytest.raises(barcode.errors.BarcodeError):
|
with pytest.raises(barcode.errors.BarcodeError):
|
||||||
instance.barcode("1234", "ean8", force_software=True)
|
instance.barcode("1234", "ean8", force_software=True)
|
||||||
|
|
||||||
|
|
||||||
def test_soft_barcode_ean8(instance):
|
def test_soft_barcode_ean8(instance: printer.Dummy) -> None:
|
||||||
"""test with a valid ean8 barcode"""
|
"""test with a valid ean8 barcode"""
|
||||||
instance.barcode("1234567", "ean8", force_software=True)
|
instance.barcode("1234567", "ean8", force_software=True)
|
||||||
|
|
||||||
|
|
||||||
def test_soft_barcode_ean8_nocenter(instance):
|
def test_soft_barcode_ean8_nocenter(instance: printer.Dummy) -> None:
|
||||||
instance.barcode("1234567", "ean8", align_ct=False, force_software=True)
|
instance.barcode("1234567", "ean8", align_ct=False, force_software=True)
|
|
@ -15,17 +15,17 @@ from hypothesis import given
|
||||||
from escpos.printer import Dummy
|
from escpos.printer import Dummy
|
||||||
|
|
||||||
|
|
||||||
def get_printer():
|
def get_printer() -> Dummy:
|
||||||
return Dummy(magic_encode_args={"disabled": True, "encoding": "CP437"})
|
return Dummy(magic_encode_args={"disabled": True, "encoding": "CP437"})
|
||||||
|
|
||||||
|
|
||||||
@given(text=st.text())
|
@given(text=st.text())
|
||||||
def test_text(text: str) -> None:
|
def test_text(text: str):
|
||||||
"""Test that text() calls the MagicEncode object."""
|
"""Test that text() calls the MagicEncode object."""
|
||||||
instance = get_printer()
|
instance = get_printer()
|
||||||
instance.magic.write = mock.Mock()
|
with mock.patch.object(instance.magic, "write") as write:
|
||||||
instance.text(text)
|
instance.text(text)
|
||||||
instance.magic.write.assert_called_with(text)
|
write.assert_called_with(text)
|
||||||
|
|
||||||
|
|
||||||
def test_block_text() -> None:
|
def test_block_text() -> None:
|
|
@ -3,19 +3,19 @@ import pytest
|
||||||
from escpos.printer import Dummy
|
from escpos.printer import Dummy
|
||||||
|
|
||||||
|
|
||||||
def test_line_spacing_code_gen():
|
def test_line_spacing_code_gen() -> None:
|
||||||
printer = Dummy()
|
printer = Dummy()
|
||||||
printer.line_spacing(10)
|
printer.line_spacing(10)
|
||||||
assert printer.output == b"\x1b3\n"
|
assert printer.output == b"\x1b3\n"
|
||||||
|
|
||||||
|
|
||||||
def test_line_spacing_rest():
|
def test_line_spacing_rest() -> None:
|
||||||
printer = Dummy()
|
printer = Dummy()
|
||||||
printer.line_spacing()
|
printer.line_spacing()
|
||||||
assert printer.output == b"\x1b2"
|
assert printer.output == b"\x1b2"
|
||||||
|
|
||||||
|
|
||||||
def test_line_spacing_error_handling():
|
def test_line_spacing_error_handling() -> None:
|
||||||
printer = Dummy()
|
printer = Dummy()
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
printer.line_spacing(99, divisor=44)
|
printer.line_spacing(99, divisor=44)
|
|
@ -23,7 +23,7 @@ def test_raise_error_wrongly():
|
||||||
raise escpos.Error("This should raise an AttributeError.")
|
raise escpos.Error("This should raise an AttributeError.")
|
||||||
|
|
||||||
|
|
||||||
def tests_raise_error():
|
def tests_raise_error() -> None:
|
||||||
"""raise error the right way"""
|
"""raise error the right way"""
|
||||||
with pytest.raises(escpos.exceptions.Error):
|
with pytest.raises(escpos.exceptions.Error):
|
||||||
raise escpos.exceptions.Error("This should raise an error.")
|
raise escpos.exceptions.Error("This should raise an error.")
|
||||||
|
|
Loading…
Reference in New Issue