Remove console formatting as well.
parent
401ef69ae3
commit
20050dd984
|
@ -15,6 +15,7 @@ namespace Composer\Installer;
|
||||||
use Composer\IO\IOInterface;
|
use Composer\IO\IOInterface;
|
||||||
use Composer\Package\PackageInterface;
|
use Composer\Package\PackageInterface;
|
||||||
use Composer\Repository\RepositoryInterface;
|
use Composer\Repository\RepositoryInterface;
|
||||||
|
use Symfony\Component\Console\Formatter\OutputFormatter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add suggested packages from different places to output them in the end.
|
* Add suggested packages from different places to output them in the end.
|
||||||
|
@ -116,14 +117,25 @@ class SuggestedPackagesReporter
|
||||||
$this->io->writeError(sprintf(
|
$this->io->writeError(sprintf(
|
||||||
'%s suggests installing %s (%s)',
|
'%s suggests installing %s (%s)',
|
||||||
$suggestion['source'],
|
$suggestion['source'],
|
||||||
$this->removeControlCharacters($suggestion['target']),
|
$this->escapeOutput($suggestion['target']),
|
||||||
$this->removeControlCharacters($suggestion['reason'])
|
$this->escapeOutput($suggestion['reason'])
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $string
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function escapeOutput($string)
|
||||||
|
{
|
||||||
|
return OutputFormatter::escape(
|
||||||
|
$this->removeControlCharacters($string)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $string
|
* @param string $string
|
||||||
* @return string
|
* @return string
|
||||||
|
|
|
@ -149,11 +149,16 @@ class SuggestedPackagesReporterTest extends \PHPUnit_Framework_TestCase
|
||||||
*/
|
*/
|
||||||
public function testOutputIgnoresFormatting()
|
public function testOutputIgnoresFormatting()
|
||||||
{
|
{
|
||||||
$this->suggestedPackagesReporter->addPackage('source', 'target', "\x1b[1;37;42m Like us\r\non Facebook \x1b[0m");
|
$this->suggestedPackagesReporter->addPackage('source', 'target1', "\x1b[1;37;42m Like us\r\non Facebook \x1b[0m");
|
||||||
|
$this->suggestedPackagesReporter->addPackage('source', 'target2', "<bg=green>Like us on Facebook</>");
|
||||||
|
|
||||||
$this->io->expects($this->once())
|
$this->io->expects($this->at(0))
|
||||||
->method('writeError')
|
->method('writeError')
|
||||||
->with("source suggests installing target ([1;37;42m Like us on Facebook [0m)");
|
->with("source suggests installing target1 ([1;37;42m Like us on Facebook [0m)");
|
||||||
|
|
||||||
|
$this->io->expects($this->at(1))
|
||||||
|
->method('writeError')
|
||||||
|
->with('source suggests installing target2 (\\<bg=green>Like us on Facebook\\</>)');
|
||||||
|
|
||||||
$this->suggestedPackagesReporter->output();
|
$this->suggestedPackagesReporter->output();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue