1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# coding: utf8
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
"""Test text-based summary reporter for coverage.py"""
import collections
import unittest
import os.path
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
from coverage import summary, data, control, config
LINES_1 = {
__file__: {-1: 1, 7: 1},
os.path.join(os.path.dirname(__file__), 'helpers.py'): {-1: 1, 7: 1},
}
class TestSummaryReporterConfiguration(unittest.TestCase):
def get_coverage_data(self, lines=LINES_1):
"""Get a CoverageData object that includes the requested lines."""
data1 = data.CoverageData()
data1.add_lines(lines)
return data1
def get_summary_text(self, coverage_data, options):
"""Get text output from the SummaryReporter."""
cov = control.Coverage()
cov.data = coverage_data
printer = summary.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()
opts = config.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()
opts = config.CoverageConfig()
opts.from_args(show_missing=True)
report = self.get_summary_text(data, opts)
self.assertIn('Missing', report)
self.assertNotIn('Branch', report)
|