diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-06-12 20:49:02 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-06-12 20:49:02 -0400 |
commit | 91ddf99e0d892517910acbab2c5edf147d1c2baa (patch) | |
tree | 9cb8c51eb8bed024a282137ea5358ce8b99202d3 /test | |
parent | f68a3407dc3f1f9f69974837e9da623152c0f05e (diff) | |
download | python-coveragepy-git-91ddf99e0d892517910acbab2c5edf147d1c2baa.tar.gz |
Get the flat_rootname right for nested CodeUnits. Thanks, Christian Heimes.
Diffstat (limited to 'test')
-rw-r--r-- | test/modules/aa/__init__.py | 1 | ||||
-rw-r--r-- | test/modules/aa/afile.py | 1 | ||||
-rw-r--r-- | test/modules/aa/bb/__init__.py | 1 | ||||
-rw-r--r-- | test/modules/aa/bb/bfile.py | 1 | ||||
-rw-r--r-- | test/modules/aa/bb/cc/__init__.py | 0 | ||||
-rw-r--r-- | test/modules/aa/bb/cc/cfile.py | 1 | ||||
-rw-r--r-- | test/test_codeunit.py | 60 |
7 files changed, 65 insertions, 0 deletions
diff --git a/test/modules/aa/__init__.py b/test/modules/aa/__init__.py new file mode 100644 index 00000000..77593d8f --- /dev/null +++ b/test/modules/aa/__init__.py @@ -0,0 +1 @@ +# aa diff --git a/test/modules/aa/afile.py b/test/modules/aa/afile.py new file mode 100644 index 00000000..3f0e38d1 --- /dev/null +++ b/test/modules/aa/afile.py @@ -0,0 +1 @@ +# afile.py diff --git a/test/modules/aa/bb/__init__.py b/test/modules/aa/bb/__init__.py new file mode 100644 index 00000000..ffbe6240 --- /dev/null +++ b/test/modules/aa/bb/__init__.py @@ -0,0 +1 @@ +# bb diff --git a/test/modules/aa/bb/bfile.py b/test/modules/aa/bb/bfile.py new file mode 100644 index 00000000..90875404 --- /dev/null +++ b/test/modules/aa/bb/bfile.py @@ -0,0 +1 @@ +# bfile.py diff --git a/test/modules/aa/bb/cc/__init__.py b/test/modules/aa/bb/cc/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/test/modules/aa/bb/cc/__init__.py diff --git a/test/modules/aa/bb/cc/cfile.py b/test/modules/aa/bb/cc/cfile.py new file mode 100644 index 00000000..79764751 --- /dev/null +++ b/test/modules/aa/bb/cc/cfile.py @@ -0,0 +1 @@ +# cfile.py diff --git a/test/test_codeunit.py b/test/test_codeunit.py new file mode 100644 index 00000000..d03ff8d9 --- /dev/null +++ b/test/test_codeunit.py @@ -0,0 +1,60 @@ +"""Tests for coverage.codeunit""" + +import os, sys + +from coverage.codeunit import code_unit_factory +from coverage.files import FileLocator +from coveragetest import CoverageTest + +# pylint: disable-msg=F0401 +# Unable to import 'aa' (No module named aa) + +class CodeUnitTest(CoverageTest): + """Tests for coverage.codeunit""" + + def setUp(self): + super(CodeUnitTest, self).setUp() + # Parent class saves and restores sys.path, we can just modify it. + testmods = self.nice_file(os.path.dirname(__file__), 'modules') + sys.path.append(testmods) + + def test_filenames(self): + acu = code_unit_factory("aa/afile.py", FileLocator()) + bcu = code_unit_factory("aa/bb/bfile.py", FileLocator()) + ccu = code_unit_factory("aa/bb/cc/cfile.py", FileLocator()) + self.assertEqual(acu[0].name, "aa/afile") + self.assertEqual(bcu[0].name, "aa/bb/bfile") + self.assertEqual(ccu[0].name, "aa/bb/cc/cfile") + self.assertEqual(acu[0].flat_rootname(), "aa_afile") + self.assertEqual(bcu[0].flat_rootname(), "aa_bb_bfile") + self.assertEqual(ccu[0].flat_rootname(), "aa_bb_cc_cfile") + self.assertEqual(acu[0].source_file().read(), "# afile.py\n") + self.assertEqual(bcu[0].source_file().read(), "# bfile.py\n") + self.assertEqual(ccu[0].source_file().read(), "# cfile.py\n") + + def test_modules(self): + import aa, aa.bb, aa.bb.cc + cu = code_unit_factory([aa, aa.bb, aa.bb.cc], FileLocator()) + self.assertEqual(cu[0].name, "aa") + self.assertEqual(cu[1].name, "aa.bb") + self.assertEqual(cu[2].name, "aa.bb.cc") + self.assertEqual(cu[0].flat_rootname(), "aa") + self.assertEqual(cu[1].flat_rootname(), "aa_bb") + self.assertEqual(cu[2].flat_rootname(), "aa_bb_cc") + self.assertEqual(cu[0].source_file().read(), "# aa\n") + self.assertEqual(cu[1].source_file().read(), "# bb\n") + self.assertEqual(cu[2].source_file().read(), "") # yes, empty + + def test_module_files(self): + import aa.afile, aa.bb.bfile, aa.bb.cc.cfile + cu = code_unit_factory([aa.afile, aa.bb.bfile, aa.bb.cc.cfile], + FileLocator()) + self.assertEqual(cu[0].name, "aa.afile") + self.assertEqual(cu[1].name, "aa.bb.bfile") + self.assertEqual(cu[2].name, "aa.bb.cc.cfile") + self.assertEqual(cu[0].flat_rootname(), "aa_afile") + self.assertEqual(cu[1].flat_rootname(), "aa_bb_bfile") + self.assertEqual(cu[2].flat_rootname(), "aa_bb_cc_cfile") + self.assertEqual(cu[0].source_file().read(), "# afile.py\n") + self.assertEqual(cu[1].source_file().read(), "# bfile.py\n") + self.assertEqual(cu[2].source_file().read(), "# cfile.py\n") |