public function testRenderLink() { $log = new Log(); $log->setTitle('Change log'); $log->setDescription('My change log'); $release1 = new Release('1.0.0'); $release1->setLink('http://fuelphp.com'); $log->addRelease($release1); $release1 = new Release('0.1.0'); $release1->setLink('http://google.com'); $release1->setLinkName('a'); $log->addRelease($release1); $expected = <<<'EXPECTED' # Change log My change log ## [1.0.0] ## [0.1.0][a] [1.0.0] http://fuelphp.com [a] http://google.com EXPECTED; $result = $this->renderer->render($log); $this->assertEquals($expected, $result); }
public function testRender() { $log = new Log(); $log->setTitle('Change Log'); $log->setDescription('A log for changes!'); $release1 = new Release('1.0.0'); $release1->setLink('http://fuelphp.com'); $release1->setAllChanges(['Fixed' => ['fixed 1', 'fixed 2'], 'Changed' => ['changed 1']]); $release1->setDate(DateTime::createFromFormat('Y-m-d', '2015-01-29')); $log->addRelease($release1); $release2 = new Release('0.1.0'); $release2->setLink('http://google.com'); $release2->setLinkName('foobar'); $release2->setDate(DateTime::createFromFormat('Y-m-d', '2015-01-20')); $release2->setAllChanges(['Changed' => ['changed 2']]); $log->addRelease($release2); $result = $this->renderer->render($log); $this->assertJsonStringEqualsJsonFile(__DIR__ . '/../../resources/Parser-Json-testRender.json', $result); }
/** * Extracts and sets the name of the link if there is one. * * @param Release $release * @param string $line */ protected function setLink(Release $release, $line) { $matches = []; if (preg_match('/^## \\[([\\w\\.-\\.]+)\\](?:\\[(\\w+)\\])?/', $line, $matches)) { if (count($matches) >= 3) { $release->setLink($matches[2]); $release->setLinkName($matches[2]); } else { $release->setLink($matches[1]); } } }
public function testGetSetLink() { $link = 'http://google.com'; $this->release->setLink($link); $this->assertEquals($link, $this->release->getLink()); }