summaryrefslogtreecommitdiff
path: root/tests/test_html.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_html.py')
-rw-r--r--tests/test_html.py60
1 files changed, 59 insertions, 1 deletions
diff --git a/tests/test_html.py b/tests/test_html.py
index 1df602f2..1c9fa434 100644
--- a/tests/test_html.py
+++ b/tests/test_html.py
@@ -6,6 +6,7 @@
import datetime
import glob
+import json
import os
import os.path
import re
@@ -208,6 +209,27 @@ class HtmlDeltaTest(HtmlTestHelpers, CoverageTest):
fixed_index2 = index2.replace("XYZZY", self.real_coverage_version)
self.assertMultiLineEqual(index1, fixed_index2)
+ def test_status_format_change(self):
+ self.create_initial_files()
+ self.run_coverage()
+ self.remove_html_files()
+
+ with open("htmlcov/status.json") as status_json:
+ status_data = json.load(status_json)
+
+ self.assertEqual(status_data['format'], 1)
+ status_data['format'] = 2
+ with open("htmlcov/status.json", "w") as status_json:
+ json.dump(status_data, status_json)
+
+ self.run_coverage()
+
+ # All the files have been reported again.
+ self.assert_exists("htmlcov/index.html")
+ self.assert_exists("htmlcov/helper1_py.html")
+ self.assert_exists("htmlcov/main_file_py.html")
+ self.assert_exists("htmlcov/helper2_py.html")
+
class HtmlTitleTest(HtmlTestHelpers, CoverageTest):
"""Tests of the HTML title support."""
@@ -425,6 +447,40 @@ class HtmlTest(HtmlTestHelpers, CoverageTest):
self.run_coverage()
self.assert_exists("htmlcov/status.dat")
+ def test_report_skip_covered_no_branches(self):
+ self.make_file("main_file.py", """
+ import not_covered
+
+ def normal():
+ print("z")
+ normal()
+ """)
+ self.make_file("not_covered.py", """
+ def not_covered():
+ print("n")
+ """)
+ self.run_coverage(htmlargs=dict(skip_covered=True))
+ self.assert_exists("htmlcov/index.html")
+ self.assert_doesnt_exist("htmlcov/main_file_py.html")
+ self.assert_exists("htmlcov/not_covered_py.html")
+
+ def test_report_skip_covered_branches(self):
+ self.make_file("main_file.py", """
+ import not_covered
+
+ def normal():
+ print("z")
+ normal()
+ """)
+ self.make_file("not_covered.py", """
+ def not_covered():
+ print("n")
+ """)
+ self.run_coverage(covargs=dict(branch=True), htmlargs=dict(skip_covered=True))
+ self.assert_exists("htmlcov/index.html")
+ self.assert_doesnt_exist("htmlcov/main_file_py.html")
+ self.assert_exists("htmlcov/not_covered_py.html")
+
class HtmlStaticFileTest(CoverageTest):
"""Tests of the static file copying for the HTML report."""
@@ -686,7 +742,7 @@ class HtmlGoldTests(CoverageGoldTest):
with change_dir("src"):
# pylint: disable=import-error
- cov = coverage.Coverage(branch=True)
+ cov = coverage.Coverage(config_file="partial.ini")
cov.start()
import partial # pragma: nested
cov.stop() # pragma: nested
@@ -700,6 +756,8 @@ class HtmlGoldTests(CoverageGoldTest):
'<p id="t14" class="stm run hide_run">',
# The "if 0" and "if 1" statements are optimized away.
'<p id="t17" class="pln">',
+ # The "raise AssertionError" is excluded by regex in the .ini.
+ '<p id="t24" class="exc">',
)
contains(
"out/partial/index.html",