From bb80e1143b5ae5531fbc3325fca99a47379a3871 Mon Sep 17 00:00:00 2001 From: "Kai A. Hiller" Date: Mon, 2 Dec 2024 11:58:45 +0100 Subject: [PATCH] Add unittest for nil value rendering Signed-off-by: Kai A. Hiller --- pkg/engine/engine_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/pkg/engine/engine_test.go b/pkg/engine/engine_test.go index de1896a47..705ee5098 100644 --- a/pkg/engine/engine_test.go +++ b/pkg/engine/engine_test.go @@ -1300,3 +1300,34 @@ func TestRenderTplMissingKeyString(t *testing.T) { t.Fatal(err) } } + +func TestRenderNilValue(t *testing.T) { + chart := &chart.Chart{ + Metadata: &chart.Metadata{ + Name: "moby", + Version: "1.2.3", + }, + Templates: []*chart.File{ + {Name: "templates/_helpers.tpl", Data: []byte(`{{- define "noval" -}}{{ and nil }}{{- end -}}`)}, + {Name: "templates/test_include.yaml", Data: []byte(`{{ eq (include "noval" .) "" }}`)}, + {Name: "templates/test_tpl.yaml", Data: []byte(`{{ eq (tpl "{{ and nil }}" .) "" }}`)}, + {Name: "templates/test_render.yaml", Data: []byte(`{{ and nil }}`)}, + }, + } + + out, err := Render(chart, chartutil.Values{}) + if err != nil { + t.Fatalf("Failed to render templates: %s", err) + } + + expect := map[string]string{ + "moby/templates/test_include.yaml": "true", + "moby/templates/test_tpl.yaml": "true", + "moby/templates/test_render.yaml": "", + } + for name, data := range expect { + if out[name] != data { + t.Fatalf("Expected %q, got %q (%q)", data, out[name], name) + } + } +}