view tests/test-dirs.py @ 45050:18f8d3b31baa

rhg: add a limited `rhg root` subcommand Clap has been choosen for argument parsing for the following reasons: - it's a wildly used and maintained crate - it can deal with OS encoding making it suitable for any encoding - it supports nonambiguous prefix matching as already available in hg - it will soon allow for structopts-style declarative pattern instead of the currently used builder pattern Differential Revision: https://phab.mercurial-scm.org/D8613
author Antoine Cezar <antoine.cezar@octobus.net>
date Tue, 07 Jul 2020 14:05:15 +0530
parents c21aca51b392
children 627cd8f33db0
line wrap: on
line source

from __future__ import absolute_import

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__)