2828use Tobias \Expressive \Hydrator \HydratorManagerDelegatorFactory ;
2929use Zend \Hydrator \HydratorPluginManager ;
3030use Zend \ServiceManager \DelegatorFactoryInterface ;
31+ use Zend \ServiceManager \ServiceLocatorInterface ;
3132
3233/**
3334 * Class HydratorManagerDelegatorFactoryTest
3637class HydratorManagerDelegatorFactoryTest extends \PHPUnit_Framework_TestCase
3738{
3839
39- public function testInvoke ()
40+ /**
41+ * @return array
42+ */
43+ public function dataProvider ()
44+ {
45+ return [
46+ [ContainerInterface::class, '__invoke ' ],
47+ [ServiceLocatorInterface::class, 'createDelegatorWithName ' ],
48+ ];
49+ }
50+
51+ /**
52+ * @dataProvider dataProvider
53+ */
54+ public function testInvoke ($ interface , $ method )
4055 {
4156 $ config = [
42- 'input_filters ' => [],
57+ 'hydrators ' => [],
4358 ];
4459
4560 /** @var ContainerInterface|\PHPUnit_Framework_MockObject_MockObject $container */
46- $ container = $ this ->getMockBuilder (ContainerInterface::class )->getMockForAbstractClass ();
61+ $ container = $ this ->getMockBuilder ($ interface )->getMockForAbstractClass ();
4762 $ container ->expects ($ this ->once ())->method ('has ' )->with ('config ' )->will ($ this ->returnValue (true ));
4863 $ container ->expects ($ this ->once ())->method ('get ' )->with ('config ' )->will ($ this ->returnValue ($ config ));
4964
@@ -53,7 +68,11 @@ public function testInvoke()
5368 $ subject = new HydratorManagerDelegatorFactory ();
5469 $ this ->assertInstanceOf (DelegatorFactoryInterface::class, $ subject );
5570
56- $ instance = $ subject ($ container , 'HydratorManager ' , $ callback );
71+ if ($ container instanceof ServiceLocatorInterface) {
72+ $ instance = $ subject ->$ method ($ container , 'HydratorManager ' , 'HydratorManager ' , $ callback );
73+ } else {
74+ $ instance = $ subject ->$ method ($ container , 'HydratorManager ' , $ callback );
75+ }
5776 $ this ->assertInstanceOf (HydratorPluginManager::class, $ instance );
5877 }
5978}
0 commit comments