From ab1d5ea8bb2d6e1bed78d9124274ace1216d6246 Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel Date: Mon, 10 Jan 2011 23:23:07 +0100 Subject: [PATCH] Provide the dependency handler if set. --- .../Cli_Modular/lib/Horde/Cli/Modular/ModuleProvider.php | 2 +- .../Cli_Modular/test/Horde/Cli/Modular/Stub/Module/One.php | 8 ++++++++ .../test/Horde/Cli/Modular/Unit/ModuleProviderTest.php | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/framework/Cli_Modular/lib/Horde/Cli/Modular/ModuleProvider.php b/framework/Cli_Modular/lib/Horde/Cli/Modular/ModuleProvider.php index 7b27b1447..2cf3fc354 100644 --- a/framework/Cli_Modular/lib/Horde/Cli/Modular/ModuleProvider.php +++ b/framework/Cli_Modular/lib/Horde/Cli/Modular/ModuleProvider.php @@ -109,6 +109,6 @@ class Horde_Cli_Modular_ModuleProvider sprintf('Invalid module %s!', $class) ); } - return new $class(); + return new $class($this->_dependencies); } } \ No newline at end of file diff --git a/framework/Cli_Modular/test/Horde/Cli/Modular/Stub/Module/One.php b/framework/Cli_Modular/test/Horde/Cli/Modular/Stub/Module/One.php index d853c9c30..1c61622c8 100644 --- a/framework/Cli_Modular/test/Horde/Cli/Modular/Stub/Module/One.php +++ b/framework/Cli_Modular/test/Horde/Cli/Modular/Stub/Module/One.php @@ -3,6 +3,14 @@ class Horde_Cli_Modular_Stub_Module_One implements Horde_Cli_Modular_Module { + public $args; + + public function __construct() + { + $this->args = func_get_args(); + } + + public function getUsage() { return 'Use One'; diff --git a/framework/Cli_Modular/test/Horde/Cli/Modular/Unit/ModuleProviderTest.php b/framework/Cli_Modular/test/Horde/Cli/Modular/Unit/ModuleProviderTest.php index 993368fa8..14754c223 100644 --- a/framework/Cli_Modular/test/Horde/Cli/Modular/Unit/ModuleProviderTest.php +++ b/framework/Cli_Modular/test/Horde/Cli/Modular/Unit/ModuleProviderTest.php @@ -66,4 +66,18 @@ extends Horde_Cli_Modular_TestCase 'Use One', $provider->getModule('One')->getUsage('One') ); } + + public function testDependencies() + { + $dependencies = new stdClass; + $provider = new Horde_Cli_Modular_ModuleProvider( + array( + 'prefix' => 'Horde_Cli_Modular_Stub_Module_', + 'dependencies' => $dependencies, + ) + ); + $this->assertSame( + $dependencies, $provider->getModule('One')->args[0] + ); + } } -- 2.11.0