#!/bin/sh
set -eu
unset TEXINPUTS TRALICSCONFDIR
workdir=$(mktemp -d)
trap 'rm -rf "$workdir"' EXIT HUP INT TERM
cd "$workdir"
/usr/bin/tralics --version | grep '3\.0\.1'
cat > smoke.tex <<'EOF'
\documentclass{article}
\begin{document}
\section{Smoke test}
Hello from Tralics. Café. The formula is $x^2$.
\end{document}
EOF
/usr/bin/tralics -utf8 smoke.tex
python3 - <<'EOF'
from pathlib import Path
import xml.etree.ElementTree as ET
p = Path('smoke.xml')
s = p.read_text(encoding='utf-8')
root = ET.fromstring(s)
text = ''.join(root.itertext())
assert 'Hello from Tralics' in text, text
assert 'Café' in text, text
assert any(e.tag.rsplit('}', 1)[-1] == 'math' for e in root.iter()), s
assert Path('smoke.log').exists()
EOF

cat > expl.tex <<'EOF'
\documentclass{article}
\usepackage{expl3}
\begin{document}
\ExplSyntaxOn
\tl_set:Nn \l_tmpa_tl { LaTeXthree }
\tl_use:N \l_tmpa_tl
\ExplSyntaxOff
\end{document}
EOF
/usr/bin/tralics -utf8 expl.tex
python3 - <<'EOF'
from pathlib import Path
import xml.etree.ElementTree as ET
root = ET.fromstring(Path('expl.xml').read_text(encoding='utf-8'))
assert 'LaTeXthree' in ''.join(root.itertext())
EOF
