feat: add tests and compose

This commit is contained in:
2026-04-03 10:15:30 +02:00
parent f0b0a5dd24
commit 82cb4a9786
6 changed files with 537 additions and 2 deletions

View File

@@ -294,8 +294,13 @@ def _parse_line(keyword: str, args: list[str], line_num: int) -> IRNode:
elif keyword == "sparkline":
label = args[0] if args else ""
vals_str = args[1] if len(args) > 1 else ""
values = [float(v) for v in vals_str.split(",") if v.strip()] if vals_str else []
width = int(args[2]) if len(args) > 2 else 20
values: list[float] = []
if vals_str and "$" not in vals_str:
values = [float(v) for v in vals_str.split(",") if v.strip()]
try:
width = int(args[2]) if len(args) > 2 else 20
except ValueError:
width = 20
return Sparkline(label=label, values=values, spark_width=width,
source_line=line_num)