Force plugin configuration in configuration

This commit is contained in:
Romain Neutron
2014-02-21 16:07:26 +01:00
parent 9e650a7954
commit df56eb4da7
7 changed files with 166 additions and 41 deletions

View File

@@ -9,27 +9,41 @@ class PluginManagerTest extends PluginTestCase
{
public function testListGoodPlugins()
{
$manager = new PluginManager(__DIR__ . '/Fixtures/PluginDirInstalled', self::$DI['cli']['plugins.plugins-validator']);
$prevPlugins = self::$DI['cli']['conf']->get('plugins');
self::$DI['cli']['conf']->set('plugins', []);
self::$DI['cli']['conf']->set(['plugins', 'test-plugin', 'enabled'], true);
$manager = new PluginManager(__DIR__ . '/Fixtures/PluginDirInstalled', self::$DI['cli']['plugins.plugins-validator'], self::$DI['cli']['conf']);
$plugins = $manager->listPlugins();
$this->assertCount(1, $plugins);
$plugin = array_pop($plugins);
$this->assertFalse($plugin->isErroneous());
self::$DI['cli']['conf']->set('plugins', $prevPlugins);
}
public function testListWrongPlugins()
{
$manager = new PluginManager(__DIR__ . '/Fixtures/WrongPlugins', self::$DI['cli']['plugins.plugins-validator']);
$prevPlugins = self::$DI['cli']['conf']->get('plugins');
self::$DI['cli']['conf']->set('plugins', []);
self::$DI['cli']['conf']->set(['plugins', 'plugin-test', 'enabled'], true);
self::$DI['cli']['conf']->set(['plugins', 'plugin-test2', 'enabled'], true);
self::$DI['cli']['conf']->set(['plugins', 'plugin-test3', 'enabled'], true);
$manager = new PluginManager(__DIR__ . '/Fixtures/WrongPlugins', self::$DI['cli']['plugins.plugins-validator'], self::$DI['cli']['conf']);
$plugins = $manager->listPlugins();
$this->assertCount(8, $plugins);
$this->assertCount(3, $plugins);
$plugin = array_pop($plugins);
$this->assertTrue($plugin->isErroneous());
self::$DI['cli']['conf']->set('plugins', $prevPlugins);
}
public function testHasPlugin()
{
$manager = new PluginManager(__DIR__ . '/Fixtures/PluginDirInstalled', self::$DI['cli']['plugins.plugins-validator']);
$manager = new PluginManager(__DIR__ . '/Fixtures/PluginDirInstalled', self::$DI['cli']['plugins.plugins-validator'], self::$DI['cli']['conf']);
$this->assertTrue($manager->hasPlugin('test-plugin'));
$this->assertFalse($manager->hasPlugin('test-plugin2'));
}