From 525c6820094459c2bce559469f04fdce2fa52a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20B=C3=B6sing?= <2189546+boesing@users.noreply.github.com> Date: Mon, 9 Sep 2019 19:16:00 +0200 Subject: [PATCH 1/2] Added failing unit test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com> --- test/LaminasModuleProviderTest.php | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/test/LaminasModuleProviderTest.php b/test/LaminasModuleProviderTest.php index fc18c1c..630358a 100644 --- a/test/LaminasModuleProviderTest.php +++ b/test/LaminasModuleProviderTest.php @@ -19,6 +19,7 @@ use Laminas\ModuleManager\Feature\RouteProviderInterface; use Laminas\ModuleManager\Feature\SerializerProviderInterface; use Laminas\ModuleManager\Feature\ValidatorProviderInterface; +use Laminas\ModuleManager\Feature\ViewHelperProviderInterface; use LaminasTest\ConfigAggregatorModuleManager\Resources\LaminasModule; use LaminasTest\ConfigAggregatorModuleManager\Resources\LaminasModuleWithInvalidConfiguration; use LaminasTest\ConfigAggregatorModuleManager\Resources\LaminasModuleWithLaminasConfig; @@ -148,6 +149,21 @@ public function testCanProvideSerializersFromSerializerProviderInterface() $this->assertSame($this->createServiceManagerConfiguration(), $config['serializers']); } + public function testCanProviderViewHelpersFromViewHelperProviderInterface() + { + $module = $this->createMock(ViewHelperProviderInterface::class); + $module + ->expects($this->once()) + ->method('getViewHelperConfig') + ->willReturn($this->createServiceManagerConfiguration()); + + $provider = new LaminasModuleProvider($module); + + $config = $provider(); + $this->assertArrayHasKey('view_helpers', $config); + $this->assertSame($this->createServiceManagerConfiguration(), $config['view_helpers']); + } + public function testCanProvideAnyConfigValue() { $module = new LaminasModule(); @@ -191,7 +207,7 @@ public function testCanHandleModulesWithTraversableConfiguration() $this->assertSame($this->createServiceManagerConfiguration(), $config['dependencies']); } - public function testCanHandleModuelsWithLaminasConfigConfiguration() + public function testCanHandleModulesWithLaminasConfigConfiguration() { $module = new LaminasModuleWithTraversableConfig(); $provider = new LaminasModuleProvider($module); From 0cceaf88b2810ecbab94e60c296499e153aff9d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20B=C3=B6sing?= <2189546+boesing@users.noreply.github.com> Date: Mon, 9 Sep 2019 19:20:43 +0200 Subject: [PATCH 2/2] Added `view_helpers` modulemanager feature MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com> --- src/LaminasModuleProvider.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/LaminasModuleProvider.php b/src/LaminasModuleProvider.php index 0450a51..3fdd167 100644 --- a/src/LaminasModuleProvider.php +++ b/src/LaminasModuleProvider.php @@ -21,6 +21,7 @@ use Laminas\ModuleManager\Feature\SerializerProviderInterface; use Laminas\ModuleManager\Feature\ServiceProviderInterface; use Laminas\ModuleManager\Feature\ValidatorProviderInterface; +use Laminas\ModuleManager\Feature\ViewHelperProviderInterface; use Traversable; /** @@ -62,6 +63,7 @@ public function __invoke() : array 'hydrators' => $this->getHydratorConfig(), 'input_filters' => $this->getInputFilterConfig(), 'serializers' => $this->getSerializerConfig(), + 'view_helpers' => $this->getViewHelperConfig(), ])); } @@ -177,7 +179,7 @@ public function getHydratorConfig() : array return $this->convert($this->module->getHydratorConfig()); } - public function getInputFilterConfig() + public function getInputFilterConfig() /* : array */ { if (! $this->module instanceof InputFilterProviderInterface) { return []; @@ -194,4 +196,13 @@ public function getSerializerConfig() : array return $this->convert($this->module->getSerializerConfig()); } + + public function getViewHelperConfig() : array + { + if (! $this->module instanceof ViewHelperProviderInterface) { + return []; + } + + return $this->convert($this->module->getViewHelperConfig()); + } }