本文整理汇总了PHP中Symfony\Component\Console\Helper\QuestionHelper::setHelperSet方法的典型用法代码示例。如果您正苦于以下问题:PHP QuestionHelper::setHelperSet方法的具体用法?PHP QuestionHelper::setHelperSet怎么用?PHP QuestionHelper::setHelperSet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Console\Helper\QuestionHelper
的用法示例。
在下文中一共展示了QuestionHelper::setHelperSet方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getQuestionHelper
/**
* Returns or initializes the symfony/console QuestionHelper
*
* @return QuestionHelper
*/
protected function getQuestionHelper()
{
if ($this->questionHelper === null) {
$this->questionHelper = new QuestionHelper();
$helperSet = new HelperSet(array(new FormatterHelper()));
$this->questionHelper->setHelperSet($helperSet);
}
return $this->questionHelper;
}
示例2: testAmbiguousChoiceFromChoicelist
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage The provided answer is ambiguous. Value should be one of env_2 or env_3.
*/
public function testAmbiguousChoiceFromChoicelist()
{
$possibleChoices = array('env_1' => 'My first environment', 'env_2' => 'My environment', 'env_3' => 'My environment');
$dialog = new QuestionHelper();
$dialog->setInputStream($this->getInputStream("My environment\n"));
$helperSet = new HelperSet(array(new FormatterHelper()));
$dialog->setHelperSet($helperSet);
$question = new ChoiceQuestion('Please select the environment to load', $possibleChoices);
$question->setMaxAttempts(1);
$dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question);
}
示例3: testAskAndValidate
public function testAskAndValidate()
{
$dialog = new QuestionHelper();
$helperSet = new HelperSet(array(new FormatterHelper()));
$dialog->setHelperSet($helperSet);
$error = 'This is not a color!';
$validator = function ($color) use($error) {
if (!in_array($color, array('white', 'black'))) {
throw new \InvalidArgumentException($error);
}
return $color;
};
$question = new Question('What color was the white horse of Henry IV?', 'white');
$question->setValidator($validator);
$question->setMaxAttempts(2);
$dialog->setInputStream($this->getInputStream("\nblack\n"));
$this->assertEquals('white', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question));
$this->assertEquals('black', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question));
$dialog->setInputStream($this->getInputStream("green\nyellow\norange\n"));
try {
$dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question);
$this->fail();
} catch (\InvalidArgumentException $e) {
$this->assertEquals($error, $e->getMessage());
}
}
示例4: testChoiceOutputFormattingQuestionForUtf8Keys
/**
* @requires function mb_strwidth
*/
public function testChoiceOutputFormattingQuestionForUtf8Keys()
{
$question = 'Lorem ipsum?';
$possibleChoices = array('foo' => 'foo', 'żółw' => 'bar', 'łabądź' => 'baz');
$outputShown = array($question, ' [<info>foo </info>] foo', ' [<info>żółw </info>] bar', ' [<info>łabądź</info>] baz');
$output = $this->getMock('\\Symfony\\Component\\Console\\Output\\OutputInterface');
$output->method('getFormatter')->willReturn(new OutputFormatter());
$dialog = new QuestionHelper();
$dialog->setInputStream($this->getInputStream("\n"));
$helperSet = new HelperSet(array(new FormatterHelper()));
$dialog->setHelperSet($helperSet);
$output->expects($this->once())->method('writeln')->with($this->equalTo($outputShown));
$question = new ChoiceQuestion($question, $possibleChoices, 'foo');
$dialog->ask($this->createInputInterfaceMock(), $output, $question);
}
示例5: testAmbiguousChoiceFromChoicelist
public function testAmbiguousChoiceFromChoicelist()
{
$possibleChoices = array('env_1' => 'My environment 1', 'env_2' => 'My environment', 'env_3' => 'My environment');
$dialog = new QuestionHelper();
$dialog->setInputStream($this->getInputStream("My environment\n"));
$helperSet = new HelperSet(array(new FormatterHelper()));
$dialog->setHelperSet($helperSet);
$question = new ChoiceQuestion('Please select the environment to load', $possibleChoices);
try {
$dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question);
} catch (\InvalidArgumentException $e) {
$this->assertEquals('The provided answer is ambiguous. Value should be one of env_2 or env_3.', $e->getMessage());
}
}
示例6: getQuestionHelper
/**
* @return QuestionHelper
*/
protected function getQuestionHelper()
{
$questionHelper = new QuestionHelper();
$helperSet = new HelperSet([new FormatterHelper()]);
$questionHelper->setHelperSet($helperSet);
return $questionHelper;
}