tests/test-hg-parseurl.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 03 May 2021 12:35:25 +0200
changeset 47252 2219853a1503
parent 46908 4452cb788404
child 48966 6000f5b25c9b
permissions -rw-r--r--
revlogv2: track pending write in the docket and expose it to hooks The docket is now able to write pending data. We could have used a distinct intermediate files, however keeping everything in the same file will make it simpler to keep track of the various involved files if necessary. However it might prove more complicated for streaming clone. This will be dealt with later. Note that we lifted the stderr redirection in the test since we no longer suffer from "unkown working directory parent" message. Differential Revision: https://phab.mercurial-scm.org/D10631

from __future__ import absolute_import, print_function

import unittest

from mercurial.utils import urlutil


class ParseRequestTests(unittest.TestCase):
    def testparse(self):

        self.assertEqual(
            urlutil.parseurl(b'http://example.com/no/anchor'),
            (b'http://example.com/no/anchor', (None, [])),
        )
        self.assertEqual(
            urlutil.parseurl(b'http://example.com/an/anchor#foo'),
            (b'http://example.com/an/anchor', (b'foo', [])),
        )
        self.assertEqual(
            urlutil.parseurl(
                b'http://example.com/no/anchor/branches', [b'foo']
            ),
            (b'http://example.com/no/anchor/branches', (None, [b'foo'])),
        )
        self.assertEqual(
            urlutil.parseurl(
                b'http://example.com/an/anchor/branches#bar', [b'foo']
            ),
            (b'http://example.com/an/anchor/branches', (b'bar', [b'foo'])),
        )
        self.assertEqual(
            urlutil.parseurl(
                b'http://example.com/an/anchor/branches-None#foo', None
            ),
            (b'http://example.com/an/anchor/branches-None', (b'foo', [])),
        )
        self.assertEqual(
            urlutil.parseurl(b'http://example.com/'),
            (b'http://example.com/', (None, [])),
        )
        self.assertEqual(
            urlutil.parseurl(b'http://example.com'),
            (b'http://example.com/', (None, [])),
        )
        self.assertEqual(
            urlutil.parseurl(b'http://example.com#foo'),
            (b'http://example.com/', (b'foo', [])),
        )


if __name__ == '__main__':
    import silenttestrunner

    silenttestrunner.main(__name__)