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