예제 #1
0
    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);
    }
예제 #2
0
 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);
 }
예제 #3
0
 /**
  * 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]);
         }
     }
 }
예제 #4
0
 public function testGetSetLink()
 {
     $link = 'http://google.com';
     $this->release->setLink($link);
     $this->assertEquals($link, $this->release->getLink());
 }