X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Ftests%2Fsrc%2FUnit%2FPlugin%2FDMU%2FFixer%2FCreateClassTest.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Ftests%2Fsrc%2FUnit%2FPlugin%2FDMU%2FFixer%2FCreateClassTest.php;h=ab1cdc78e6e1d656d189f28031f0d40d96ec2f27;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Plugin/DMU/Fixer/CreateClassTest.php b/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Plugin/DMU/Fixer/CreateClassTest.php new file mode 100644 index 000000000..ab1cdc78e --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Plugin/DMU/Fixer/CreateClassTest.php @@ -0,0 +1,58 @@ +db, $this->target); + $indexer->build(); + + $this + ->container + ->get('plugin.manager.drupalmoduleupgrader.indexer') + ->method('createInstance') + ->with('class') + ->willReturn($indexer); + + $config = [ + 'class' => '\Drupal\foo\MyBaz', + 'destination' => '~/src/MyBaz.php', + 'parent' => '\Drupal\Core\Baz\BazBase', + 'interfaces' => [ + '\Drupal\Core\Baz\BazInterface', + '\Drupal\Core\Executable\ExecutableInterface', + ], + 'doc' => 'This is my bazzifier. There are many like it, but this one is mine.', + ]; + $plugin = new CreateClass($config, uniqID(), []); + $plugin->setTarget($this->target); + $plugin->execute(); + + $this->assertTrue($indexer->has('MyBaz')); + $classes = $indexer->get('MyBaz'); + $this->assertCount(1, $classes); + /** @var \Pharborist\Objects\ClassNode $class */ + $class = $classes->get(0); + $this->assertInstanceOf('\Pharborist\Objects\ClassNode', $class); + $this->assertEquals('\Drupal\foo\MyBaz', $class->getName()->getAbsolutePath()); + $this->assertEquals('MyBaz', $class->getName()->getText()); + $parent = $class->getExtends(); + $this->assertInstanceOf('\Pharborist\Namespaces\NameNode', $parent); + $this->assertEquals('BazBase', $parent->getText()); + return; + $interfaces = $class->getImplementList(); + $this->assertCount(2, $interfaces->getItems()); + $this->assertEquals('BazInterface', $interfaces->get(0)->getText()); + $this->assertEquals('ExecutableInterface', $interfaces->get(1)->getText()); + } + +}