# HG changeset patch # User Siddharth Agarwal # Date 1425707320 28800 # Node ID daee2039dd1116f4399d22d5cf42286f76cbe24f # Parent 3acb83c6c0f162d9ad9965a0978bb43eca32371e patch.pathtransform: add doctests In upcoming patches we're going to make this function more complex, so add some unit tests for it. diff -r 3acb83c6c0f1 -r daee2039dd11 mercurial/patch.py --- a/mercurial/patch.py Fri Mar 06 21:12:30 2015 -0800 +++ b/mercurial/patch.py Fri Mar 06 21:48:40 2015 -0800 @@ -1088,6 +1088,22 @@ return s[:i] def pathtransform(path, strip): + '''turn a path from a patch into a path suitable for the repository + + Returns (stripped components, path in repository). + + >>> pathtransform('a/b/c', 0) + ('', 'a/b/c') + >>> pathtransform(' a/b/c ', 0) + ('', ' a/b/c') + >>> pathtransform(' a/b/c ', 2) + ('a/b/', 'c') + >>> pathtransform(' a//b/c ', 2) + ('a//b/', 'c') + >>> pathtransform('a/b/c', 3) + Traceback (most recent call last): + PatchError: unable to strip away 1 of 3 dirs from a/b/c + ''' pathlen = len(path) i = 0 if strip == 0: diff -r 3acb83c6c0f1 -r daee2039dd11 tests/test-doctest.py --- a/tests/test-doctest.py Fri Mar 06 21:12:30 2015 -0800 +++ b/tests/test-doctest.py Fri Mar 06 21:48:40 2015 -0800 @@ -19,6 +19,7 @@ testmod('mercurial.hgweb.hgwebdir_mod') testmod('mercurial.match') testmod('mercurial.minirst') +testmod('mercurial.patch') testmod('mercurial.pathutil') testmod('mercurial.revset') testmod('mercurial.store')