python-escpos/test/test_profile.py

37 lines
1015 B
Python

import pytest
from escpos.capabilities import get_profile, NotSupported, BARCODE_B, Profile
@pytest.fixture
def profile():
return get_profile("default")
class TestBaseProfile:
"""Test the `BaseProfile` class."""
def test_get_font(self, profile):
with pytest.raises(NotSupported):
assert profile.get_font("3")
assert profile.get_font(1) == 1
assert profile.get_font("a") == 0
def test_supports(self, profile):
assert not profile.supports("asdf asdf")
assert profile.supports(BARCODE_B)
def test_get_columns(self, profile):
assert profile.get_columns("a") > 5
with pytest.raises(NotSupported):
assert profile.get_columns("asdfasdf")
class TestCustomProfile:
"""Test custom profile options with the `Profile` class."""
def test_columns(self):
assert Profile(columns=10).get_columns("sdfasdf") == 10
def test_features(self):
assert Profile(features={"foo": True}).supports("foo")