python-escpos/test/test_profile.py

38 lines
1016 B
Python

import pytest
from escpos.capabilities import BARCODE_B, NotSupported, Profile, get_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")