|
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 <title>{{ title|escape }}</title> |
|
9 <link rel="icon" sizes="32x32" href="favicon_32.png"> |
|
10 <link rel="stylesheet" href="style.css" type="text/css"> |
|
11 {% if extra_css %} |
|
12 <link rel="stylesheet" href="{{ extra_css }}" type="text/css"> |
|
13 {% endif %} |
|
14 <script type="text/javascript" src="coverage_html.js" defer></script> |
|
15 </head> |
|
16 <body class="indexfile"> |
|
17 |
|
18 <header> |
|
19 <div class="content"> |
|
20 <h1>{{ title|escape }}: |
|
21 <span class="pc_cov">{{totals.pc_covered_str}}%</span> |
|
22 </h1> |
|
23 |
|
24 <div id="help_panel_wrapper"> |
|
25 <input id="help_panel_state" type="checkbox"> |
|
26 <label for="help_panel_state"> |
|
27 <img id="keyboard_icon" src="keybd_closed.png" alt="Show/hide keyboard shortcuts" /> |
|
28 </label> |
|
29 <div id="help_panel"> |
|
30 <p class="legend">Shortcuts on this page</p> |
|
31 <div> |
|
32 <p class="keyhelp"> |
|
33 <kbd>n</kbd> |
|
34 <kbd>s</kbd> |
|
35 <kbd>m</kbd> |
|
36 <kbd>x</kbd> |
|
37 {% if has_arcs %} |
|
38 <kbd>b</kbd> |
|
39 <kbd>p</kbd> |
|
40 {% endif %} |
|
41 <kbd>c</kbd> change column sorting |
|
42 </p> |
|
43 </div> |
|
44 </div> |
|
45 </div> |
|
46 |
|
47 <form id="filter_container"> |
|
48 <input id="filter" type="text" value="" placeholder="filter..." /> |
|
49 </form> |
|
50 </div> |
|
51 </header> |
|
52 |
|
53 <main id="index"> |
|
54 <table class="index" data-sortable> |
|
55 <thead> |
|
56 {# The title="" attr doesn"t work in Safari. #} |
|
57 <tr class="tablehead" title="Click to sort"> |
|
58 <th class="name left" aria-sort="none" data-shortcut="n">Module</th> |
|
59 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="s">statements</th> |
|
60 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="m">missing</th> |
|
61 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="x">excluded</th> |
|
62 {% if has_arcs %} |
|
63 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="b">branches</th> |
|
64 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="p">partial</th> |
|
65 {% endif %} |
|
66 <th class="right" aria-sort="none" data-shortcut="c">coverage</th> |
|
67 </tr> |
|
68 </thead> |
|
69 <tbody> |
|
70 {% for file in files %} |
|
71 <tr class="file"> |
|
72 <td class="name left"><a href="{{file.html_filename}}">{{file.relative_filename}}</a></td> |
|
73 <td>{{file.nums.n_statements}}</td> |
|
74 <td>{{file.nums.n_missing}}</td> |
|
75 <td>{{file.nums.n_excluded}}</td> |
|
76 {% if has_arcs %} |
|
77 <td>{{file.nums.n_branches}}</td> |
|
78 <td>{{file.nums.n_partial_branches}}</td> |
|
79 {% endif %} |
|
80 <td class="right" data-ratio="{{file.nums.ratio_covered|pair}}">{{file.nums.pc_covered_str}}%</td> |
|
81 </tr> |
|
82 {% endfor %} |
|
83 </tbody> |
|
84 <tfoot> |
|
85 <tr class="total"> |
|
86 <td class="name left">Total</td> |
|
87 <td>{{totals.n_statements}}</td> |
|
88 <td>{{totals.n_missing}}</td> |
|
89 <td>{{totals.n_excluded}}</td> |
|
90 {% if has_arcs %} |
|
91 <td>{{totals.n_branches}}</td> |
|
92 <td>{{totals.n_partial_branches}}</td> |
|
93 {% endif %} |
|
94 <td class="right" data-ratio="{{totals.ratio_covered|pair}}">{{totals.pc_covered_str}}%</td> |
|
95 </tr> |
|
96 </tfoot> |
|
97 </table> |
|
98 |
|
99 <p id="no_rows"> |
|
100 No items found using the specified filter. |
|
101 </p> |
|
102 |
|
103 {% if skipped_covered_msg %} |
|
104 <p>{{ skipped_covered_msg }}</p> |
|
105 {% endif %} |
|
106 {% if skipped_empty_msg %} |
|
107 <p>{{ skipped_empty_msg }}</p> |
|
108 {% endif %} |
|
109 </main> |
|
110 |
|
111 <footer> |
|
112 <div class="content"> |
|
113 <p> |
|
114 <a class="nav" href="{{__url__}}">coverage.py v{{__version__}}</a>, |
|
115 created at {{ time_stamp }} |
|
116 </p> |
|
117 </div> |
|
118 </footer> |
|
119 |
|
120 </body> |
|
121 </html> |