summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.txt5
-rw-r--r--coverage/html.py5
-rw-r--r--coverage/htmlfiles/pyfile.html2
-rw-r--r--coverage/htmlfiles/style.css11
-rw-r--r--test/farm/html/gold_other/style.css37
5 files changed, 46 insertions, 14 deletions
diff --git a/TODO.txt b/TODO.txt
index e730a2dd..cde78cb4 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -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">&nbsp;</span></p>
+ <p class='{{line.class}}'>{% if line.annotate %}<span class='annotate'>{{line.annotate}}</span>{% endif %}{{line.html}}<span class='strut'>&nbsp;</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;
+ }