}
public function testIsGettingSymlinksWithinTrees()
{
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$this->markTestSkipped('Unable to run on Windows');
}
$repository = $this->client->getRepository(self::$tmpdir . '/testrepo');
$fs = new Filesystem();
$fs->touch(self::$tmpdir . '/testrepo/original_file.txt');
$fs->symlink(self::$tmpdir . '/testrepo/original_file.txt', self::$tmpdir . '/testrepo/link.txt');
$repository->addAll();
$repository->commit("Testing symlinks");
$files = $repository->getTree('master');
foreach ($files as $file) {
if ($file instanceof Symlink) {
$this->assertEquals($file->getPath(), self::$tmpdir . '/testrepo/original_file.txt');
$this->assertEquals($file->getName(), 'link.txt');
$this->assertEquals($file->getMode(), '120000');
return;
}
}
$this->fail('No symlink found inside tree');
}
public function testIsGettingSymlinksWithinTreesOutput()
{
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$this->markTestSkipped('Unable to run on Windows');
}
$repository = $this->client->getRepository(self::$tmpdir . '/testrepo');
$fs = new Filesystem();
$fs->touch(self::$tmpdir . '/testrepo/original_file.txt');
$fs->symlink(self::$tmpdir . '/testrepo/original_file.txt', self::$tmpdir . '/testrepo/link2.txt');
$repository->addAll();
$repository->commit("Testing symlinks");
$files = $repository->getTree('master')->output();
foreach ($files as $file) {
if ($file['type'] == 'symlink') {
$this->assertEquals($file['path'], self::$tmpdir . '/testrepo/original_file.txt');
$this->assertEquals($file['name'], 'link.txt');
$this->assertEquals($file['mode'], '120000');
return;
}
}
$this->fail('No symlink found inside tree output');
}
public function testIsGettingTotalCommits()
{
$repository = $this->client->getRepository(self::$tmpdir . '/testrepo');
$this->assertEquals($repository->getTotalCommits(), '4');
}
public function testIsGettingCommit()
{
$repository = $this->client->getRepository(self::$tmpdir . '/testrepo');
$commits = $repository->getCommits();
foreach ($commits as $commit) {
$singleCommit = $repository->getCommit($commit->getHash());
$this->assertTrue($singleCommit->isCommit());
$this->assertInstanceOf('Gitter\Model\Commit\Commit', $singleCommit);
$this->assertInstanceOf('Gitter\Model\Commit\Author', $singleCommit->getAuthor());
$this->assertEquals($singleCommit->getAuthor()->getName(), 'Luke Skywalker');
$this->assertEquals($singleCommit->getAuthor()->getEmail(), 'luke@rebel.org');
$this->assertEquals($singleCommit->getCommiter()->getName(), 'Luke Skywalker');
$this->assertEquals($singleCommit->getCommiter()->getEmail(), 'luke@rebel.org');
$this->assertInstanceOf('DateTime', $singleCommit->getDate());
$this->assertInstanceOf('DateTime', $singleCommit->getCommiterDate());