From d95045f4acf41659c40c8a2ee4223eed45cf263a Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Mon, 28 Sep 2026 00:35:52 +0200 Subject: [PATCH] Want a selector on a repeating template refused as a selector, and the probe held to a descent ending on a linked table --- path_test.go | 2 +- table_test.go | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/path_test.go b/path_test.go index 80fe041..cd11e10 100644 --- a/path_test.go +++ b/path_test.go @@ -13,7 +13,7 @@ func TestPathCheckStopsAtAMissingSegment(t *testing.T) { t.Fatalf("pathLeaves(a.b) = %v, want the one leaf", leaves) } w := &pathCheck{tail: []string{"a", "nope", "deeper"}} - _, err := w.walk(n, w.tail) + _, err := w.run(n) if err == nil || !strings.Contains(err.Error(), `no field "nope"`) { t.Errorf("walk(a.nope.deeper) = %v, want the missing segment named", err) } diff --git a/table_test.go b/table_test.go index b83f0dd..32f869b 100644 --- a/table_test.go +++ b/table_test.go @@ -352,12 +352,13 @@ func TestTableSelectorInAReference(t *testing.T) { } } for name, c := range map[string]struct{ json, want string }{ - "unknown row": {`"{/region[99].name}"`, `"99"`}, - "ambiguous name": {`"{/locality[Sandby].name}"`, "L7, L8"}, - "not inside": {`"{/region[12].municipality[0180].name}"`, "not inside"}, - "selector on template": {`"{/x[1].a}"`, "not a table"}, + "unknown row": {`"{/region[99].name}"`, `"99"`}, + "ambiguous name": {`"{/locality[Sandby].name}"`, "L7, L8"}, + "not inside": {`"{/region[12].municipality[0180].name}"`, "not inside"}, + "selector on template": {`"{/x[1].a}"`, "not a table"}, + "selector on repeating template": {`"{/rep[1]}"`, "not a table"}, } { - _, err := New(WithoutShippedData(), WithDataPath(writeFiles(t, with(files, map[string]string{"bad.json": c.json})))) + _, err := New(WithoutShippedData(), WithDataPath(writeFiles(t, with(files, map[string]string{"bad.json": c.json, "rep.json": `{"format":"x","repeat":2}`})))) if err == nil || !strings.Contains(err.Error(), c.want) { t.Errorf("%s: New = %v, want an error mentioning %q", name, err, c.want) } @@ -1050,8 +1051,10 @@ func TestProbeReportsTheTablesADrawPins(t *testing.T) { "municipality[1281].locality.name", "municipality.locality[L4].name", "region", + "region.municipality", "region.municipality.name", "region.locality.name", + "region[12].locality", "region[12].locality.code", "region[12].municipality.locality.code", "region[12].name",