Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

ViewHelperProviderInterface #2

Merged
merged 2 commits into from
Sep 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion src/LaminasModuleProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
Expand Down Expand Up @@ -62,6 +63,7 @@ public function __invoke() : array
'hydrators' => $this->getHydratorConfig(),
'input_filters' => $this->getInputFilterConfig(),
'serializers' => $this->getSerializerConfig(),
'view_helpers' => $this->getViewHelperConfig(),
]));
}

Expand Down Expand Up @@ -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 [];
Expand All @@ -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());
}
}
18 changes: 17 additions & 1 deletion test/LaminasModuleProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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);
Expand Down