X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Ftests%2Fsrc%2FUnit%2FIssueTest.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Ftests%2Fsrc%2FUnit%2FIssueTest.php;h=e4813dc84a716c7df0d15af4ff1c58be1b766c7e;hp=0000000000000000000000000000000000000000;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35 diff --git a/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/IssueTest.php b/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/IssueTest.php new file mode 100644 index 000000000..e4813dc84 --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/IssueTest.php @@ -0,0 +1,94 @@ +issue = new Issue($this->target, 'Foobaz'); + } + + public function testTitle() { + $this->issue->setTitle('Foobar'); + $this->assertEquals('Foobar', $this->issue->getTitle()); + } + + public function testSummary() { + $this->issue->setSummary('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.'); + $this->assertEquals("

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

\n", $this->issue->getSummary()); + } + + public function testDocumentation() { + $this->issue->addDocumentation('http://www.google.com', 'Just Google it, baby!'); + $documentation = $this->issue->getDocumentation(); + $this->assertInternalType('array', $documentation); + $this->assertCount(1, $documentation); + $this->assertArrayHasKey('url', $documentation[0]); + $this->assertArrayHasKey('title', $documentation[0]); + $this->assertEquals('http://www.google.com', $documentation[0]['url']); + $this->assertEquals('Just Google it, baby!', $documentation[0]['title']); + } + + public function testViolationsAndDetectors() { + $analyzer = $this->getMockBuilder('\Drupal\drupalmoduleupgrader\AnalyzerBase')->disableOriginalConstructor()->getMock(); + $analyzer->method('getPluginId')->willReturn('blarg'); + $this->issue->addAffectedFile($this->dir->getChild('foo.info')->url(), $analyzer); + + $code = <<<'END' +dir->getChild('foo.module')->setContent($code); + + $node = $this->target + ->open($this->dir->getChild('foo.module')->url()) + ->children(Filter::isFunction('foo_permission')) + ->get(0); + $this->issue->addViolation($node, $analyzer); + + $violations = $this->issue->getViolations(); + $this->assertInternalType('array', $violations); + $this->assertCount(2, $violations); + $this->assertArrayHasKey('file', $violations[0]); + $this->assertArrayNotHasKey('line_number', $violations[0]); + $this->assertEquals($this->dir->getChild('foo.info')->url(), $violations[0]['file']); + $this->assertArrayHasKey('file', $violations[1]); + $this->assertArrayHasKey('line_number', $violations[1]); + $this->assertEquals($this->dir->getChild('foo.module')->url(), $violations[1]['file']); + + $detectors = $this->issue->getDetectors(); + $this->assertInternalType('array', $detectors); + $this->assertCount(1, $detectors); + $this->assertEquals($analyzer->getPluginId(), $detectors[0]); + } + + public function testFixes() { + $this->issue->addFix('foo'); + $this->issue->addFix('baz', ['bar' => 'wambooli']); + + $fixes = $this->issue->getFixes(); + $this->assertInternalType('array', $fixes); + $this->assertCount(2, $fixes); + $this->assertEquals(['_plugin_id' => 'foo'], $fixes[0]); + $this->assertEquals(['_plugin_id' => 'baz', 'bar' => 'wambooli'], $fixes[1]); + } + +}