|
1 {# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 #} |
|
2 {# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt #} |
|
3 |
|
4 <!DOCTYPE html> |
|
5 <html> |
|
6 <head> |
|
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|
8 {# IE8 rounds line-height incorrectly, and adding this emulateIE7 line makes it right! #} |
|
9 {# http://social.msdn.microsoft.com/Forums/en-US/iewebdevelopment/thread/7684445e-f080-4d8f-8529-132763348e21 #} |
|
10 <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" /> |
|
11 <title>Coverage for {{relative_filename|escape}}: {{nums.pc_covered_str}}%</title> |
|
12 <link rel="icon" sizes="32x32" href="favicon_32.png"> |
|
13 <link rel="stylesheet" href="style.css" type="text/css"> |
|
14 {% if extra_css %} |
|
15 <link rel="stylesheet" href="{{ extra_css }}" type="text/css"> |
|
16 {% endif %} |
|
17 <script type="text/javascript" src="coverage_html.js" defer></script> |
|
18 </head> |
|
19 <body class="pyfile"> |
|
20 |
|
21 <header> |
|
22 <div class="content"> |
|
23 <h1> |
|
24 <span class="text">Coverage for </span><b>{{relative_filename|escape}}</b>: |
|
25 <span class="pc_cov">{{nums.pc_covered_str}}%</span> |
|
26 </h1> |
|
27 |
|
28 <div id="help_panel_wrapper"> |
|
29 <input id="help_panel_state" type="checkbox"> |
|
30 <label for="help_panel_state"> |
|
31 <img id="keyboard_icon" src="keybd_closed.png" alt="Show/hide keyboard shortcuts" /> |
|
32 </label> |
|
33 <div id="help_panel"> |
|
34 <p class="legend">Shortcuts on this page</p> |
|
35 <div> |
|
36 <p class="keyhelp"> |
|
37 <kbd>r</kbd> |
|
38 <kbd>m</kbd> |
|
39 <kbd>x</kbd> |
|
40 {% if has_arcs %} |
|
41 <kbd>p</kbd> |
|
42 {% endif %} |
|
43 toggle line displays |
|
44 </p> |
|
45 <p class="keyhelp"> |
|
46 <kbd>j</kbd> |
|
47 <kbd>k</kbd> next/prev highlighted chunk |
|
48 </p> |
|
49 <p class="keyhelp"> |
|
50 <kbd>0</kbd> (zero) top of page |
|
51 </p> |
|
52 <p class="keyhelp"> |
|
53 <kbd>1</kbd> (one) first highlighted chunk |
|
54 </p> |
|
55 </div> |
|
56 </div> |
|
57 </div> |
|
58 |
|
59 <h2> |
|
60 <span class="text">{{nums.n_statements}} statements </span> |
|
61 <button type="button" class="{{category.run}} button_toggle_run" value="run" data-shortcut="r" title="Toggle lines run">{{nums.n_executed}}<span class="text"> run</span></button> |
|
62 <button type="button" class="{{category.mis}} button_toggle_mis" value="mis" data-shortcut="m" title="Toggle lines missing">{{nums.n_missing}}<span class="text"> missing</span></button> |
|
63 <button type="button" class="{{category.exc}} button_toggle_exc" value="exc" data-shortcut="x" title="Toggle lines excluded">{{nums.n_excluded}}<span class="text"> excluded</span></button> |
|
64 {% if has_arcs %} |
|
65 <button type="button" class="{{category.par}} button_toggle_par" value="par" data-shortcut="p" title="Toggle lines partially run">{{nums.n_partial_branches}}<span class="text"> partial</span></button> |
|
66 {% endif %} |
|
67 </h2> |
|
68 |
|
69 <div style="display: none;"> |
|
70 <button type="button" class="button_next_chunk" data-shortcut="j">Next highlighted chunk</button> |
|
71 <button type="button" class="button_prev_chunk" data-shortcut="k">Previous highlighted chunk</button> |
|
72 <button type="button" class="button_top_of_page" data-shortcut="0">Goto top of page</button> |
|
73 <button type="button" class="button_first_chunk" data-shortcut="1">Goto first highlighted chunk</button> |
|
74 </div> |
|
75 </div> |
|
76 </header> |
|
77 |
|
78 <main id="source"> |
|
79 {% for line in lines -%} |
|
80 {% joined %} |
|
81 <p class="{{line.css_class}}"> |
|
82 <span class="n"><a id="t{{line.number}}" href="#t{{line.number}}">{{line.number}}</a></span> |
|
83 <span class="t">{{line.html}} </span> |
|
84 {% if line.context_list %} |
|
85 <input type="checkbox" id="ctxs{{line.number}}" /> |
|
86 {% endif %} |
|
87 {# Things that should float right in the line. #} |
|
88 <span class="r"> |
|
89 {% if line.annotate %} |
|
90 <span class="annotate short">{{line.annotate}}</span> |
|
91 <span class="annotate long">{{line.annotate_long}}</span> |
|
92 {% endif %} |
|
93 {% if line.contexts %} |
|
94 <label for="ctxs{{line.number}}" class="ctx">{{ line.contexts_label }}</label> |
|
95 {% endif %} |
|
96 </span> |
|
97 {# Things that should appear below the line. #} |
|
98 {% if line.context_list %} |
|
99 <span class="ctxs"> |
|
100 {% for context in line.context_list %} |
|
101 <span>{{context}}</span> |
|
102 {% endfor %} |
|
103 </span> |
|
104 {% endif %} |
|
105 </p> |
|
106 {% endjoined %} |
|
107 {% endfor %} |
|
108 </main> |
|
109 |
|
110 <footer> |
|
111 <div class="content"> |
|
112 <p> |
|
113 <a class="nav" href="index.html">« index</a> <a class="nav" href="{{__url__}}">coverage.py v{{__version__}}</a>, |
|
114 created at {{ time_stamp }} |
|
115 </p> |
|
116 </div> |
|
117 </footer> |
|
118 |
|
119 </body> |
|
120 </html> |