[Console] Fix SymfonyQuestionHelper::askQuestion() with choice value as default
This commit is contained in:
parent
40fff43ea9
commit
c51dda0fe1
@ -82,7 +82,7 @@ class SymfonyQuestionHelper extends QuestionHelper
|
|||||||
|
|
||||||
case $question instanceof ChoiceQuestion:
|
case $question instanceof ChoiceQuestion:
|
||||||
$choices = $question->getChoices();
|
$choices = $question->getChoices();
|
||||||
$text = sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, OutputFormatter::escape($choices[$default]));
|
$text = sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, OutputFormatter::escape(isset($choices[$default]) ? $choices[$default] : $default));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -75,6 +75,19 @@ class SymfonyQuestionHelperTest extends TestCase
|
|||||||
$this->assertOutputContains('What is your favorite superhero? [Superman, Batman]', $output);
|
$this->assertOutputContains('What is your favorite superhero? [Superman, Batman]', $output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testAskChoiceWithChoiceValueAsDefault()
|
||||||
|
{
|
||||||
|
$questionHelper = new SymfonyQuestionHelper();
|
||||||
|
$helperSet = new HelperSet(array(new FormatterHelper()));
|
||||||
|
$questionHelper->setHelperSet($helperSet);
|
||||||
|
$questionHelper->setInputStream($this->getInputStream("Batman\n"));
|
||||||
|
$question = new ChoiceQuestion('What is your favorite superhero?', array('Superman', 'Batman', 'Spiderman'), 'Batman');
|
||||||
|
$question->setMaxAttempts(1);
|
||||||
|
|
||||||
|
$this->assertSame('Batman', $questionHelper->ask($this->createInputInterfaceMock(), $output = $this->createOutputInterface(), $question));
|
||||||
|
$this->assertOutputContains('What is your favorite superhero? [Batman]', $output);
|
||||||
|
}
|
||||||
|
|
||||||
public function testAskReturnsNullIfValidatorAllowsIt()
|
public function testAskReturnsNullIfValidatorAllowsIt()
|
||||||
{
|
{
|
||||||
$questionHelper = new SymfonyQuestionHelper();
|
$questionHelper = new SymfonyQuestionHelper();
|
||||||
|
Reference in New Issue
Block a user