627
627
'file://foo/bar')
628
628
self.assertEqual('/foo', result)
630
def test_unrelated_urls(self):
630
def test_different_ports(self):
631
e = self.assertRaises(InvalidRebaseURLs, urlutils.rebase_url,
632
'foo', 'http://bar:80', 'http://bar:81')
633
self.assertEqual(str(e), "URLs differ by more than path:"
634
" 'http://bar:80' and 'http://bar:81'")
636
def test_different_hosts(self):
631
637
e = self.assertRaises(InvalidRebaseURLs, urlutils.rebase_url,
632
638
'foo', 'http://bar', 'http://baz')
633
639
self.assertEqual(str(e), "URLs differ by more than path: 'http://bar'"
634
640
" and 'http://baz'")
642
def test_different_protocol(self):
643
e = self.assertRaises(InvalidRebaseURLs, urlutils.rebase_url,
644
'foo', 'http://bar', 'ftp://bar')
645
self.assertEqual(str(e), "URLs differ by more than path: 'http://bar'"
636
648
def test_rebase_success(self):
637
649
self.assertEqual('../bar', urlutils.rebase_url('bar', 'http://baz/',
638
650
'http://baz/qux'))
639
651
self.assertEqual('qux/bar', urlutils.rebase_url('bar',
640
652
'http://baz/qux', 'http://baz/'))
641
self.assertEqual('../foo', urlutils.rebase_url('foo',
642
'http://bar/', 'http://bar/baz/'))
643
653
self.assertEqual('.', urlutils.rebase_url('foo',
644
654
'http://bar/', 'http://bar/foo/'))