Add tests for the profile.

This commit is contained in:
Michael Elsdörfer 2016-08-30 13:27:48 +02:00
parent 3681c5c7bf
commit b92eeed50b
2 changed files with 35 additions and 1 deletions

View File

@ -100,7 +100,7 @@ class Profile(get_profile_class('default')):
def get_columns(self, font): def get_columns(self, font):
if self.columns is not None: if self.columns is not None:
return columns return self.columns
return super(Profile, self).get_columns(font) return super(Profile, self).get_columns(font)

34
test/test_profile.py Normal file
View File

@ -0,0 +1,34 @@
import pytest
from escpos.capabilities import get_profile, NotSupported, BARCODE_B, Profile
@pytest.fixture
def profile():
return get_profile('default')
class TestBaseProfile:
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:
def test_columns(self):
assert Profile(columns=10).get_columns('sdfasdf') == 10
def test_features(self):
assert Profile(features={'foo': True}).supports('foo')