You are here

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

@group DMU.Analyzer @covers \Drupal\drupalmoduleupgrader\Plugin\DMU\Analyzer\HookPermission

@todo Add a test for dynamic permissions. Drupal 8 still uses hook_permission() for this, so dynamic permissions should not result in an issue being flagged.

Hierarchy

Expanded class hierarchy of HookPermissionTest

File

tests/src/Unit/Plugin/DMU/Analyzer/HookPermissionTest.php, line 15

Namespace

Drupal\Tests\drupalmoduleupgrader\Unit\Plugin\DMU\Analyzer
View source
class HookPermissionTest extends AnalyzerTestBase {
  public function setUp() {
    parent::setUp();
    $code = <<<'END'
<?php

/**
 * Implements hook_permission().
 */
function foo_permission() {
  return array();
}
END;
    $this->dir
      ->getChild('foo.module')
      ->setContent($code);
    $indexer = new Functions([], 'function', [], $this->db, $this->target);
    $indexer
      ->build();
    $this->container
      ->get('plugin.manager.drupalmoduleupgrader.indexer')
      ->method('createInstance')
      ->with('function')
      ->willReturn($indexer);
    $this->analyzer = $this
      ->getPlugin();
  }
  public function test() {
    $issues = $this->analyzer
      ->analyze($this->target);
    $this
      ->assertInternalType('array', $issues);
    $this
      ->assertNotEmpty($issues);
    $this
      ->assertIssueDefaults($issues[0]);
    $this
      ->assertCount(1, $issues[0]
      ->getViolations());
    $fixes = $issues[0]
      ->getFixes();
    $this
      ->assertNotEmpty($fixes);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AnalyzerTestBase::$analyzer protected property
AnalyzerTestBase::assertIssueDefaults protected function Tests an issue generated by an analyzer to ensure that it has all the default values pulled from the plugin definition.
AnalyzerTestBase::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… Overrides TestBase::getPlugin
ContainerMockTrait::$container protected property
ContainerMockTrait::mockContainer protected function
ContainerMockTrait::mockLogger protected function
ContainerMockTrait::mockTranslator protected function
HookPermissionTest::setUp public function Mocks an entire module, called foo, in a virtual file system. Overrides TestBase::setUp
HookPermissionTest::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
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.