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')); }
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); }
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); }
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()); }