Reintrodue a piece of sys_path code with test

This piece was thought to not be needed. It turns out it is
This commit is contained in:
Dave Halter
2019-04-08 10:05:12 +02:00
parent 3d5b13c25e
commit 85fc799d62
2 changed files with 7 additions and 1 deletions

View File

@@ -232,7 +232,11 @@ def transform_path_to_dotted(sys_path, module_path):
for p in sys_path:
if module_path.startswith(p):
# Strip the trailing slash/backslash
rest = module_path[len(p) + 1:]
rest = module_path[len(p):]
# On Windows a path can also use a slash.
if rest.startswith(os.path.sep) or rest.startswith('/'):
# Remove a slash in cases it's still there.
rest = rest[1:]
if rest:
split = rest.split(os.path.sep)

View File

@@ -94,6 +94,8 @@ _s = ['/a', '/b', '/c/d/']
(['/foo', '/foo/bar'], '/foo/bar/baz', ('baz',), False),
(['/foo/bar', '/foo'], '/foo/bar/baz', ('baz',), False),
(['/'], '/bar/baz.py', ('bar', 'baz',), False),
])
def test_transform_path_to_dotted(sys_path_, module_path, expected, is_package):
# transform_path_to_dotted expects normalized absolute paths.