public function testGetWorkingCopyUrlFromPath()
 {
     $this->createTempFolder();
     $this->connector->isUrl($this->tempFolder)->willReturn(false);
     $this->connector->isWorkingCopy($this->tempFolder)->willReturn(true);
     $this->connector->getWorkingCopyUrl($this->tempFolder)->willReturn('svn://repository.com');
     $this->assertEquals('svn://repository.com', $this->workingCopyResolver->getWorkingCopyUrl($this->tempFolder), 'Cache Miss');
     $this->assertEquals('svn://repository.com', $this->workingCopyResolver->getWorkingCopyUrl($this->tempFolder), 'Cache Hit');
 }
 protected function prepareMergeResult()
 {
     $this->connector->getFreshMergedRevisions('/path/to/working-copy')->willReturn(array('/projects/project-name/trunk' => array('18', '33'), '/projects/project-name/branches/branch-name' => array('4')));
     $this->connector->getWorkingCopyUrl('/path/to/working-copy')->willReturn('svn://repository.com/path/to/project/tags/stable');
     $this->connector->getRootUrl('svn://repository.com/path/to/project/tags/stable')->willReturn('svn://repository.com');
     $revision_log1 = $this->getRevisionLog('svn://repository.com/projects/project-name/trunk');
     $revision_log1->getRevisionsData('summary', array(18, 33))->willReturn(array(18 => array('author' => 'user1', 'date' => 3534535353, 'msg' => 'a-line1' . PHP_EOL . 'a-line2' . PHP_EOL . PHP_EOL), 33 => array('author' => 'user2', 'date' => 35345445353, 'msg' => 'b-line1' . PHP_EOL . 'b-line2' . PHP_EOL . PHP_EOL)));
     $revision_log2 = $this->getRevisionLog('svn://repository.com/projects/project-name/branches/branch-name');
     $revision_log2->getRevisionsData('summary', array(4))->willReturn(array(4 => array('author' => 'user2', 'date' => 35345444353, 'msg' => 'c-line1' . PHP_EOL . 'c-line2' . PHP_EOL . PHP_EOL)));
 }
 public function testSetWorkingCopySetting()
 {
     $this->configEditor->get('global-settings.sample_name', '')->willReturn('global_value');
     $setting_name = 'path-settings[svn://localhost].sample_name';
     $this->configEditor->get($setting_name)->willReturn('old_value');
     $this->configEditor->set($setting_name, 'new_value')->will(function (array $args, $object) {
         $object->get($args[0])->willReturn($args[1]);
     });
     $this->command->getConfigSettings()->willReturn(array(new StringConfigSetting('sample_name', '', AbstractConfigSetting::SCOPE_WORKING_COPY)));
     $this->workingCopyResolver->getWorkingCopyUrl('/path/to/working-copy')->willReturn('svn://localhost');
     $this->commandConfig->setSettingValue('sample_name', $this->command->reveal(), '/path/to/working-copy', 'new_value');
     $this->assertEquals('new_value', $this->commandConfig->getSettingValue('sample_name', $this->command->reveal(), '/path/to/working-copy'));
 }