Test that the operand refusal names the holding operand, and an operand route's fix

This commit is contained in:
2026-09-29 16:33:11 +02:00
committed by Lillem4n
parent c4911e15bc
commit 5880487f47
2 changed files with 3 additions and 2 deletions
+2 -2
View File
@@ -197,7 +197,7 @@ func TestACalcOperandIsHeldAgainstEveryRoute(t *testing.T) {
`"b":"{/hop}"}`,
"hop": `"{/cat.a}"`,
},
`calc operand "b" renders "a"`,
`calc operand "b" renders "a", which {calc(a + b, 0)} holds to one draw for this expansion; stop calc operand "b" reaching "a"`,
},
// Reaching *into* the operand is the same shape as naming it: the draw the
// calc holds settled that value too. The token spelling {net.v} is already
@@ -232,7 +232,7 @@ func TestACalcOperandIsHeldAgainstEveryRoute(t *testing.T) {
}
for name, c := range rejected {
_, err := New(WithoutShippedData(), WithDataPath(writeData(t, c.files)))
if err == nil || !strings.Contains(err.Error(), "holds to one draw for this expansion; drop ") {
if err == nil || !strings.Contains(err.Error(), "holds to one draw for this expansion; ") {
t.Errorf("%s: New = %v, want the second route to the operand rejected", name, err)
continue
}
+1
View File
@@ -112,6 +112,7 @@ func TestFakeTemplateErrors(t *testing.T) {
{`{"format":"{/misc.territory.alpha2} {x}","x":"{/misc.territory}"}`, "renders its own draw of what"},
{`{/misc.territory} {/misc.territory} {/misc.territory.alpha2}`, "{/misc.territory} renders its own draw of what {/misc.territory.alpha2} reads a path through; name the fields you want instead, or move {/misc.territory.alpha2} into a field with a drawGroup"},
{`{"format":"{uppercase(/misc.territory)} {y}","y":"{/misc.territory}"}`, `{y} renders "/misc.territory", which {uppercase(/misc.territory)} holds to one draw for this expansion; drop {y}, or write {/misc.territory} in this format to read that draw`},
{`{"format":"{uppercase(/misc.territory.alpha2)} {lowercase(/misc.territory)} {y}","y":"{/misc.territory}"}`, "which {lowercase(/misc.territory)} holds to one draw for this expansion; drop {y}, or write {/misc.territory} in"},
{`{"format":"{/misc.territory.alpha2}","drawGroup":"g"}`, "nothing can reference"},
} {
_, err := f.FakeTemplate(c.input)