From af2f00ddebf3b8612a9cb42392e51bdbde094dbc Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Mon, 8 Jul 2024 20:49:52 +0200 Subject: [PATCH 1/4] Parametrize test_generating_barcodes --- tests/test_manually.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/tests/test_manually.py b/tests/test_manually.py index 323431e..9a877dc 100755 --- a/tests/test_manually.py +++ b/tests/test_manually.py @@ -3,6 +3,9 @@ import codecs import os +from typing import Iterator + +import pytest from barcode import get_barcode from barcode import get_barcode_class @@ -50,10 +53,13 @@ ) -def test_generating_barcodes() -> None: +@pytest.mark.parametrize(("codename", "code"), TESTCODES) +def test_generating_barcodes( + codename: str, code: str, gather_image_elements_into_html: list[str] +) -> None: os.makedirs(TESTPATH, exist_ok=True) - objects = [] + objects = gather_image_elements_into_html def append(x, y) -> None: objects.append(OBJECTS.format(filename=x, name=y)) @@ -62,7 +68,7 @@ def append_img(x, y) -> None: objects.append(IMAGES.format(filename=x, name=y)) options = {} - for codename, code in TESTCODES: + if True: bcode = get_barcode(codename, code) if codename.startswith("i"): options["center_text"] = False @@ -83,9 +89,16 @@ def append_img(x, y) -> None: append_img(os.path.basename(filename), bcode.name) else: objects.append(NO_PIL) + + +@pytest.fixture(scope="module") +def gather_image_elements_into_html() -> Iterator[list[str]]: + image_elements: list[str] = [] + yield image_elements + # Save htmlfile with all objects with codecs.open(HTMLFILE, "w", encoding="utf-8") as f: - obj = "\n".join(objects) + obj = "\n".join(image_elements) f.write(HTML.format(version=version, body=obj)) print(f"\nNow open {HTMLFILE} in your browser.") From 5d57843e7078f3b613b42bc35c3805a5b66c7bb3 Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Mon, 8 Jul 2024 20:50:43 +0200 Subject: [PATCH 2/4] Dedent --- tests/test_manually.py | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/tests/test_manually.py b/tests/test_manually.py index 9a877dc..18876ce 100755 --- a/tests/test_manually.py +++ b/tests/test_manually.py @@ -68,27 +68,26 @@ def append_img(x, y) -> None: objects.append(IMAGES.format(filename=x, name=y)) options = {} - if True: - bcode = get_barcode(codename, code) + bcode = get_barcode(codename, code) + if codename.startswith("i"): + options["center_text"] = False + else: + options["center_text"] = True + filename = bcode.save(os.path.join(TESTPATH, codename), options=options) + print(f"Code: {bcode.name}, Input: {code}, Output: {bcode.get_fullcode()}") + append(os.path.basename(filename), bcode.name) + if ImageWriter is not None: + bcodec = get_barcode_class(codename) + bcode = bcodec(code, writer=ImageWriter()) + opts = {} if codename.startswith("i"): - options["center_text"] = False + opts["center_text"] = False else: - options["center_text"] = True - filename = bcode.save(os.path.join(TESTPATH, codename), options=options) - print(f"Code: {bcode.name}, Input: {code}, Output: {bcode.get_fullcode()}") - append(os.path.basename(filename), bcode.name) - if ImageWriter is not None: - bcodec = get_barcode_class(codename) - bcode = bcodec(code, writer=ImageWriter()) - opts = {} - if codename.startswith("i"): - opts["center_text"] = False - else: - opts["center_text"] = True - filename = bcode.save(os.path.join(TESTPATH, codename), options=opts) - append_img(os.path.basename(filename), bcode.name) - else: - objects.append(NO_PIL) + opts["center_text"] = True + filename = bcode.save(os.path.join(TESTPATH, codename), options=opts) + append_img(os.path.basename(filename), bcode.name) + else: + objects.append(NO_PIL) @pytest.fixture(scope="module") From 387175971598c6d7107375339540461fba0185a9 Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Mon, 8 Jul 2024 20:51:08 +0200 Subject: [PATCH 3/4] Improve variable name --- tests/test_manually.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_manually.py b/tests/test_manually.py index 18876ce..1677792 100755 --- a/tests/test_manually.py +++ b/tests/test_manually.py @@ -59,13 +59,13 @@ def test_generating_barcodes( ) -> None: os.makedirs(TESTPATH, exist_ok=True) - objects = gather_image_elements_into_html + image_elements = gather_image_elements_into_html def append(x, y) -> None: - objects.append(OBJECTS.format(filename=x, name=y)) + image_elements.append(OBJECTS.format(filename=x, name=y)) def append_img(x, y) -> None: - objects.append(IMAGES.format(filename=x, name=y)) + image_elements.append(IMAGES.format(filename=x, name=y)) options = {} bcode = get_barcode(codename, code) @@ -87,7 +87,7 @@ def append_img(x, y) -> None: filename = bcode.save(os.path.join(TESTPATH, codename), options=opts) append_img(os.path.basename(filename), bcode.name) else: - objects.append(NO_PIL) + image_elements.append(NO_PIL) @pytest.fixture(scope="module") From 6e14fe700eee107548dbb99ec6b254aed1eaec34 Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Mon, 8 Jul 2024 20:48:14 +0200 Subject: [PATCH 4/4] Ignore mypy undefined attribute isbn10 in test --- tests/test_checksums.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_checksums.py b/tests/test_checksums.py index d79c206..b97fef7 100755 --- a/tests/test_checksums.py +++ b/tests/test_checksums.py @@ -35,7 +35,7 @@ def test_ean14_checksum() -> None: def test_isbn10_checksum() -> None: isbn = get_barcode("isbn10", "376926085") - assert isbn.isbn10 == "3769260856" + assert isbn.isbn10 == "3769260856" # type: ignore[attr-defined] def test_isbn13_checksum() -> None: