Fixed unit tests

This commit is contained in:
2025-08-22 23:17:01 +02:00
parent 2c5fe004f5
commit b48aaf4621
3 changed files with 19 additions and 68 deletions

View File

@@ -7,10 +7,13 @@ attr_map = {
"_id": "id",
}
def safe_attr(attr_name):
attr_name = attr_name.replace("hx_", "hx-")
attr_name = attr_name.replace("data_", "data-")
return attr_map.get(attr_name, attr_name)
def to_html(item):
if item is None:
return ""
@@ -27,14 +30,14 @@ def to_html(item):
class MyFt:
def __init__(self, name, *args, **kwargs):
self.name = name
def __init__(self, tag, *args, **kwargs):
self.tag = tag
self.children = args
self.attrs = kwargs
self.attrs = {safe_attr(k): v for k, v in kwargs.items()}
def to_html(self):
body_items = [to_html(item) for item in self.children]
return f"<{self.name} {' '.join(f'{safe_attr(k)}="{v}"' for k, v in self.attrs.items())}>{' '.join(body_items)}</div>"
return f"<{self.tag} {' '.join(f'{k}="{v}"' for k, v in self.attrs.items())}>{' '.join(body_items)}</div>"
def __ft__(self):
return NotStr(self.to_html())