add unittest for text_renderer.go (#168)
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
		
							parent
							
								
									c85a085e4d
								
							
						
					
					
						commit
						5bd5f72170
					
				|  | @ -262,7 +262,7 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test2"}, | ||||
| 			linted: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | ||||
| 				{Name: "test2", Flags: []string{}}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -275,8 +275,8 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test3"}, | ||||
| 			linted: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | ||||
| 				exectest.Release{Name: "test3", Flags: []string{}}, | ||||
| 				{Name: "test2", Flags: []string{}}, | ||||
| 				{Name: "test3", Flags: []string{}}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -290,8 +290,8 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test3"}, | ||||
| 			linted: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | ||||
| 				exectest.Release{Name: "test3", Flags: []string{}}, | ||||
| 				{Name: "test2", Flags: []string{}}, | ||||
| 				{Name: "test3", Flags: []string{}}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -305,7 +305,7 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test2"}, | ||||
| 			linted: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | ||||
| 				{Name: "test2", Flags: []string{}}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -319,8 +319,8 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test3"}, | ||||
| 			linted: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string{}}, | ||||
| 				exectest.Release{Name: "test3", Flags: []string{}}, | ||||
| 				{Name: "test2", Flags: []string{}}, | ||||
| 				{Name: "test3", Flags: []string{}}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  |  | |||
|  | @ -262,7 +262,7 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test2"}, | ||||
| 			templated: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | ||||
| 				{Name: "test2", Flags: []string(nil)}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -275,8 +275,8 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test3"}, | ||||
| 			templated: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | ||||
| 				exectest.Release{Name: "test3", Flags: []string(nil)}, | ||||
| 				{Name: "test2", Flags: []string(nil)}, | ||||
| 				{Name: "test3", Flags: []string(nil)}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -290,8 +290,8 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test3"}, | ||||
| 			templated: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | ||||
| 				exectest.Release{Name: "test3", Flags: []string(nil)}, | ||||
| 				{Name: "test2", Flags: []string(nil)}, | ||||
| 				{Name: "test3", Flags: []string(nil)}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -305,7 +305,7 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test2"}, | ||||
| 			templated: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | ||||
| 				{Name: "test2", Flags: []string(nil)}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  | @ -319,8 +319,8 @@ releases: | |||
| 			}, | ||||
| 			selectors: []string{"name=test3"}, | ||||
| 			templated: []exectest.Release{ | ||||
| 				exectest.Release{Name: "test2", Flags: []string(nil)}, | ||||
| 				exectest.Release{Name: "test3", Flags: []string(nil)}, | ||||
| 				{Name: "test2", Flags: []string(nil)}, | ||||
| 				{Name: "test3", Flags: []string(nil)}, | ||||
| 			}, | ||||
| 		}) | ||||
| 	}) | ||||
|  |  | |||
|  | @ -0,0 +1,58 @@ | |||
| package tmpl | ||||
| 
 | ||||
| import ( | ||||
| 	"os" | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"github.com/stretchr/testify/require" | ||||
| ) | ||||
| 
 | ||||
| // TestTextRenderer tests the text renderer.
 | ||||
| func TestNewTextRenderer(t *testing.T) { | ||||
| 	tData := map[string]interface{}{ | ||||
| 		"foo": "bar", | ||||
| 	} | ||||
| 	tr := NewTextRenderer(os.ReadFile, ".", tData) | ||||
| 	require.Equal(t, tData, tr.Data) | ||||
| 	require.Equal(t, ".", tr.Context.basePath) | ||||
| } | ||||
| 
 | ||||
| // TestTextRenderer tests the text renderer.
 | ||||
| func TestTextRender(t *testing.T) { | ||||
| 	tData := map[string]interface{}{ | ||||
| 		"foot": "bart", | ||||
| 	} | ||||
| 	tr := NewTextRenderer(os.ReadFile, ".", tData) | ||||
| 
 | ||||
| 	tests := []struct { | ||||
| 		text    string | ||||
| 		expectd string | ||||
| 		wantErr bool | ||||
| 	}{ | ||||
| 		{ | ||||
| 			text:    `{{ $foo := .foot }}{{ $foo }}`, | ||||
| 			expectd: "bart", | ||||
| 			wantErr: false, | ||||
| 		}, | ||||
| 		{ | ||||
| 			text:    `{ $foo := .foot }}{{ $foo }}`, | ||||
| 			wantErr: true, | ||||
| 		}, | ||||
| 		{ | ||||
| 			text:    `{{ $foo := .a }}{{ $foo }}`, | ||||
| 			wantErr: true, | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
| 	for _, tt := range tests { | ||||
| 		t.Run(tt.text, func(t *testing.T) { | ||||
| 			got, err := tr.RenderTemplateText(tt.text) | ||||
| 			if tt.wantErr { | ||||
| 				require.Error(t, err) | ||||
| 			} else { | ||||
| 				require.NoError(t, err) | ||||
| 			} | ||||
| 			require.Equal(t, tt.expectd, got) | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in New Issue