[Console] fix NullOutput
It should not extend from abstract Output class because than it inherits the useless constructor arguments and applies formatting in write() needlessly.
This commit is contained in:
parent
a290f87123
commit
ee0cc40c87
@ -11,24 +11,83 @@
|
|||||||
|
|
||||||
namespace Symfony\Component\Console\Output;
|
namespace Symfony\Component\Console\Output;
|
||||||
|
|
||||||
|
use Symfony\Component\Console\Formatter\OutputFormatter;
|
||||||
|
use Symfony\Component\Console\Formatter\OutputFormatterInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NullOutput suppresses all output.
|
* NullOutput suppresses all output.
|
||||||
*
|
*
|
||||||
* $output = new NullOutput();
|
* $output = new NullOutput();
|
||||||
*
|
*
|
||||||
* @author Fabien Potencier <fabien@symfony.com>
|
* @author Fabien Potencier <fabien@symfony.com>
|
||||||
|
* @author Tobias Schultze <http://tobion.de>
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
class NullOutput extends Output
|
class NullOutput implements OutputInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Writes a message to the output.
|
* {@inheritdoc}
|
||||||
*
|
|
||||||
* @param string $message A message to write to the output
|
|
||||||
* @param Boolean $newline Whether to add a newline or not
|
|
||||||
*/
|
*/
|
||||||
protected function doWrite($message, $newline)
|
public function setFormatter(OutputFormatterInterface $formatter)
|
||||||
{
|
{
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getFormatter()
|
||||||
|
{
|
||||||
|
// to comply with the interface we must return a OutputFormatterInterface
|
||||||
|
return new OutputFormatter();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function setDecorated($decorated)
|
||||||
|
{
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function isDecorated()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function setVerbosity($level)
|
||||||
|
{
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getVerbosity()
|
||||||
|
{
|
||||||
|
return self::VERBOSITY_QUIET;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function writeln($messages, $type = 0)
|
||||||
|
{
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function write($messages, $newline = false, $type = 0)
|
||||||
|
{
|
||||||
|
// do nothing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ class NullOutputTest extends \PHPUnit_Framework_TestCase
|
|||||||
$buffer = ob_get_clean();
|
$buffer = ob_get_clean();
|
||||||
|
|
||||||
$this->assertSame('', $buffer, '->write() does nothing (at least nothing is printed)');
|
$this->assertSame('', $buffer, '->write() does nothing (at least nothing is printed)');
|
||||||
|
$this->assertFalse($output->isDecorated(), '->isDecorated() returns false');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testVerbosity()
|
public function testVerbosity()
|
||||||
|
Reference in New Issue
Block a user