3 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Plugin\DMU\Analyzer;
5 use Drupal\drupalmoduleupgrader\Plugin\DMU\Indexer\Functions;
9 * @covers \Drupal\drupalmoduleupgrader\Plugin\DMU\Analyzer\HookPermission
11 * @todo Add a test for dynamic permissions. Drupal 8 still uses
12 * hook_permission() for this, so dynamic permissions should not result in
13 * an issue being flagged.
15 class HookPermissionTest extends AnalyzerTestBase {
17 public function setUp() {
24 * Implements hook_permission().
26 function foo_permission() {
30 $this->dir->getChild('foo.module')->setContent($code);
32 $indexer = new Functions([], 'function', [], $this->db, $this->target);
35 ->get('plugin.manager.drupalmoduleupgrader.indexer')
36 ->method('createInstance')
38 ->willReturn($indexer);
40 $this->analyzer = $this->getPlugin();
43 public function test() {
44 $issues = $this->analyzer->analyze($this->target);
45 $this->assertInternalType('array', $issues);
46 $this->assertNotEmpty($issues);
47 $this->assertIssueDefaults($issues[0]);
48 $this->assertCount(1, $issues[0]->getViolations());
49 $fixes = $issues[0]->getFixes();
50 $this->assertNotEmpty($fixes);