getRepository(); $this->assertEquals('master', $c->getCurrentBranch()); } public function testGetBranches() { $c = $this->getRepository(); $this->assertEquals(array('master'), $c->getBranches()); } public function testGetStatus() { $c = $this->getRepository(); $this->assertFalse($c->isDirty()); $file = TESTS_REPO_PATH_1.'/test.txt'; file_put_contents($file, 'Test'); $this->assertTrue($c->isDirty()); $status = $c->getStatus(); $this->assertEquals(array( 'file' => 'test.txt', 'x' => '?', 'y' => '?', 'renamed' => null ), $status[0]); $c->add(array('test.txt')); $this->assertTrue($c->isDirty()); $status = $c->getStatus(); $this->assertEquals(array( 'file' => 'test.txt', 'x' => 'A', 'y' => '', 'renamed' => null ), $status[0]); $c->commit('Commt file', array('test.txt')); $this->assertFalse($c->isDirty()); } public function testGetLog() { $c = $this->getRepository(); $log = $c->getLog(); $this->assertEquals(1, count($log)); $this->assertContains('Initial commit', $log[0]); $hash = $c->writeFile('/directory/test.txt', 'Test'); $log = $c->getLog(); $this->assertEquals(2, count($log)); $this->assertContains($hash, $log[0]); $this->assertContains('Initial commit', $log[1]); $log = $c->getLog(1); $this->assertEquals(1, count($log)); $this->assertContains($hash, $log[0]); $log = $c->getLog(1, 1); $this->assertEquals(1, count($log)); $this->assertContains('Initial commit', $log[0]); } public function testShowCommit() { $c = $this->getRepository(); $hash = $c->writeFile('test.txt', 'Test'); $commit = $c->showCommit($hash); $this->assertContains('test.txt', $commit); $this->assertContains('Test', $commit); } public function testListDirectory() { $c = $this->getRepository(); $list = $c->listDirectory(); $this->assertContains('file_0.txt', $list); $this->assertContains('file_1.txt', $list); $this->assertContains('file_2.txt', $list); $this->assertContains('file_3.txt', $list); $this->assertContains('file_4.txt', $list); $this->assertNotContains('test.txt', $list); $c->writeFile('test.txt', 'Test'); $list = $c->listDirectory(); $this->assertContains('file_0.txt', $list); $this->assertContains('file_1.txt', $list); $this->assertContains('file_2.txt', $list); $this->assertContains('file_3.txt', $list); $this->assertContains('file_4.txt', $list); $this->assertContains('test.txt', $list); $c->removeFile('test.txt'); $list = $c->listDirectory(); $this->assertContains('file_0.txt', $list); $this->assertContains('file_1.txt', $list); $this->assertContains('file_2.txt', $list); $this->assertContains('file_3.txt', $list); $this->assertContains('file_4.txt', $list); $this->assertNotContains('test.txt', $list); $list = $c->listDirectory('.', 'HEAD^^'); $this->assertContains('file_0.txt', $list); $this->assertContains('file_1.txt', $list); $this->assertContains('file_2.txt', $list); $this->assertContains('file_3.txt', $list); $this->assertContains('file_4.txt', $list); $this->assertNotContains('test.txt', $list); $list = $c->listDirectory('.', 'HEAD^'); $this->assertContains('file_0.txt', $list); $this->assertContains('file_1.txt', $list); $this->assertContains('file_2.txt', $list); $this->assertContains('file_3.txt', $list); $this->assertContains('file_4.txt', $list); $this->assertContains('test.txt', $list); $c->writeFile('directory/test.txt', 'Test'); $list = $c->listDirectory('directory/', 'HEAD'); $this->assertContains('test.txt', $list); $list = $c->listDirectory('directory', 'HEAD'); $this->assertContains('test.txt', $list); } public function testShowFile() { $c = $this->getRepository(); $this->assertEquals('File 0', $c->showFile('file_0.txt')); $c->writeFile('test.txt', 'Test 1'); $this->assertEquals('Test 1', $c->showFile('test.txt')); $c->writeFile('test.txt', 'Test 2'); $this->assertEquals('Test 2', $c->showFile('test.txt')); $this->assertEquals('Test 1', $c->showFile('test.txt', 'HEAD^')); $c->writeFile('test.txt', 'Test 3'); $this->assertEquals('Test 3', $c->showFile('test.txt')); $this->assertEquals('Test 2', $c->showFile('test.txt', 'HEAD^')); $this->assertEquals('Test 1', $c->showFile('test.txt', 'HEAD^^')); } }