#!/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 `_ :organization: `python-escpos `_ :copyright: Copyright (c) 2016 `Michael Billington `_ :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 _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 = i + 1