37 lines
1015 B
Python
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")
|