From 5d84ca26f0ab904c1d4ea3835be08d2b8182669a 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/5] Added failing unit test --- test/ZendModuleProviderTest.php | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/test/ZendModuleProviderTest.php b/test/ZendModuleProviderTest.php index b5a14c5..c5d4acd 100644 --- a/test/ZendModuleProviderTest.php +++ b/test/ZendModuleProviderTest.php @@ -21,6 +21,7 @@ use Zend\ModuleManager\Feature\RouteProviderInterface; use Zend\ModuleManager\Feature\SerializerProviderInterface; use Zend\ModuleManager\Feature\ValidatorProviderInterface; +use Zend\ModuleManager\Feature\ViewHelperProviderInterface; use ZendTest\ConfigAggregatorModuleManager\Resources\ServiceManagerConfigurationTrait; use ZendTest\ConfigAggregatorModuleManager\Resources\ZendModule; use ZendTest\ConfigAggregatorModuleManager\Resources\ZendModuleWithInvalidConfiguration; @@ -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 ZendModuleProvider($module); + + $config = $provider(); + $this->assertArrayHasKey('view_helpers', $config); + $this->assertSame($this->createServiceManagerConfiguration(), $config['view_helpers']); + } + public function testCanProvideAnyConfigValue() { $module = new ZendModule(); @@ -191,7 +207,7 @@ public function testCanHandleModulesWithTraversableConfiguration() $this->assertSame($this->createServiceManagerConfiguration(), $config['dependencies']); } - public function testCanHandleModuelsWithZendConfigConfiguration() + public function testCanHandleModulesWithZendConfigConfiguration() { $module = new ZendModuleWithTraversableConfig(); $provider = new ZendModuleProvider($module); From 75dd4c4260c0b5a642555469aca9f42800678adf 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/5] Added `view_helpers` modulemanager feature --- src/ZendModuleProvider.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ZendModuleProvider.php b/src/ZendModuleProvider.php index 38b54a7..b0223d3 100644 --- a/src/ZendModuleProvider.php +++ b/src/ZendModuleProvider.php @@ -22,6 +22,7 @@ use Zend\ModuleManager\Feature\SerializerProviderInterface; use Zend\ModuleManager\Feature\ServiceProviderInterface; use Zend\ModuleManager\Feature\ValidatorProviderInterface; +use Zend\ModuleManager\Feature\ViewHelperProviderInterface; /** * Provide configuration by consuming zend-modulemanager Module classes. @@ -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()); + } } From 797f8646247f564be8e74ec5d71394ddd52dd5bc 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:59 +0200 Subject: [PATCH 3/5] Raised codesniffer dependency for PHP 7.3 compatibility --- composer.json | 1 + composer.lock | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/composer.json b/composer.json index dd5096e..c4e89eb 100644 --- a/composer.json +++ b/composer.json @@ -15,6 +15,7 @@ }, "require-dev": { "phpunit/phpunit": "^7.0.3", + "squizlabs/php_codesniffer": "^2.9.2", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-config": "^3.1", "zendframework/zend-servicemanager": "^3.3" diff --git a/composer.lock b/composer.lock index 572d40d..616de27 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d243c3d9b8ce6b814aaffa8d5ebd07c7", + "content-hash": "393d096bf826a9539cdbec1a2f4e0b6d", "packages": [ { "name": "psr/container", @@ -1159,6 +1159,7 @@ "mock", "xunit" ], + "abandoned": true, "time": "2018-02-15T05:27:38+00:00" }, { @@ -1726,16 +1727,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "2.9.1", + "version": "2.9.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "dcbed1074f8244661eecddfc2a675430d8d33f62" + "reference": "2acf168de78487db620ab4bc524135a13cfe6745" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/dcbed1074f8244661eecddfc2a675430d8d33f62", - "reference": "dcbed1074f8244661eecddfc2a675430d8d33f62", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/2acf168de78487db620ab4bc524135a13cfe6745", + "reference": "2acf168de78487db620ab4bc524135a13cfe6745", "shasum": "" }, "require": { @@ -1800,7 +1801,7 @@ "phpcs", "standards" ], - "time": "2017-05-22T02:43:20+00:00" + "time": "2018-11-07T22:31:41+00:00" }, { "name": "theseer/tokenizer", From 6a3ebd72545250c276f2645eef8d8190306950ec 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:26:01 +0200 Subject: [PATCH 4/5] Add CHANGELOG entry for #3 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78a3e46..a57ff8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to this project will be documented in this file, in reverse ### Added -- Nothing. +- [#3](https://github.com/zendframework/zend-config-aggregator-modulemanager/pull/3) adds support for `ViewHelperProviderInterface` ### Changed From fe89d93ff05f6aff4bf544b8afc922433af3e9f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20B=C3=B6sing?= <2189546+boesing@users.noreply.github.com> Date: Tue, 17 Sep 2019 10:27:58 +0200 Subject: [PATCH 5/5] Remove dependency of codesniffer as it is provided by the codestandard --- composer.json | 1 - composer.lock | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/composer.json b/composer.json index c4e89eb..dd5096e 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,6 @@ }, "require-dev": { "phpunit/phpunit": "^7.0.3", - "squizlabs/php_codesniffer": "^2.9.2", "zendframework/zend-coding-standard": "~1.0.0", "zendframework/zend-config": "^3.1", "zendframework/zend-servicemanager": "^3.3" diff --git a/composer.lock b/composer.lock index 616de27..7383d0f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "393d096bf826a9539cdbec1a2f4e0b6d", + "content-hash": "d243c3d9b8ce6b814aaffa8d5ebd07c7", "packages": [ { "name": "psr/container",