Browse Source

Set compiler by setter for better testability

1.0
Jakub Turek 10 years ago
parent
commit
d58e89c41d
  1. 15
      Mage/Command/BuiltIn/CompileCommand.php
  2. 51
      tests/MageTest/Command/BuiltIn/CompileCommandTest.php

15
Mage/Command/BuiltIn/CompileCommand.php

@ -21,6 +21,21 @@ use Mage\Compiler;
*/ */
class CompileCommand extends AbstractCommand class CompileCommand extends AbstractCommand
{ {
/**
* @var Compiler
*/
private $compiler;
public function __construct()
{
$this->compiler = new Compiler();
}
public function setCompiler(Compiler $compiler)
{
$this->compiler = $compiler;
}
/** /**
* @see \Mage\Compile::compile() * @see \Mage\Compile::compile()
*/ */

51
tests/MageTest/Command/BuiltIn/CompileCommandTest.php

@ -0,0 +1,51 @@
<?php
namespace MageTest\Command\BuiltIn;
use Mage\Command\BuiltIn\CompileCommand;
use MageTest\TestHelper\BaseTest;
/**
* Class CompileCommandTest
* @package MageTest\Command\BuiltIn
* @coversDefaultClass Mage\Command\BuiltIn\CompileCommand
* @uses Mage\Compiler
*/
class CompileCommandTest extends BaseTest
{
/**
* @var CompileCommand
*/
private $compileCommand;
/**
* @before
*/
public function before()
{
$this->compileCommand = new CompileCommand();
}
/**
* @covers ::__construct
*/
public function testConstruct()
{
$compileCommand = new CompileCommand();
$compilerProperty = $this->getPropertyValue($compileCommand, 'compiler');
$this->assertInstanceOf('Mage\Compiler', $compilerProperty);
}
/**
* @covers ::setCompiler
*/
public function testSetCompiler()
{
$compilerMock = $this->getMock('Mage\Compiler');
$this->compileCommand->setCompiler($compilerMock);
$compilerProperty = $this->getPropertyValue($this->compileCommand, 'compiler');
$this->assertEquals($compilerMock, $compilerProperty);
}
}
Loading…
Cancel
Save