Skip to content

Commit

Permalink
[Core] Fixes: Unit tests uses deprecated method "TestCase::getMock()"
Browse files Browse the repository at this point in the history
* Optimizes DeferredListenerAggregateTest.
  • Loading branch information
TiSiE committed Jul 6, 2016
1 parent a1ee4a9 commit d3a8cea
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 21 deletions.
Expand Up @@ -46,7 +46,12 @@ class SearchFormTest extends \PHPUnit_Framework_TestCase

protected function getTargetArgs()
{
$this->formElementManagerMock = $this->getMock('\Zend\Form\FormElementManager', ['get']);
$this->formElementManagerMock = $this
->getMockBuilder('\Zend\Form\FormElementManager')
->disableOriginalConstructor()
->setMethods(['get'])
->getMock()
;
return [$this->formElementManagerMock];
}

Expand Down
Expand Up @@ -29,6 +29,11 @@ class DeferredListenerAggregateTest extends \PHPUnit_Framework_TestCase

use TestInheritanceTrait, TestSetterGetterTrait;

/**
*
*
* @var array|null|DeferredListenerAggregate
*/
protected $target = [
'Core\Listener\DeferredListenerAggregate',
'getTargetArgs',
Expand All @@ -49,14 +54,6 @@ protected function getTargetArgs()

public function propertiesProvider()
{
$target = $this->getMock($this->target[0], [ 'setListener' ], [], '', false);
$target
->expects($this->exactly(2))->method('setListener')
->withConsecutive(
['test', 'service', null, 0],
['test2', 'someClass', 'method', 12]
);

return [
[ 'listeners', [
'value' => [ [] ],
Expand All @@ -72,15 +69,13 @@ public function propertiesProvider()
]],
[ 'listeners', [
'value' => [ [ 'event' => 'test', 'service' => 'service' ] ],
'target' => $target,
'ignore_getter' => true,
'property_assert' => 'verifyAddListenersTestTarget',
'post' => ['assertListenerSpecsProperty', [ '', '@target', '###' ] ],
]],
[ 'listeners', [
'value' => [ [ 'event' => 'test2', 'service' => 'someClass', 'method' => 'method', 'priority' => 12 ] ],
'target' => $target,
'expect_property' => $target,
'property_assert' => 'verifyAddListenersTestTarget',
'ignore_getter' => true,
'post' => ['assertListenerSpecsProperty', [ '', '@target', '###' ] ],
]],
[ 'listener', [
'value' => 'test',
Expand All @@ -99,23 +94,29 @@ public function propertiesProvider()
];
}

private function verifyAddListenersTestTarget($name, $mock)
private function assertListenerSpecsProperty($name, $actual, $expected)
{
if ($mock->__phpunit_hasMatchers()) {
$this->addToAssertionCount(1);
if (isset($expected['value'])) {
$expected = array_merge(
[
'event' => null,
'service' => null,
'method' => null,
'priority' => 0,
'instance' => null
],
$expected['value'][0]
);
}
$mock->__phpunit_verify();
}

private function assertListenerSpecsProperty($name, $actual, $expected)
{
$reflection = new \ReflectionClass($actual);
$property = $reflection->getProperty('listenerSpecs');
$property->setAccessible(true);
$hooks = $property->getValue($actual);

$hook = array_pop($hooks);

$this->assertInstanceOf('Core\Listener\DeferredListenerAggregate', $actual, 'Fluent interface broken.');
$this->assertEquals($hook, $expected);
}

Expand Down

0 comments on commit d3a8cea

Please sign in to comment.