package tmpl import ( "testing" "github.com/helmfile/helmfile/pkg/filesystem" ) func TestMergeOverwrite(t *testing.T) { ctx := &Context{ fs: &filesystem.FileSystem{ Glob: func(pattern string) ([]string, error) { return nil, nil }, }, } buf, err := ctx.RenderTemplateToBuffer(` {{- $v1 := dict "bool" true "int" 2 "str" "v1" "str2" "v1" -}} {{- $v2 := dict "bool" false "int" 0 "str" "v2" "str2" "" -}} {{- $mo1 := mergeOverwrite (dict) $v1 $v2 }} {{- $mo1 -}} `) expected := "map[bool:false int:0 str:v2 str2:]" if err != nil { t.Errorf("unexpected error: %v", err) } actual := buf.String() if actual != expected { t.Errorf("unexpected result: expected=%v, actual=%v", expected, actual) } }