You are here

class CreateClassTest in Drupal 7 to 8/9 Module Upgrader 8

@group DMU.Fixer

Hierarchy

Expanded class hierarchy of CreateClassTest

File

tests/src/Unit/Plugin/DMU/Fixer/CreateClassTest.php, line 12

Namespace

Drupal\Tests\drupalmoduleupgrader\Unit\Plugin\DMU\Fixer
View source
class CreateClassTest extends TestBase {
  public function test() {
    $indexer = new Classes([], 'class', [], $this->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
      ->getMultiple([
      '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());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ContainerMockTrait::$container protected property
ContainerMockTrait::mockContainer protected function
ContainerMockTrait::mockLogger protected function
ContainerMockTrait::mockTranslator protected function
CreateClassTest::test public function
ModuleMockerTrait::mockModule protected function
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
SQLiteDatabaseTrait::$db protected property
SQLiteDatabaseTrait::initDB protected function
TestBase::$dir protected property
TestBase::$info protected property The parsed annotations for the test class and method being executed.
TestBase::$target protected property
TestBase::getPlugin protected function Instantiates the plugin class covered by this test (as indicated by the @covers annotation). The plugin instance is given a randomly generated ID and description. Dependencies will be pulled from $this->container, so this should only be called once… 1
TestBase::setUp public function Mocks an entire module, called foo, in a virtual file system. Overrides UnitTestCase::setUp 17
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.