getRepository(); $commits = array(); for ($i = 0; $i < 5; $i++) { $commits[] = $c->writeFile(sprintf('test_%d.txt', $i), sprintf('This is file %d', $i)); } foreach ($commits as $c => $commitHash) { $commitUrl = sprintf('git://%s?commit&ref=%s', TESTS_REPO_PATH_1, $commitHash); $content = file_get_contents($commitUrl); $this->assertStringStartsWith('commit '.$commitHash, $content); $this->assertContains(sprintf('+++ b/test_%d.txt', $c), $content); $this->assertContains(sprintf('+This is file %d', $c), $content); } } public function testReadLog() { $c = $this->getRepository(); $commits = array(); for ($i = 0; $i < 5; $i++) { $commits[] = $c->writeFile(sprintf('test_%d.txt', $i), sprintf('This is file %d', $i)); } $logUrl = sprintf('git://%s?log', TESTS_REPO_PATH_1); $log = file_get_contents($logUrl); foreach ($commits as $c => $commitHash) { $this->assertContains('commit '.$commitHash, $log); } $logUrl = sprintf('git://%s?log&limit=%d', TESTS_REPO_PATH_1, 1); $log = file_get_contents($logUrl); foreach ($commits as $c => $commitHash) { if ($c == count($commits) - 1) { $this->assertContains('commit '.$commitHash, $log); } else { $this->assertNotContains('commit '.$commitHash, $log); } } $logUrl = sprintf('git://%s?log&limit=%d', TESTS_REPO_PATH_1, 2); $log = file_get_contents($logUrl); foreach ($commits as $c => $commitHash) { if ($c >= count($commits) - 2) { $this->assertContains('commit '.$commitHash, $log); } else { $this->assertNotContains('commit '.$commitHash, $log); } } $logUrl = sprintf('git://%s?log&limit=%d&skip=%d', TESTS_REPO_PATH_1, 2, 1); $log = file_get_contents($logUrl); foreach ($commits as $c => $commitHash) { if (($c >= count($commits) - 3) && ($c < count($commits) - 1)) { $this->assertContains('commit '.$commitHash, $log); } else { $this->assertNotContains('commit '.$commitHash, $log); } } } }