| 817 | } |
| 818 | |
| 819 | func TestAlterFuncMap_include(t *testing.T) { |
| 820 | modTime := time.Now() |
| 821 | c := &chart.Chart{ |
| 822 | Metadata: &chart.Metadata{Name: "conrad"}, |
| 823 | Templates: []*common.File{ |
| 824 | {Name: "templates/quote", ModTime: modTime, Data: []byte(`{{include "conrad/templates/_partial" . | indent 2}} dead.`)}, |
| 825 | {Name: "templates/_partial", ModTime: modTime, Data: []byte(`{{.Release.Name}} - he`)}, |
| 826 | }, |
| 827 | } |
| 828 | |
| 829 | // Check nested reference in include FuncMap |
| 830 | d := &chart.Chart{ |
| 831 | Metadata: &chart.Metadata{Name: "nested"}, |
| 832 | Templates: []*common.File{ |
| 833 | {Name: "templates/quote", ModTime: modTime, Data: []byte(`{{include "nested/templates/quote" . | indent 2}} dead.`)}, |
| 834 | {Name: "templates/_partial", ModTime: modTime, Data: []byte(`{{.Release.Name}} - he`)}, |
| 835 | }, |
| 836 | } |
| 837 | |
| 838 | v := common.Values{ |
| 839 | "Values": "", |
| 840 | "Chart": c.Metadata, |
| 841 | "Release": common.Values{ |
| 842 | "Name": "Mistah Kurtz", |
| 843 | }, |
| 844 | } |
| 845 | |
| 846 | out, err := Render(c, v) |
| 847 | if err != nil { |
| 848 | t.Fatal(err) |
| 849 | } |
| 850 | |
| 851 | expect := " Mistah Kurtz - he dead." |
| 852 | if got := out["conrad/templates/quote"]; got != expect { |
| 853 | t.Errorf("Expected %q, got %q (%v)", expect, got, out) |
| 854 | } |
| 855 | |
| 856 | _, err = Render(d, v) |
| 857 | expectErrName := "nested/templates/quote" |
| 858 | if err == nil { |
| 859 | t.Errorf("Expected err of nested reference name: %v", expectErrName) |
| 860 | } |
| 861 | } |
| 862 | |
| 863 | func TestAlterFuncMap_require(t *testing.T) { |
| 864 | modTime := time.Now() |