public function testCommitter()
{
$expectedName = 'Committer Name';
$expectedEmail = '[email protected]';
$gitRoot = $this->shmock('\\Bart\\Git\\GitRoot', function ($root) use($expectedName, $expectedEmail) {
$nameResultStub = new StubbedCommandResult([$expectedName], 0);
$emailResultStub = new StubbedCommandResult([$expectedEmail], 0);
$root->order_matters();
$root->getCommandResult("show -s --no-color --format='%%cN' HEAD")->once()->return_value($nameResultStub);
$root->getCommandResult("show -s --no-color --format='%%cE' HEAD")->once()->return_value($emailResultStub);
});
$commit = new Commit($gitRoot, 'HEAD');
$person = $commit->committer();
$actualName = $person->getName();
$actualEmail = $person->getEmail();
$this->assertSame($expectedName, $actualName);
$this->assertSame($expectedEmail, $actualEmail);
}