mirror of
https://github.com/Threnklyn/jira.git
synced 2026-06-07 21:43:32 +02:00
84 lines
2.4 KiB
Go
84 lines
2.4 KiB
Go
package survey
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"gopkg.in/AlecAivazis/survey.v1/core"
|
|
"gopkg.in/AlecAivazis/survey.v1/terminal"
|
|
)
|
|
|
|
func init() {
|
|
// disable color output for all prompts to simplify testing
|
|
core.DisableColor = true
|
|
}
|
|
|
|
func TestEditorRender(t *testing.T) {
|
|
tests := []struct {
|
|
title string
|
|
prompt Editor
|
|
data EditorTemplateData
|
|
expected string
|
|
}{
|
|
{
|
|
"Test Editor question output without default",
|
|
Editor{Message: "What is your favorite month:"},
|
|
EditorTemplateData{},
|
|
"? What is your favorite month: [Enter to launch editor] ",
|
|
},
|
|
{
|
|
"Test Editor question output with default",
|
|
Editor{Message: "What is your favorite month:", Default: "April"},
|
|
EditorTemplateData{},
|
|
"? What is your favorite month: (April) [Enter to launch editor] ",
|
|
},
|
|
{
|
|
"Test Editor answer output",
|
|
Editor{Message: "What is your favorite month:"},
|
|
EditorTemplateData{Answer: "October", ShowAnswer: true},
|
|
"? What is your favorite month: October\n",
|
|
},
|
|
{
|
|
"Test Editor question output without default but with help hidden",
|
|
Editor{Message: "What is your favorite month:", Help: "This is helpful"},
|
|
EditorTemplateData{},
|
|
"? What is your favorite month: [? for help] [Enter to launch editor] ",
|
|
},
|
|
{
|
|
"Test Editor question output with default and with help hidden",
|
|
Editor{Message: "What is your favorite month:", Default: "April", Help: "This is helpful"},
|
|
EditorTemplateData{},
|
|
"? What is your favorite month: [? for help] (April) [Enter to launch editor] ",
|
|
},
|
|
{
|
|
"Test Editor question output without default but with help shown",
|
|
Editor{Message: "What is your favorite month:", Help: "This is helpful"},
|
|
EditorTemplateData{ShowHelp: true},
|
|
`ⓘ This is helpful
|
|
? What is your favorite month: [Enter to launch editor] `,
|
|
},
|
|
{
|
|
"Test Editor question output with default and with help shown",
|
|
Editor{Message: "What is your favorite month:", Default: "April", Help: "This is helpful"},
|
|
EditorTemplateData{ShowHelp: true},
|
|
`ⓘ This is helpful
|
|
? What is your favorite month: (April) [Enter to launch editor] `,
|
|
},
|
|
}
|
|
|
|
outputBuffer := bytes.NewBufferString("")
|
|
terminal.Stdout = outputBuffer
|
|
|
|
for _, test := range tests {
|
|
outputBuffer.Reset()
|
|
test.data.Editor = test.prompt
|
|
err := test.prompt.Render(
|
|
EditorQuestionTemplate,
|
|
test.data,
|
|
)
|
|
assert.Nil(t, err, test.title)
|
|
assert.Equal(t, test.expected, outputBuffer.String(), test.title)
|
|
}
|
|
}
|