72 lines
2.3 KiB
Python
72 lines
2.3 KiB
Python
#!/usr/bin/env python
|
|
""" Image tests- Check that images from different source formats are correctly
|
|
converted to ESC/POS column & raster formats.
|
|
|
|
:author: `Michael Billington <michael.billington@gmail.com>`_
|
|
:organization: `python-escpos <https://github.com/python-escpos>`_
|
|
:copyright: Copyright (c) 2016 `Michael Billington <michael.billington@gmail.com>`_
|
|
:license: GNU GPL v3
|
|
"""
|
|
|
|
from escpos.image import EscposImage
|
|
|
|
|
|
def test_image_black():
|
|
"""
|
|
Test rendering solid black image
|
|
"""
|
|
for img_format in ['png', 'jpg', 'gif']:
|
|
_load_and_check_img('canvas_black.' + img_format, 1, 1, b'\x80', [b'\x80'])
|
|
|
|
|
|
def test_image_black_transparent():
|
|
"""
|
|
Test rendering black/transparent image
|
|
"""
|
|
for img_format in ['png', 'gif']:
|
|
_load_and_check_img('black_transparent.' + img_format, 2, 2, b'\xc0\x00', [b'\x80\x80'])
|
|
|
|
|
|
def test_image_black_white():
|
|
"""
|
|
Test rendering black/white image
|
|
"""
|
|
for img_format in ['png', 'jpg', 'gif']:
|
|
_load_and_check_img('black_white.' + img_format, 2, 2, b'\xc0\x00', [b'\x80\x80'])
|
|
|
|
|
|
def test_image_white():
|
|
"""
|
|
Test rendering solid white image
|
|
"""
|
|
for img_format in ['png', 'jpg', 'gif']:
|
|
_load_and_check_img('canvas_white.' + img_format, 1, 1, b'\x00', [b'\x00'])
|
|
|
|
|
|
def test_split():
|
|
"""
|
|
test whether the split-function works as expected
|
|
"""
|
|
im = EscposImage('test/resources/black_white.png')
|
|
(upper_part, lower_part) = im.split(1)
|
|
upper_part = EscposImage(upper_part)
|
|
lower_part = EscposImage(lower_part)
|
|
assert(upper_part.width == lower_part.width == 2)
|
|
assert(upper_part.height == lower_part.height == 1)
|
|
assert(upper_part.to_raster_format() == b'\xc0')
|
|
assert(lower_part.to_raster_format() == b'\x00')
|
|
|
|
|
|
def _load_and_check_img(filename, width_expected, height_expected, raster_format_expected, column_format_expected):
|
|
"""
|
|
Load an image, and test whether raster & column formatted output, sizes, etc match expectations.
|
|
"""
|
|
im = EscposImage('test/resources/' + filename)
|
|
assert(im.width == width_expected)
|
|
assert(im.height == height_expected)
|
|
assert(im.to_raster_format() == raster_format_expected)
|
|
i = 0
|
|
for row in im.to_column_format(False):
|
|
assert(row == column_format_expected[i])
|
|
i += 1
|