예제 #1
0
 public function testGetSetChanges()
 {
     $fixes = ['#1', '#2', '#3'];
     $changes = ['fixed' => $fixes, 'added' => ['Super awesome feature']];
     $this->release->setAllChanges($changes);
     $this->assertEquals($changes, $this->release->getAllChanges());
     $this->assertEquals($fixes, $this->release->getChanges('fixed'));
     $this->assertNull($this->release->getChanges('foobar'));
     $this->release->addChange('fixed', '#4');
     $this->assertEquals(array_merge($fixes, ['#4']), $this->release->getChanges('fixed'));
     $this->release->addChange('new', 'foobar');
     $this->assertEquals(['foobar'], $this->release->getChanges('new'));
     $newFixes = ['a'];
     $this->release->setChanges('fixed', $newFixes);
     $this->assertEquals($newFixes, $this->release->getChanges('fixed'));
 }
예제 #2
0
    public function testRender()
    {
        $log = new Log();
        $log->setDescription('This is my change log, it will have lots of changes in it!');
        $log->setTitle('My change log');
        $release1 = new Release('1.0.0');
        $release1->setAllChanges(['Added' => ['Thing 1', 'Thing 2'], 'Changed' => ['Some change']]);
        $log->addRelease($release1);
        $release2 = new Release('0.1.0');
        $release2->setAllChanges(['Added' => ['Initial release']]);
        $log->addRelease($release2);
        $expected = <<<'CONTENT'
# My change log
This is my change log, it will have lots of changes in it!

## 1.0.0
### Added
- Thing 1
- Thing 2

### Changed
- Some change

## 0.1.0
### Added
- Initial release

CONTENT;
        $actual = $this->renderer->render($log);
        $this->assertEquals($expected, $actual);
    }
예제 #3
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);
 }
예제 #4
0
 public function testMerge()
 {
     $thisRelease1 = new Release('1.0.0');
     $thisRelease1->setAllChanges(['Added' => ['Added 1', 'Added 2'], 'Changed' => ['Changed 1']]);
     $this->log->addRelease($thisRelease1);
     $thisRelease1 = new Release('2.0.0');
     $this->log->addRelease($thisRelease1);
     $otherLog = new Log();
     $thisRelease3 = new Release('1.0.0');
     $thisRelease3->setAllChanges(['Added' => ['Added 3', 'Added 4'], 'Removed' => ['Removed 1']]);
     $otherLog->addRelease($thisRelease3);
     $thisRelease4 = new Release('3.0.0');
     $otherLog->addRelease($thisRelease4);
     $this->log->mergeLog($otherLog);
     $this->assertTrue($this->log->hasRelease('1.0.0'));
     $this->assertTrue($this->log->hasRelease('2.0.0'));
     $this->assertTrue($this->log->hasRelease('3.0.0'));
     $mergedRelease = $this->log->getRelease('1.0.0');
     $this->assertEquals(['Added' => ['Added 1', 'Added 2', 'Added 3', 'Added 4'], 'Changed' => ['Changed 1'], 'Removed' => ['Removed 1']], $mergedRelease->getAllChanges());
 }