From e8d91a6735143f6dd57068a7dad70aeeed3d5750 Mon Sep 17 00:00:00 2001 From: Patrick Kanzler Date: Mon, 15 Aug 2016 22:33:23 +0200 Subject: [PATCH] test add type-check for the qr-printing --- src/escpos/escpos.py | 5 ++--- test/test_function_qr_non-native.py | 32 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 test/test_function_qr_non-native.py diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index c0df537..67a9053 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -157,7 +157,7 @@ class Escpos(object): if not native: # Map ESC/POS error correction levels to python 'qrcode' library constant and render to an image if model != QR_MODEL_2: - raise ValueError("Invalid QR model for qrlib rendering (must be QR_MODEL_2)") + raise ValueError("Invalid QR model for python-qrcode rendering (must be QR_MODEL_2)") python_qr_ec = { QR_ECLEVEL_H: qrcode.constants.ERROR_CORRECT_H, QR_ECLEVEL_L: qrcode.constants.ERROR_CORRECT_L, @@ -168,8 +168,7 @@ class Escpos(object): qr_code.add_data(content) qr_code.make(fit=True) qr_img = qr_code.make_image() - im = qr_img._img.convert("RGB") - # Convert the RGB image in printable image + im = qr_img.convert("RGB") # Convert the RGB image in printable image self.image(im) return # Native 2D code printing diff --git a/test/test_function_qr_non-native.py b/test/test_function_qr_non-native.py new file mode 100644 index 0000000..5c0566a --- /dev/null +++ b/test/test_function_qr_non-native.py @@ -0,0 +1,32 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +"""tests for the non-native part of qr() + +:author: `Patrick Kanzler `_ +:organization: `python-escpos `_ +:copyright: Copyright (c) 2016 `python-escpos `_ +:license: GNU GPL v3 +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + +import mock + +from escpos.printer import Dummy +from PIL import Image + + +@mock.patch('escpos.printer.Dummy.image', spec=Dummy) +def test_type_of_object_passed_to_image_function(img_function): + """ + Test the type of object that is passed to the image function during non-native qr-printing. + + The type should be PIL.Image + """ + d = Dummy() + d.qr("LoremIpsum") + args, kwargs = img_function.call_args + assert isinstance(args[0], Image.Image)