From c649f33ebddd3a2e2f49cb1f739c00506869c149 Mon Sep 17 00:00:00 2001 From: Robin Chalas Date: Fri, 16 Dec 2022 15:44:15 +0100 Subject: [PATCH] Revert "bug #48089 [Console] Fix clear line with question in section (maxbeckers)" This reverts commit caffee8d62e7f998fcf6116ca128b8343017f3d2, reversing changes made to f14901e3a4343bb628ff0f7e5f213752381a069e. --- Output/ConsoleSectionOutput.php | 8 ------- Style/SymfonyStyle.php | 6 ------ Tests/Style/SymfonyStyleTest.php | 36 -------------------------------- 3 files changed, 50 deletions(-) diff --git a/Output/ConsoleSectionOutput.php b/Output/ConsoleSectionOutput.php index 527c1a224..d4c2f20c7 100644 --- a/Output/ConsoleSectionOutput.php +++ b/Output/ConsoleSectionOutput.php @@ -87,14 +87,6 @@ public function addContent(string $input) } } - /** - * @internal - */ - public function incrementLines() - { - ++$this->lines; - } - /** * {@inheritdoc} */ diff --git a/Style/SymfonyStyle.php b/Style/SymfonyStyle.php index 1de3b552f..f13c313d3 100644 --- a/Style/SymfonyStyle.php +++ b/Style/SymfonyStyle.php @@ -22,7 +22,6 @@ use Symfony\Component\Console\Helper\TableSeparator; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\ConsoleSectionOutput; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\TrimmedBufferOutput; use Symfony\Component\Console\Question\ChoiceQuestion; @@ -351,11 +350,6 @@ public function askQuestion(Question $question): mixed if ($this->input->isInteractive()) { $this->newLine(); $this->bufferedOutput->write("\n"); - if ($this->output instanceof ConsoleSectionOutput) { - // add one line more to the ConsoleSectionOutput because of the `return` to submit the input - // this is relevant when a `ConsoleSectionOutput::clear` is called. - $this->output->incrementLines(); - } } return $answer; diff --git a/Tests/Style/SymfonyStyleTest.php b/Tests/Style/SymfonyStyleTest.php index 3441449da..74c240340 100644 --- a/Tests/Style/SymfonyStyleTest.php +++ b/Tests/Style/SymfonyStyleTest.php @@ -16,13 +16,11 @@ use Symfony\Component\Console\Exception\RuntimeException; use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Input\Input; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\ConsoleOutputInterface; use Symfony\Component\Console\Output\ConsoleSectionOutput; use Symfony\Component\Console\Output\NullOutput; use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Output\StreamOutput; use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Tester\CommandTester; @@ -183,38 +181,4 @@ public function testMemoryConsumption() $this->assertSame(0, memory_get_usage() - $start); } - - public function testAskAndClearExpectFullSectionCleared() - { - $answer = 'Answer'; - $inputStream = fopen('php://memory', 'r+'); - fwrite($inputStream, $answer.\PHP_EOL); - rewind($inputStream); - $input = $this->createMock(Input::class); - $sections = []; - $output = new ConsoleSectionOutput(fopen('php://memory', 'r+', false), $sections, StreamOutput::VERBOSITY_NORMAL, true, new OutputFormatter()); - $input - ->method('isInteractive') - ->willReturn(true); - $input - ->method('getStream') - ->willReturn($inputStream); - - $style = new SymfonyStyle($input, $output); - - $style->write('foo'); - $givenAnswer = $style->ask('Dummy question?'); - $output->write('bar'); - $output->clear(); - - rewind($output->getStream()); - $this->assertEquals($answer, $givenAnswer); - $this->assertEquals( - 'foo'.\PHP_EOL. // write foo - \PHP_EOL.\PHP_EOL.\PHP_EOL." \033[32mDummy question?\033[39m:".\PHP_EOL.' > '.\PHP_EOL.\PHP_EOL.\PHP_EOL. // question - 'bar'.\PHP_EOL. // write bar - "\033[10A\033[0J", // clear 10 lines (9 output lines and one from the answer input return) - stream_get_contents($output->getStream()) - ); - } }