diff options
-rw-r--r-- | TODO.txt | 5 | ||||
-rw-r--r-- | coverage/html.py | 5 | ||||
-rw-r--r-- | coverage/htmlfiles/pyfile.html | 2 | ||||
-rw-r--r-- | coverage/htmlfiles/style.css | 11 | ||||
-rw-r--r-- | test/farm/html/gold_other/style.css | 37 |
5 files changed, 46 insertions, 14 deletions
@@ -2,14 +2,15 @@ Coverage TODO * 3.2
-- Some kind of indication in the HTML where yellow lines aren't going.
++ Some kind of indication in the HTML where yellow lines aren't going.
- Profile the reporting code: it's REALLY slow.
- parser is doing some redundant work.
- while TRUE claims to be partial?
+ Analysis class should do rolling up of stats also (actually Numbers)
- Update docs for --branch.
- self.coverage.data.has_arcs is ugly.
-
+- Branches that never jump to nocover lines shouldn't be marked as partial.
+ (see top of test_cogapp for examples)
* Speed
diff --git a/coverage/html.py b/coverage/html.py index b5923351..dd769b57 100644 --- a/coverage/html.py +++ b/coverage/html.py @@ -114,6 +114,7 @@ class HtmlReporter(Reporter): if part == '\n': line_class = "" + annotate = "" if lineno in analysis.statements: line_class += " stm" if lineno in analysis.excluded: @@ -123,13 +124,15 @@ class HtmlReporter(Reporter): elif self.arcs and lineno in missing_branch_arcs: line_class += c_par n_par += 1 + annotate = " ".join(map(str, missing_branch_arcs[lineno])) elif lineno in analysis.statements: line_class += c_run lineinfo = { 'html': "".join(line), 'number': lineno, - 'class': line_class.strip() or "pln" + 'class': line_class.strip() or "pln", + 'annotate': annotate, } lines.append(lineinfo) diff --git a/coverage/htmlfiles/pyfile.html b/coverage/htmlfiles/pyfile.html index 8ae27eab..ca65152d 100644 --- a/coverage/htmlfiles/pyfile.html +++ b/coverage/htmlfiles/pyfile.html @@ -47,7 +47,7 @@ function toggle_lines(btn, cls) { </td>
<td class='text' valign='top'>
{% for line in lines %}
- <p class='{{line.class}}'>{{line.html}}<span class="strut"> </span></p>
+ <p class='{{line.class}}'>{% if line.annotate %}<span class='annotate'>{{line.annotate}}</span>{% endif %}{{line.html}}<span class='strut'> </span></p>
{% endfor %}
</td>
</tr>
diff --git a/coverage/htmlfiles/style.css b/coverage/htmlfiles/style.css index 7c2ae797..65a27905 100644 --- a/coverage/htmlfiles/style.css +++ b/coverage/htmlfiles/style.css @@ -133,6 +133,17 @@ td.text { background: inherit; } +.text span.annotate { + font-family: georgia; + font-style: italic; + color: #666; + float: right; + padding-right: .5em; + } +.text p.hide span.annotate { + display: none; + } + /* Syntax coloring */ .text .com { color: green; diff --git a/test/farm/html/gold_other/style.css b/test/farm/html/gold_other/style.css index 34ab10e3..65a27905 100644 --- a/test/farm/html/gold_other/style.css +++ b/test/farm/html/gold_other/style.css @@ -125,23 +125,38 @@ td.text { background: #eeeeee; border-left: 2px solid #808080; } +.text p.par { + background: #ffffaa; + border-left: 2px solid #eeee99; + } .text p.hide { background: inherit; } -/* Syntax coloring */ -.text .com { - color: green; +.text span.annotate { + font-family: georgia; font-style: italic; - line-height: 1px; + color: #666; + float: right; + padding-right: .5em; } -.text .key { - font-weight: bold; - line-height: 1px; +.text p.hide span.annotate { + display: none; } + +/* Syntax coloring */ +.text .com { + color: green; + font-style: italic; + line-height: 1px; + } +.text .key { + font-weight: bold; + line-height: 1px; + } .text .str { - color: #000080; - } + color: #000080; + } /* index styles */ #index td, #index th { @@ -158,7 +173,6 @@ td.text { #index td.name, #index th.name { text-align: left; width: auto; - height: 1.5em; } #index td.name a { text-decoration: none; @@ -176,3 +190,6 @@ td.text { border-top: 1px solid #ccc; border-bottom: none; } +#index tr.file:hover { + background: #eeeeee; + } |