X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FPluginManagerTest.php;h=bbd2e142feb7b21f84f73869f4225e43e5c80c07;hb=ab58f2542072e6bf34acd862f6cfed84b33feb29;hp=a5d5dbe988ea22ad525ed74a71b5c3d421c2d7ec;hpb=06f05c923ae59e5daa1aaa8d1ad4c50bd9064bb2;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/PluginManagerTest.php b/tests/PluginManagerTest.php index a5d5dbe9..bbd2e142 100644 --- a/tests/PluginManagerTest.php +++ b/tests/PluginManagerTest.php @@ -6,7 +6,7 @@ use Shaarli\Config\ConfigManager; /** * Unit tests for Plugins */ -class PluginManagerTest extends \PHPUnit\Framework\TestCase +class PluginManagerTest extends \Shaarli\TestCase { /** * Path to tests plugin. @@ -41,17 +41,31 @@ class PluginManagerTest extends \PHPUnit\Framework\TestCase $this->assertTrue(function_exists('hook_test_random')); - $data = array(0 => 'woot'); + $data = [0 => 'woot']; $this->pluginManager->executeHooks('random', $data); - $this->assertEquals('woot', $data[1]); - $data = array(0 => 'woot'); + static::assertCount(2, $data); + static::assertSame('woot', $data[1]); + + $data = [0 => 'woot']; $this->pluginManager->executeHooks('random', $data, array('target' => 'test')); - $this->assertEquals('page test', $data[1]); - $data = array(0 => 'woot'); + static::assertCount(2, $data); + static::assertSame('page test', $data[1]); + + $data = [0 => 'woot']; $this->pluginManager->executeHooks('random', $data, array('loggedin' => true)); - $this->assertEquals('loggedin', $data[1]); + + static::assertCount(2, $data); + static::assertEquals('loggedin', $data[1]); + + $data = [0 => 'woot']; + $this->pluginManager->executeHooks('random', $data, array('loggedin' => null)); + + static::assertCount(3, $data); + static::assertEquals('loggedin', $data[1]); + static::assertArrayHasKey(2, $data); + static::assertNull($data[2]); } /** @@ -67,8 +81,8 @@ class PluginManagerTest extends \PHPUnit\Framework\TestCase $data = []; $this->pluginManager->executeHooks('error', $data); - $this->assertSame( - 'test [plugin incompatibility]: Class \'Unknown\' not found', + $this->assertMatchesRegularExpression( + '/test \[plugin incompatibility\]: Class [\'"]Unknown[\'"] not found/', $this->pluginManager->getErrors()[0] ); } @@ -78,8 +92,8 @@ class PluginManagerTest extends \PHPUnit\Framework\TestCase */ public function testPluginNotFound(): void { - $this->pluginManager->load(array()); - $this->pluginManager->load(array('nope', 'renope')); + $this->pluginManager->load([]); + $this->pluginManager->load(['nope', 'renope']); $this->addToAssertionCount(1); } @@ -89,18 +103,18 @@ class PluginManagerTest extends \PHPUnit\Framework\TestCase public function testGetPluginsMeta(): void { PluginManager::$PLUGINS_PATH = self::$pluginPath; - $this->pluginManager->load(array(self::$pluginName)); + $this->pluginManager->load([self::$pluginName]); - $expectedParameters = array( - 'pop' => array( + $expectedParameters = [ + 'pop' => [ 'value' => '', 'desc' => 'pop description', - ), - 'hip' => array( + ], + 'hip' => [ 'value' => '', 'desc' => '', - ), - ); + ], + ]; $meta = $this->pluginManager->getPluginsMeta(); $this->assertEquals('test plugin', $meta[self::$pluginName]['description']); $this->assertEquals($expectedParameters, $meta[self::$pluginName]['parameters']);