import subprocess, os, sys
BIN = "E:/smv-target/debug/smlconv.exe"
EX = "c:/Users/sakeen/Desktop/sml/examples"
def run(args, inp=None):
p = subprocess.run([BIN] + args, input=inp, capture_output=True,
cwd="c:/Users/sakeen/Desktop/sml/rust")
return p.returncode, p.stdout.decode("utf-8","replace"), p.stderr.decode("utf-8","replace")
rc, out, err = run(["--to", "md"], inp='h1 { text: "Hello" }\np { text: "World" }\n')
print("=== T1 stdin->md rc=", rc, "===")
print(out)
print("ERR:", err[:500])
rc, out, err = run(["-i", f"{EX}/app.sml", "--to", "xml"])
print("=== T2 file->xml rc=", rc, "===")
print(out[:600])
print("ERR:", err[:300])
rc, out, err = run(["-i", f"{EX}/app.sml", "--to", "md", "--hugo", "e:/hugo_out", "--hugo-lang", "zh", "--hugo-section", "docs"])
print("=== T3 hugo rc=", rc, "===")
print("ERR:", err[:500])
rc, out, err = run(["-i", f"{EX}/full.sml", "--to", "svg"])
print("=== T4 svg rc=", rc, "===")
print("ERR:", err[:500], "OUT_LEN", len(out))
rc, out, err = run(["--to", "md"], inp='@\nfoo: 1\n')
print("=== T5 error rc=", rc, "===")
print("ERR:", err[:300])
rc, out, err = run(["-i", f"{EX}/app.sml", "--to", "slint"])
print("=== T6 slint rc=", rc, "===")
print("ERR:", err[:300], "OUT_LEN", len(out))
rc, out, err = run(["-i", f"{EX}/app.sml", "--to", "latex"])
print("=== T7 latex rc=", rc, "===")
print("ERR:", err[:300], "OUT_LEN", len(out))