67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
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
|
|
|
|
|
|
|
|
|