| 
16 | 16 | use Symfony\Component\Console\Command\Command;  | 
17 | 17 | use Symfony\Component\Console\Helper\HelperSet;  | 
18 | 18 | use Symfony\Component\Console\Helper\QuestionHelper;  | 
 | 19 | +use Symfony\Component\Console\Input\InputInterface;  | 
19 | 20 | use Symfony\Component\Console\Output\Output;  | 
 | 21 | +use Symfony\Component\Console\Output\OutputInterface;  | 
20 | 22 | use Symfony\Component\Console\Question\ChoiceQuestion;  | 
21 | 23 | use Symfony\Component\Console\Question\Question;  | 
22 | 24 | use Symfony\Component\Console\Style\SymfonyStyle;  | 
@@ -127,6 +129,32 @@ public function testCommandWithInputs()  | 
127 | 129 |  $this->assertEquals(implode('', $questions), $tester->getDisplay(true));  | 
128 | 130 |  }  | 
129 | 131 | 
 
  | 
 | 132 | + public function testCommandWithMultilineInputs()  | 
 | 133 | + {  | 
 | 134 | + $question = 'What is your address?';  | 
 | 135 | + | 
 | 136 | + $command = new Command('foo');  | 
 | 137 | + $command->setHelperSet(new HelperSet([new QuestionHelper()]));  | 
 | 138 | + $command->setCode(function (InputInterface $input, OutputInterface $output) use ($question, $command): int {  | 
 | 139 | + $output->write($command->getHelper('question')->ask($input, $output, (new Question($question."\n"))->setMultiline(true)));  | 
 | 140 | + $output->write(stream_get_contents($input->getStream()));  | 
 | 141 | + | 
 | 142 | + return 0;  | 
 | 143 | + });  | 
 | 144 | + | 
 | 145 | + $tester = new CommandTester($command);  | 
 | 146 | + | 
 | 147 | + $address = <<<ADDRESS  | 
 | 148 | + 31 Spooner Street  | 
 | 149 | + Quahog  | 
 | 150 | + ADDRESS;  | 
 | 151 | + $tester->setInputs([$address."\x04", $address]);  | 
 | 152 | + $tester->execute([]);  | 
 | 153 | + | 
 | 154 | + $tester->assertCommandIsSuccessful();  | 
 | 155 | + $this->assertSame($question."\n".$address."\n".$address."\n", $tester->getDisplay());  | 
 | 156 | + }  | 
 | 157 | + | 
130 | 158 |  public function testCommandWithDefaultInputs()  | 
131 | 159 |  {  | 
132 | 160 |  $questions = [  | 
 | 
0 commit comments