from ergogen_footprint_converter.converter import Converter import pytest from kiutils.footprint import Footprint @pytest.fixture def footprint(): footprint = Footprint.create_new("test", "test") footprint.tedit = "64de79c2" print(footprint) return footprint @pytest.fixture def template() -> str: return open("res/template.js").read() def test_empty_footprint(footprint, template): converter = Converter(footprint) strip = lambda s: ''.join([x.strip() for x in s.split()]) res = strip(converter.convert().strip('\n').strip()) main = """ (module "test" (version 20211014) (generator kiutils) (layer "F.Cu") (tedit 64de79c2) (fp_text reference "REF**" (at 0 -0.5 unlocked) (layer "F.SilkS") (effects (font (size 1.0 1.0) (thickness 0.15))) ) (fp_text value "test" (at 0 1 unlocked) (layer "F.Fab") (effects (font (size 1.0 1.0) (thickness 0.15))) ) (fp_text user "${REFERENCE}" (at 0 2.5 unlocked) (layer "F.Fab") (effects (font (size 1.0 1.0) (thickness 0.15))) ) ) """ expected = strip(Converter.replace_template(template, "", main, "", "")) assert res == expected def test_caption(template): None def test_replace_template(template: str): replacements = { "{% params %}": "one", "{% main %}": "two", "{% captions %}": "three", "{% pins %}": "four" } expected = template for key in replacements: expected = expected.replace(key, replacements[key]) res = Converter.replace_template(template, "one", "two", "three", "four") assert res == expected