Browse Source

Add tests for PluginCollection::create().

ADmad 6 years ago
parent
commit
046a97203e
1 changed files with 20 additions and 0 deletions
  1. 20 0
      tests/TestCase/Core/PluginCollectionTest.php

+ 20 - 0
tests/TestCase/Core/PluginCollectionTest.php

@@ -15,6 +15,7 @@ declare(strict_types=1);
  */
 namespace Cake\Test\TestCase\Core;
 
+use Cake\Core\BasePlugin;
 use Cake\Core\Configure;
 use Cake\Core\Exception\MissingPluginException;
 use Cake\Core\PluginCollection;
@@ -105,6 +106,25 @@ class PluginCollectionTest extends TestCase
         $plugins->get('Invalid');
     }
 
+    public function testCreate()
+    {
+        $plugins = new PluginCollection();
+
+        $plugin = $plugins->create('ParentPlugin');
+        $this->assertInstanceOf(\ParentPlugin\Plugin::class, $plugin);
+
+        $plugin = $plugins->create('ParentPlugin', ['name' => 'Granpa']);
+        $this->assertInstanceOf(\ParentPlugin\Plugin::class, $plugin);
+        $this->assertSame('Granpa', $plugin->getName());
+
+        $plugin = $plugins->create(\ParentPlugin\Plugin::class);
+        $this->assertInstanceOf(\ParentPlugin\Plugin::class, $plugin);
+
+        $plugin = $plugins->create('TestTheme');
+        $this->assertInstanceOf(BasePlugin::class, $plugin);
+        $this->assertSame('TestTheme', $plugin->getName());
+    }
+
     public function testIterator()
     {
         $data = [