view tests/test-dirs.py @ 50990:758e40b9a8af stable

httppeer: fix static-http: scheme autodetection (issue6833) Since statichttprepo.make_peer() assumes path is a urlutil.path object (by accessing path.loc), we no longer can just provide a bytestring there. See also 5f71fff8dc74 and cfe8d88a453e.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 05 Oct 2023 14:47:42 -0300
parents 6000f5b25c9b
children
line wrap: on
line source

import unittest

import silenttestrunner

from mercurial import pathutil


class dirstests(unittest.TestCase):
    def testdirs(self):
        for case, want in [
            (b'a/a/a', [b'a', b'a/a', b'']),
            (b'alpha/beta/gamma', [b'', b'alpha', b'alpha/beta']),
        ]:
            d = pathutil.dirs([])
            d.addpath(case)
            self.assertEqual(sorted(d), sorted(want))

    def testinvalid(self):
        with self.assertRaises(ValueError):
            d = pathutil.dirs([])
            d.addpath(b'a//b')


if __name__ == '__main__':
    silenttestrunner.main(__name__)