Mercurial > hg > hg-git
changeset 262:fdb8065e2eac
Adding a unit test for the url format parser.
author | Lincoln Stoll <lstoll@lstoll.net> |
---|---|
date | Tue, 20 Oct 2009 19:33:06 +0200 |
parents | 29e5072ddaab |
children | 9f5a7a5d52aa |
files | unit-tests/url-test.py |
diffstat | 1 files changed, 48 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/unit-tests/url-test.py @@ -0,0 +1,48 @@ +import sys, tempfile, unittest, shutil +from mercurial import ui, hg, commands + +sys.path.append('../hggit') + +from git_handler import GitHandler + + +class TestUrlParsing(unittest.TestCase): + + def setUp(self): + # create a test repo location. + self.tmpdir = tempfile.mkdtemp('hg-git_url-test') + commands.init(ui.ui(), self.tmpdir) + repo = hg.repository(ui.ui(), self.tmpdir) + self.handler = GitHandler(repo, ui.ui()) + + def tearDown(self): + # remove the temp repo + shutil.rmtree(self.tmpdir) + + def test_ssh_github_style_slash(self): + url = "git+ssh://git@github.com/webjam/webjam.git" + client, path = self.handler.get_transport_and_path(url) + self.assertEquals(path, '/webjam/webjam.git') + self.assertEquals(client.host, 'git@github.com') + + def test_ssh_github_style_colon(self): + url = "git+ssh://git@github.com:webjam/webjam.git" + client, path = self.handler.get_transport_and_path(url) + self.assertEquals(path, 'webjam/webjam.git') + self.assertEquals(client.host, 'git@github.com') + + def test_ssh_heroku_style(self): + url = "git+ssh://git@heroku.com:webjam.git" + client, path = self.handler.get_transport_and_path(url) + self.assertEquals(path, 'webjam.git') + self.assertEquals(client.host, 'git@heroku.com') + + def test_gitdaemon_style(self): + url = "git://github.com/webjam/webjam.git" + client, path = self.handler.get_transport_and_path(url) + self.assertEquals(path, '/webjam/webjam.git') + self.assertEquals(client.host, 'github.com') + + +if __name__ == '__main__': + unittest.main()