diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2016-06-08 22:59:51 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2016-06-08 22:59:51 -0400 |
commit | a9ac03f0c3b5f70f46262fa6ca6af22a0f191adb (patch) | |
tree | 39952ab7001d22cd50d06fec071e74fc24820acf /tests/test_summary.py | |
parent | d07bfe5cce7cfe1839483fc891aef5a0834db281 (diff) | |
download | python-coveragepy-git-a9ac03f0c3b5f70f46262fa6ca6af22a0f191adb.tar.gz |
Move test_summary_class.py into test_summary.py
Diffstat (limited to 'tests/test_summary.py')
-rw-r--r-- | tests/test_summary.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/test_summary.py b/tests/test_summary.py index 681e2042..8fb847c4 100644 --- a/tests/test_summary.py +++ b/tests/test_summary.py @@ -14,7 +14,11 @@ import sys import coverage from coverage import env from coverage.backward import StringIO +from coverage.config import CoverageConfig +from coverage.control import Coverage +from coverage.data import CoverageData from coverage.misc import output_encoding +from coverage.summary import SummaryReporter from tests.coveragetest import CoverageTest @@ -640,3 +644,59 @@ class ReportingReturnValueTest(CoverageTest): cov = self.run_coverage() val = cov.xml_report(include="*/doit.py") self.assertAlmostEqual(val, 85.7, 1) + + +LINES_1 = { + __file__: {-1: 1, 7: 1}, + os.path.join(os.path.dirname(__file__), 'helpers.py'): {-1: 1, 7: 1}, +} + + +class TestSummaryReporterConfiguration(CoverageTest): + """Tests of SummaryReporter.""" + + run_in_temp_dir = False + + def get_coverage_data(self, lines): + """Get a CoverageData object that includes the requested lines.""" + data = CoverageData() + data.add_lines(lines) + return data + + def get_summary_text(self, coverage_data, options): + """Get text output from the SummaryReporter.""" + cov = Coverage() + cov.data = coverage_data + printer = SummaryReporter(cov, options) + destination = StringIO() + printer.report([], destination) + return destination.getvalue() + + def test_defaults(self): + """Run the report with no configuration options.""" + data = self.get_coverage_data(LINES_1) + opts = CoverageConfig() + report = self.get_summary_text(data, opts) + self.assertNotIn('Missing', report) + self.assertNotIn('Branch', report) + + def test_print_missing(self): + """Run the report printing the missing lines.""" + data = self.get_coverage_data(LINES_1) + opts = CoverageConfig() + opts.from_args(show_missing=True) + report = self.get_summary_text(data, opts) + self.assertTrue('Missing' in report) + self.assertNotIn('Branch', report) + + def test_sort_report(self): + """Sort the text report.""" + data = self.get_coverage_data(LINES_1) + opts = CoverageConfig() + opts.from_args(sort='Stmts') + report = self.get_summary_text(data, opts) + # just the basename, to avoid pyc and directory name complexities + filename = os.path.splitext(os.path.basename(__file__))[0] + location1 = report.find('helpers') + location2 = report.find(filename) + self.assertTrue(location1 < location2) |