Example #1
0
$p = new GitPath("test/file");
$t->ok(!$p->isSingle(), 'a file in a directory is not single');
$p = new GitPath("/test");
$t->ok($p->isSingle(), 'one file is a single reference');
$t->comment('isRoot testing');
$p = new GitPath("/");
$t->ok($p->isRoot(), 'root is a root');
$p = new GitPath("");
$t->ok($p->isRoot(), 'empty is a root');
$p = new GitPath("test");
$t->ok(!$p->isRoot(), 'a file is not a root');
$t->comment('Testing differences for Tree and Blob paths');
$p = new GitPath("abc/def/ghi");
$t->ok($p->refBlob(), 'no trailing slash references a blob object');
$p = new GitPath("abc/def/ghi/");
$t->ok($p->refTree(), 'a trailing slash references a tree object');
$t->comment('Testing array access');
$p = new GitPath("abc/def/ghi");
$t->is($p[0], 'abc', 'allows array access');
$t->is($p[-1], 'ghi', 'allows negative index array access');
$t->is(count($p), 3, 'count returns number of elements');
$t->comment('Testing iterator');
$p = new GitPath("abc/def");
foreach ($p as $index => $part) {
    switch ($index) {
        case 0:
            $t->is($part, 'abc', 'first iteration');
            break;
        case 1:
            $t->is($part, 'def', 'second iteration');
            break;