public function testSVNURINormalizer() { $cases = array('file:///path/to/repo' => 'path/to/repo', 'file:///path/to/repo/' => 'path/to/repo'); $type_svn = PhabricatorRepositoryURINormalizer::TYPE_SVN; foreach ($cases as $input => $expect) { $normal = new PhabricatorRepositoryURINormalizer($type_svn, $input); $this->assertEqual($expect, $normal->getNormalizedPath(), pht('Normalized SVN path for "%s".', $input)); } }
public function getNormalizedPath() { $uri = (string) $this->getCloneURIObject(); switch ($this->getVersionControlSystem()) { case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT: $normalized_uri = new PhabricatorRepositoryURINormalizer(PhabricatorRepositoryURINormalizer::TYPE_GIT, $uri); break; case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: $normalized_uri = new PhabricatorRepositoryURINormalizer(PhabricatorRepositoryURINormalizer::TYPE_SVN, $uri); break; case PhabricatorRepositoryType::REPOSITORY_TYPE_MERCURIAL: $normalized_uri = new PhabricatorRepositoryURINormalizer(PhabricatorRepositoryURINormalizer::TYPE_MERCURIAL, $uri); break; default: throw new Exception(pht('Unrecognized version control system.')); } return $normalized_uri->getNormalizedPath(); }