summaryrefslogtreecommitdiff
path: root/test/test_colitur.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-19 08:01:11 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-19 08:01:11 +0200
commiteacb54ae44f655c010fdfc2b7292d24f06ffc445 (patch)
treefdcae49d2be2630b559a3b21a131cf4194feeb5e /test/test_colitur.ml
parent7228d0634a960c38da96b80378ec617768dfedf7 (diff)
downloadcolitur-eacb54ae44f655c010fdfc2b7292d24f06ffc445.tar.gz
colitur-eacb54ae44f655c010fdfc2b7292d24f06ffc445.zip
feat(render): logic-less template parser
Placeholders, sections, inverted sections, comments. Nothing else: no partials, no lambdas, no expression evaluation, no raw form. A template is data, never a program, which is what keeps an untrusted template safe. Errors rather than silence on a malformed template: an unterminated tag, an unclosed section, a mismatched close and a partial all return Error. Swallowing '{{name' as text is how a typo becomes invisible missing output in a printed booklet.
Diffstat (limited to 'test/test_colitur.ml')
-rw-r--r--test/test_colitur.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/test/test_colitur.ml b/test/test_colitur.ml
index 2295a3f..a264174 100644
--- a/test/test_colitur.ml
+++ b/test/test_colitur.ml
@@ -7,4 +7,5 @@ let () =
Test_differential.suite; Test_oracle.suite; Test_oracle.suite_2038; Test_oracle.suite_2035; Test_golden.suite;
("lectionary", Test_lectionary.suite);
("lectionary-ef", Test_lectionary_ef.suite);
- Test_escape.suite ]
+ Test_escape.suite;
+ Test_template.suite ]