From c0754abfca5b4ddfb429b85a4f6bd09c9425001c Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Sun, 27 Sep 2026 23:54:16 +0200 Subject: [PATCH] Want a table format's calc over its own column to render --- table_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/table_test.go b/table_test.go index c1376d6..3218eae 100644 --- a/table_test.go +++ b/table_test.go @@ -110,6 +110,22 @@ func TestTableRendersRowsAndColumns(t *testing.T) { t.Fatalf("column %q is %s null=%v, want a string", c.Name, c.DataType, c.Null) } } + calc := newGenerator(t, writeFiles(t, map[string]string{ + "r.json": `{"format":"{name} {calc(population * 2)}","rows":"r.tsv","key":"code"}`, + "r.tsv": "code\tname\tpopulation\n01\tA\t10\n02\tB\t4\n", + "w.json": `"{/r}"`, + })) + for i := 0; i < 20; i++ { + if got := fake(t, calc, "r"); got != "A 20" && got != "B 8" { + t.Fatalf("r = %q, want a row doubling its population", got) + } + if got := fake(t, calc, "r[01]"); got != "A 20" { + t.Fatalf("r[01] = %q, want A 20", got) + } + if got := fake(t, calc, "w"); got != "A 20" && got != "B 8" { + t.Fatalf("w = %q, want a row doubling its population", got) + } + } } func TestTableWeightSkewsTheDraw(t *testing.T) {