mirror of
https://github.com/Threnklyn/jira.git
synced 2026-06-07 21:43:32 +02:00
update for github.com/AlecAivazis/survey => gopkg.in/AlecAivazis/survey.v1 package
This commit is contained in:
+89
@@ -0,0 +1,89 @@
|
||||
package survey
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/AlecAivazis/survey/core"
|
||||
"github.com/AlecAivazis/survey/terminal"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// disable color output for all prompts to simplify testing
|
||||
core.DisableColor = true
|
||||
}
|
||||
|
||||
func TestSelectRender(t *testing.T) {
|
||||
|
||||
prompt := Select{
|
||||
Message: "Pick your word:",
|
||||
Options: []string{"foo", "bar", "baz", "buz"},
|
||||
Default: "baz",
|
||||
}
|
||||
|
||||
helpfulPrompt := prompt
|
||||
helpfulPrompt.Help = "This is helpful"
|
||||
|
||||
tests := []struct {
|
||||
title string
|
||||
prompt Select
|
||||
data SelectTemplateData
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
"Test Select question output",
|
||||
prompt,
|
||||
SelectTemplateData{SelectedIndex: 2, PageEntries: prompt.Options},
|
||||
`? Pick your word:
|
||||
foo
|
||||
bar
|
||||
❯ baz
|
||||
buz
|
||||
`,
|
||||
},
|
||||
{
|
||||
"Test Select answer output",
|
||||
prompt,
|
||||
SelectTemplateData{Answer: "buz", ShowAnswer: true, PageEntries: prompt.Options},
|
||||
"? Pick your word: buz\n",
|
||||
},
|
||||
{
|
||||
"Test Select question output with help hidden",
|
||||
helpfulPrompt,
|
||||
SelectTemplateData{SelectedIndex: 2, PageEntries: prompt.Options},
|
||||
`? Pick your word: [? for help]
|
||||
foo
|
||||
bar
|
||||
❯ baz
|
||||
buz
|
||||
`,
|
||||
},
|
||||
{
|
||||
"Test Select question output with help shown",
|
||||
helpfulPrompt,
|
||||
SelectTemplateData{SelectedIndex: 2, ShowHelp: true, PageEntries: prompt.Options},
|
||||
`ⓘ This is helpful
|
||||
? Pick your word:
|
||||
foo
|
||||
bar
|
||||
❯ baz
|
||||
buz
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
||||
outputBuffer := bytes.NewBufferString("")
|
||||
terminal.Stdout = outputBuffer
|
||||
|
||||
for _, test := range tests {
|
||||
outputBuffer.Reset()
|
||||
test.data.Select = test.prompt
|
||||
err := test.prompt.Render(
|
||||
SelectQuestionTemplate,
|
||||
test.data,
|
||||
)
|
||||
assert.Nil(t, err, test.title)
|
||||
assert.Equal(t, test.expected, outputBuffer.String(), test.title)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user