public function getLastOutOfBandOutput() {}␊ |
}␊ |
␊ |
class IDF_Scm_Monotone_Test extends PHPUnit_Framework_TestCase␊ |
class IDF_Scm_MonotoneTest extends PHPUnit_Framework_TestCase␊ |
{␊ |
private $proj = null;␊ |
␊ |
|
{␊ |
$this->proj = new IDF_Project();␊ |
$this->proj->id = 1;␊ |
$this->proj->name = $this->proj->shortname = 'Test';␊ |
$this->proj->name = $this->proj->shortname = 'test';␊ |
$this->proj->create();␊ |
␊ |
$this->proj->getConf()->setVal('mtn_master_branch', 'master.branch');␊ |
|
␊ |
public function testGetRepositorySize()␊ |
{␊ |
$this->markTestSkipped('Cannot mock real repository file');␊ |
$repodir = DATADIR.'/'.__CLASS__.'/%s.mtn';␊ |
$GLOBALS['_PX_config']['mtn_repositories'] = $repodir;␊ |
$instance = $this->createMock();␊ |
$this->assertEquals(335872, $instance->getRepositorySize());␊ |
}␊ |
␊ |
public function testIsAvailable()␊ |
|
␊ |
public function testInBranches()␊ |
{␊ |
// returns the branches the given commit is in␊ |
$this->markTestIncomplete();␊ |
$instance = $this->createMock();␊ |
␊ |
$stdio = "4567890123456789012345678901234567890123\n";␊ |
$instance->getStdio()->setExpectedOutput(array('select', '456'), array(), $stdio);␊ |
␊ |
$stdio =<<<END␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "branch"␊ |
value "main.branch"␊ |
trust "trusted"␊ |
␊ |
key [aea5d3716d31281171aaecf3a7c227e5545b0504]␊ |
signature "ok"␊ |
name "branch"␊ |
value "feature.branch"␊ |
trust "trusted"␊ |
END;␊ |
$instance->getStdio()->setExpectedOutput(array('certs', '4567890123456789012345678901234567890123'), array(), $stdio);␊ |
␊ |
$out = $instance->inBranches('456', null);␊ |
$this->assertEquals(array('h:main.branch', 'h:feature.branch'), $out);␊ |
}␊ |
␊ |
public function testGetTags()␊ |
|
␊ |
public function testInTags()␊ |
{␊ |
// returns the tags that are attached to the given commit␊ |
$this->markTestIncomplete();␊ |
$instance = $this->createMock();␊ |
␊ |
$stdio = "3456789012345678901234567890123456789012\n";␊ |
$instance->getStdio()->setExpectedOutput(array('select', '345'), array(), $stdio);␊ |
␊ |
$stdio =<<<END␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "tag"␊ |
value "release-1.0rc"␊ |
trust "trusted"␊ |
␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "tag"␊ |
value "release-1.0"␊ |
trust "trusted"␊ |
␊ |
key [aea5d3716d31281171aaecf3a7c227e5545b0504]␊ |
signature "ok"␊ |
name "tag"␊ |
value "release-1.0"␊ |
trust "trusted"␊ |
END;␊ |
$instance->getStdio()->setExpectedOutput(array('certs', '3456789012345678901234567890123456789012'), array(), $stdio);␊ |
␊ |
$out = $instance->inTags('345', null);␊ |
$this->assertEquals(array('t:release-1.0rc', 't:release-1.0'), $out);␊ |
}␊ |
␊ |
public function testGetTree()␊ |
|
␊ |
public function testFindAuthor()␊ |
{␊ |
$this->markTestSkipped('This functionality here should reside in IDF_Scm');␊ |
$this->markTestSkipped('code under test should reside in IDF_Scm');␊ |
}␊ |
␊ |
public function testGetAnonymousAccessUrl()␊ |
{␊ |
// test the generation of the anonymous remote URL␊ |
$this->markTestIncomplete();␊ |
$this->markTestSkipped('cannot test this static method');␊ |
}␊ |
␊ |
public function testGetAuthAccessUrl()␊ |
{␊ |
// test the generation of the authenticated remote URL (only really visible for SSH)␊ |
$this->markTestIncomplete();␊ |
$this->markTestSkipped('cannot test this static method');␊ |
}␊ |
␊ |
public function testFactory()␊ |
{␊ |
$this->markTestSkipped('Cannot mock real repository');␊ |
$this->markTestSkipped('cannot test this static method');␊ |
}␊ |
␊ |
public function testValidateRevision()␊ |
|
$this->assertFalse($instance->getPathInfo('foo', 't:123'));␊ |
␊ |
//␊ |
// existing file file␊ |
// existing file␊ |
//␊ |
$stdio =<<<END␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
|
$file = $instance->getPathInfo('doc/AUTHORS', 't:123');␊ |
$this->assertEquals('doc/AUTHORS', $file->fullpath);␊ |
$this->assertEquals('doc/AUTHORS', $file->efullpath);␊ |
$this->assertEquals('de9ed2fffe2e8c0094bf51bb66d1c1ff2deeaa03', $file->hash);␊ |
$this->assertEquals('AUTHORS', $file->file);␊ |
$this->assertEquals('blob', $file->type);␊ |
$this->assertEquals(17024, $file->size);␊ |
|
␊ |
public function testGetFile()␊ |
{␊ |
// test cmd_only and full file fetching␊ |
$this->markTestIncomplete();␊ |
$instance = $this->createMock();␊ |
$thrown = false;␊ |
try␊ |
{␊ |
$instance->getFile(null, true);␊ |
}␊ |
catch (Pluf_Exception_NotImplemented $e)␊ |
{␊ |
$thrown = true;␊ |
}␊ |
$this->assertTrue($thrown);␊ |
␊ |
$stdio = 'Foobar';␊ |
$instance->getStdio()->setExpectedOutput(array('get_file', '1234567890123456789012345678901234567890'), array(), $stdio);␊ |
␊ |
$obj = new stdClass();␊ |
$obj->hash = '1234567890123456789012345678901234567890';␊ |
␊ |
$this->assertEquals('Foobar', $instance->getFile($obj));␊ |
}␊ |
␊ |
public function testGetChanges()␊ |
|
␊ |
public function testGetCommit()␊ |
{␊ |
// test get commit information with and without a diff text␊ |
// test multiple branches, dates, authors, aso␊ |
$this->markTestIncomplete();␊ |
$instance = $this->createMock();␊ |
␊ |
$this->assertFalse($instance->getCommit('t:234'));␊ |
␊ |
$stdio = "2345678901234567890123456789012345678901\n";␊ |
$instance->getStdio()->setExpectedOutput(array('select', 't:234'), array(), $stdio);␊ |
␊ |
$stdio = "1234567890123456789012345678901234567891\n".␊ |
"1234567890123456789012345678901234567892\n";␊ |
$instance->getStdio()->setExpectedOutput(array('parents', '2345678901234567890123456789012345678901'), array(), $stdio);␊ |
␊ |
$stdio =<<<END␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "author"␊ |
value "me@thomaskeller.biz"␊ |
trust "trusted"␊ |
␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "author"␊ |
value "graydon@pobox.com"␊ |
trust "trusted"␊ |
␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "branch"␊ |
value "main.branch"␊ |
trust "trusted"␊ |
␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "branch"␊ |
value "feature.branch"␊ |
trust "trusted"␊ |
␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "changelog"␊ |
value "something changed"␊ |
trust "trusted"␊ |
␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "changelog"␊ |
value "something changed here as␊ |
well, unbelievable!"␊ |
trust "trusted"␊ |
␊ |
key [1aaecf3a7c227e5545b0504aea5d3716d3128117]␊ |
signature "ok"␊ |
name "date"␊ |
value "2011-03-19T13:59:47"␊ |
trust "trusted"␊ |
END;␊ |
$instance->getStdio()->setExpectedOutput(array('certs', '2345678901234567890123456789012345678901'), array(), $stdio);␊ |
␊ |
$commit = $instance->getCommit('t:234');␊ |
␊ |
$this->assertEquals('2345678901234567890123456789012345678901', $commit->commit);␊ |
$this->assertEquals(array('1234567890123456789012345678901234567891',␊ |
'1234567890123456789012345678901234567892'),␊ |
$commit->parents);␊ |
$this->assertEquals('me@thomaskeller.biz, graydon@pobox.com', $commit->author);␊ |
$this->assertEquals('2011-03-19 13:59:47', $commit->date);␊ |
$this->assertEquals('something changed', $commit->title);␊ |
$this->assertEquals("---\nsomething changed here as\nwell, unbelievable!", $commit->full_message);␊ |
$this->assertEquals('main.branch, feature.branch', $commit->branch);␊ |
$this->assertEquals('', $commit->diff);␊ |
}␊ |
␊ |
public function testGetExtraProperties()␊ |
{␊ |
// test array('parents' => array(rev1, rev2, ...)) or array() if root revision␊ |
$this->markTestIncomplete();␊ |
$instance = $this->createMock();␊ |
␊ |
$this->assertEquals(array(), $instance->getExtraProperties(new stdClass()));␊ |
␊ |
$cobj = (object) array('parents' => array('1234567890123456789012345678901234567891'));␊ |
␊ |
$this->assertEquals(array('parents' => array('1234567890123456789012345678901234567891')),␊ |
$instance->getExtraProperties($cobj));␊ |
}␊ |
␊ |
public function testIsCommitLarge()␊ |