/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_urlutils.py

  • Committer: Aaron Bentley
  • Date: 2008-06-17 21:44:22 UTC
  • mto: This revision was merged to the branch mainline in revision 3538.
  • Revision ID: aaron@aaronbentley.com-20080617214422-odiao8cz30swjqtk
Implement rebase_url

Show diffs side-by-side

added added

removed removed

Lines of Context:
614
614
        self.assertEqual("bar", derive("http://foo/bar"))
615
615
        self.assertEqual("bar", derive("bzr+ssh://foo/bar"))
616
616
        self.assertEqual("foo-bar", derive("lp:foo-bar"))
 
617
 
 
618
 
 
619
class TestRebaseURL(TestCase):
 
620
    """Test the behavior of rebase_url."""
 
621
 
 
622
    def test_non_relative(self):
 
623
        result = urlutils.rebase_url('file://foo', 'file://foo',
 
624
                                     'file://foo/bar')
 
625
        self.assertEqual('file://foo', result)
 
626
        result = urlutils.rebase_url('/foo', 'file://foo',
 
627
                                     'file://foo/bar')
 
628
        self.assertEqual('/foo', result)
 
629
 
 
630
    def test_unrelated_urls(self):
 
631
        e = self.assertRaises(ValueError, urlutils.rebase_url, 'foo',
 
632
                              'http://bar', 'http://baz')
 
633
        self.assertEqual(str(e), 'URLs cannot have relative paths: http://bar'
 
634
                         ' http://baz')
 
635
 
 
636
    def test_rebase_success(self):
 
637
        self.assertEqual('../bar', urlutils.rebase_url('bar', 'http://baz/',
 
638
                         'http://baz/qux'))
 
639
        self.assertEqual('qux/bar', urlutils.rebase_url('bar',
 
640
                         'http://baz/qux', 'http://baz/'))
 
641
        self.assertEqual('../foo', urlutils.rebase_url('foo',
 
642
                         'http://bar/', 'http://bar/baz/'))
 
643
        self.assertEqual('.', urlutils.rebase_url('foo',
 
644
                         'http://bar/', 'http://bar/foo/'))
 
645
 
 
646
    def test_determine_relative_path(self):
 
647
        self.assertEqual('../../baz/bar',
 
648
                         urlutils.determine_relative_path(
 
649
                         '/qux/quxx', '/baz/bar'))
 
650
        self.assertEqual('..',
 
651
                         urlutils.determine_relative_path(
 
652
                         '/bar/baz', '/bar'))
 
653
        self.assertEqual('baz',
 
654
                         urlutils.determine_relative_path(
 
655
                         '/bar', '/bar/baz'))
 
656
        self.assertEqual('.', urlutils.determine_relative_path(
 
657
                         '/bar', '/bar'))