summaryrefslogtreecommitdiff
path: root/test/test_html.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2011-03-27 19:33:58 -0400
committerNed Batchelder <ned@nedbatchelder.com>2011-03-27 19:33:58 -0400
commitbd2d03cd5a66d9014277624ff0e2b43a8741e25d (patch)
treeb8ddaff9890eb1a3667b07dd0ea59288c06372a0 /test/test_html.py
parent527ba191faed1cb5a2d4fd2206114de2748a3dfe (diff)
downloadpython-coveragepy-git-bd2d03cd5a66d9014277624ff0e2b43a8741e25d.tar.gz
HTML incremental generation should also take the coverage.py version into account: a new version means scrap everything and do it all.
Diffstat (limited to 'test/test_html.py')
-rw-r--r--test/test_html.py36
1 files changed, 35 insertions, 1 deletions
diff --git a/test/test_html.py b/test/test_html.py
index ad03f054..c7b56576 100644
--- a/test/test_html.py
+++ b/test/test_html.py
@@ -8,6 +8,17 @@ from coveragetest import CoverageTest
class HtmlTest(CoverageTest):
"""HTML!"""
+ def setUp(self):
+ super(HtmlTest, self).setUp()
+
+ # At least one of our tests monkey-patches the version of coverage,
+ # so grab it here to restore it later.
+ self.real_coverage_version = coverage.__version__
+
+ def tearDown(self):
+ coverage.__version__ = self.real_coverage_version
+ super(HtmlTest, self).tearDown()
+
def create_initial_files(self):
"""Create the source files we need to run these tests."""
self.make_file("main_file.py", """\
@@ -111,7 +122,7 @@ class HtmlTest(CoverageTest):
self.run_coverage(timid=True)
- # Only the changed files should have been created.
+ # All the files have been reported again.
self.assert_exists("htmlcov/index.html")
self.assert_exists("htmlcov/helper1.html")
self.assert_exists("htmlcov/main_file.html")
@@ -119,3 +130,26 @@ class HtmlTest(CoverageTest):
index2 = open("htmlcov/index.html").read()
self.assertMultiLineEqual(index1, index2)
+ def test_html_delta_from_coverage_version_change(self):
+ # HTML generation can create only the files that have changed.
+ # In this case, everything changes because the coverage version has
+ # changed.
+ self.create_initial_files()
+ self.run_coverage()
+ index1 = open("htmlcov/index.html").read()
+ self.remove_html_files()
+
+ # "Upgrade" coverage.py!
+ coverage.__version__ = "XYZZY"
+
+ self.run_coverage()
+
+ # All the files have been reported again.
+ self.assert_exists("htmlcov/index.html")
+ self.assert_exists("htmlcov/helper1.html")
+ self.assert_exists("htmlcov/main_file.html")
+ self.assert_exists("htmlcov/helper2.html")
+ index2 = open("htmlcov/index.html").read()
+ fixed_index2 = index2.replace("XYZZY", self.real_coverage_version)
+ self.assertMultiLineEqual(index1, fixed_index2)
+