diff --git a/src/Phug/Phug.php b/src/Phug/Phug.php index 09fc71f5..6603930e 100644 --- a/src/Phug/Phug.php +++ b/src/Phug/Phug.php @@ -84,7 +84,9 @@ public static function getExtensionsOptions(array $extensions, array $options = { $methods = static::getExtensionsGetters(); foreach ($extensions as $extensionClassName) { - $extension = new $extensionClassName(); + $extension = is_string($extensionClassName) + ? new $extensionClassName() + : $extensionClassName; foreach (['getOptions', 'getEvents'] as $method) { $value = $extension->$method(); if (!empty($value)) { diff --git a/tests/Phug/PhugTest.php b/tests/Phug/PhugTest.php index c89fcc90..95126884 100644 --- a/tests/Phug/PhugTest.php +++ b/tests/Phug/PhugTest.php @@ -284,6 +284,15 @@ public function testExtensions() self::assertFalse(Phug::hasExtension(VerbatimExtension::class)); } + /** + * @covers ::getExtensionsOptions + */ + public function testGetExtensionsOptions() + { + self::assertSame([], Phug::getExtensionsOptions([new VerbatimExtension()])); + self::assertSame([], Phug::getExtensionsOptions([VerbatimExtension::class])); + } + /** * @covers ::addExtension * @expectedException \Phug\PhugException