X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FPluginManagerTest.php;h=ddf4818533a1777f422421feb29b44e7243a7afa;hb=06eec9bf764662cd328627247a1f43e4abd3c5ad;hp=749ce2b5233b4f9c4e4ad46e8bfb33621f8f7ac9;hpb=6fc14d530369740d27d6bd641369d4f5f5f04080;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/PluginManagerTest.php b/tests/PluginManagerTest.php old mode 100755 new mode 100644 index 749ce2b5..ddf48185 --- a/tests/PluginManagerTest.php +++ b/tests/PluginManagerTest.php @@ -13,15 +13,26 @@ class PluginManagerTest extends PHPUnit_Framework_TestCase { /** * Path to tests plugin. - * @var string $_PLUGIN_PATH + * @var string $pluginPath */ - private static $_PLUGIN_PATH = 'tests/plugins'; + private static $pluginPath = 'tests/plugins'; /** * Test plugin. - * @var string $_PLUGIN_NAME + * @var string $pluginName */ - private static $_PLUGIN_NAME = 'test'; + private static $pluginName = 'test'; + + /** + * @var PluginManager $pluginManager Plugin Mananger instance. + */ + protected $pluginManager; + + public function setUp() + { + $conf = new ConfigManager(''); + $this->pluginManager = new PluginManager($conf); + } /** * Test plugin loading and hook execution. @@ -30,23 +41,21 @@ class PluginManagerTest extends PHPUnit_Framework_TestCase */ public function testPlugin() { - $pluginManager = PluginManager::getInstance(); - - PluginManager::$PLUGINS_PATH = self::$_PLUGIN_PATH; - $pluginManager->load(array(self::$_PLUGIN_NAME)); + PluginManager::$PLUGINS_PATH = self::$pluginPath; + $this->pluginManager->load(array(self::$pluginName)); $this->assertTrue(function_exists('hook_test_random')); $data = array(0 => 'woot'); - $pluginManager->executeHooks('random', $data); + $this->pluginManager->executeHooks('random', $data); $this->assertEquals('woot', $data[1]); $data = array(0 => 'woot'); - $pluginManager->executeHooks('random', $data, array('target' => 'test')); + $this->pluginManager->executeHooks('random', $data, array('target' => 'test')); $this->assertEquals('page test', $data[1]); $data = array(0 => 'woot'); - $pluginManager->executeHooks('random', $data, array('loggedin' => true)); + $this->pluginManager->executeHooks('random', $data, array('loggedin' => true)); $this->assertEquals('loggedin', $data[1]); } @@ -57,10 +66,30 @@ class PluginManagerTest extends PHPUnit_Framework_TestCase */ public function testPluginNotFound() { - $pluginManager = PluginManager::getInstance(); + $this->pluginManager->load(array()); + $this->pluginManager->load(array('nope', 'renope')); + } - $pluginManager->load(array()); + /** + * Test plugin metadata loading. + */ + public function testGetPluginsMeta() + { + PluginManager::$PLUGINS_PATH = self::$pluginPath; + $this->pluginManager->load(array(self::$pluginName)); - $pluginManager->load(array('nope', 'renope')); + $expectedParameters = array( + 'pop' => array( + 'value' => '', + 'desc' => 'pop description', + ), + 'hip' => array( + 'value' => '', + 'desc' => '', + ), + ); + $meta = $this->pluginManager->getPluginsMeta(); + $this->assertEquals('test plugin', $meta[self::$pluginName]['description']); + $this->assertEquals($expectedParameters, $meta[self::$pluginName]['parameters']); } -} \ No newline at end of file +}