summaryrefslogtreecommitdiff
path: root/tests/test_files.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-06-13 21:44:43 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-06-13 21:44:43 -0400
commit4dc7c52ffa20e9b8444f61092950618066f1a736 (patch)
tree3f03b9e22afbbad4f2e481d52573b3a3ba72b9a9 /tests/test_files.py
parentf9a5b120b91e62f86bcd12e54a92fda675534200 (diff)
downloadpython-coveragepy-git-4dc7c52ffa20e9b8444f61092950618066f1a736.tar.gz
Remove FileLocator from PathAliases. Now it always produces canonicalized paths.
Diffstat (limited to 'tests/test_files.py')
-rw-r--r--tests/test_files.py38
1 files changed, 23 insertions, 15 deletions
diff --git a/tests/test_files.py b/tests/test_files.py
index 483ede9f..6549c0ad 100644
--- a/tests/test_files.py
+++ b/tests/test_files.py
@@ -147,34 +147,44 @@ class PathAliasesTest(CoverageTest):
run_in_temp_dir = False
+ def assert_mapped(self, aliases, inp, out):
+ """Assert that `inp` mapped through `aliases` produces `out`.
+
+ `out` is canonicalized first, since aliases always produce
+ canonicalized paths.
+
+ """
+ self.assertEqual(aliases.map(inp), files.canonical_filename(out))
+
def test_noop(self):
aliases = PathAliases()
- self.assertEqual(aliases.map('/ned/home/a.py'), '/ned/home/a.py')
+ self.assert_mapped(aliases, '/ned/home/a.py', '/ned/home/a.py')
def test_nomatch(self):
aliases = PathAliases()
aliases.add('/home/*/src', './mysrc')
- self.assertEqual(aliases.map('/home/foo/a.py'), '/home/foo/a.py')
+ self.assert_mapped(aliases, '/home/foo/a.py', '/home/foo/a.py')
def test_wildcard(self):
aliases = PathAliases()
aliases.add('/ned/home/*/src', './mysrc')
- self.assertEqual(aliases.map('/ned/home/foo/src/a.py'), './mysrc/a.py')
+ self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')
+
aliases = PathAliases()
aliases.add('/ned/home/*/src/', './mysrc')
- self.assertEqual(aliases.map('/ned/home/foo/src/a.py'), './mysrc/a.py')
+ self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')
def test_no_accidental_match(self):
aliases = PathAliases()
aliases.add('/home/*/src', './mysrc')
- self.assertEqual(aliases.map('/home/foo/srcetc'), '/home/foo/srcetc')
+ self.assert_mapped(aliases, '/home/foo/srcetc', '/home/foo/srcetc')
def test_multiple_patterns(self):
aliases = PathAliases()
aliases.add('/home/*/src', './mysrc')
aliases.add('/lib/*/libsrc', './mylib')
- self.assertEqual(aliases.map('/home/foo/src/a.py'), './mysrc/a.py')
- self.assertEqual(aliases.map('/lib/foo/libsrc/a.py'), './mylib/a.py')
+ self.assert_mapped(aliases, '/home/foo/src/a.py', './mysrc/a.py')
+ self.assert_mapped(aliases, '/lib/foo/libsrc/a.py', './mylib/a.py')
def test_cant_have_wildcard_at_end(self):
aliases = PathAliases()
@@ -190,28 +200,26 @@ class PathAliasesTest(CoverageTest):
aliases = PathAliases()
aliases.add(r'c:\Zoo\boo', 'src/')
aliases.add('/home/ned$', 'src/')
- self.assertEqual(aliases.map(r'c:\Zoo\boo\foo.py'), 'src/foo.py')
- self.assertEqual(aliases.map(r'/home/ned$/foo.py'), 'src/foo.py')
+ self.assert_mapped(aliases, r'c:\Zoo\boo\foo.py', 'src/foo.py')
+ self.assert_mapped(aliases, r'/home/ned$/foo.py', 'src/foo.py')
def test_paths_are_os_corrected(self):
aliases = PathAliases()
aliases.add('/home/ned/*/src', './mysrc')
aliases.add(r'c:\ned\src', './mysrc')
- mapped = aliases.map(r'C:\Ned\src\sub\a.py')
- self.assertEqual(mapped, './mysrc/sub/a.py')
+ self.assert_mapped(aliases, r'C:\Ned\src\sub\a.py', './mysrc/sub/a.py')
aliases = PathAliases()
aliases.add('/home/ned/*/src', r'.\mysrc')
aliases.add(r'c:\ned\src', r'.\mysrc')
- mapped = aliases.map(r'/home/ned/foo/src/sub/a.py')
- self.assertEqual(mapped, r'.\mysrc\sub\a.py')
+ self.assert_mapped(aliases, r'/home/ned/foo/src/sub/a.py', r'.\mysrc\sub\a.py')
def test_leading_wildcard(self):
aliases = PathAliases()
aliases.add('*/d1', './mysrc1')
aliases.add('*/d2', './mysrc2')
- self.assertEqual(aliases.map('/foo/bar/d1/x.py'), './mysrc1/x.py')
- self.assertEqual(aliases.map('/foo/bar/d2/y.py'), './mysrc2/y.py')
+ self.assert_mapped(aliases, '/foo/bar/d1/x.py', './mysrc1/x.py')
+ self.assert_mapped(aliases, '/foo/bar/d2/y.py', './mysrc2/y.py')
class RelativePathAliasesTest(CoverageTest):