|
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 <aside 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 class="keyhelp"> |
|
32 <p> |
|
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> |
|
42 change column sorting |
|
43 </p> |
|
44 <p> |
|
45 <kbd>[</kbd> |
|
46 <kbd>]</kbd> |
|
47 prev/next file |
|
48 </p> |
|
49 <p> |
|
50 <kbd>?</kbd> show/hide this help |
|
51 </p> |
|
52 </div> |
|
53 </div> |
|
54 </aside> |
|
55 |
|
56 <form id="filter_container"> |
|
57 <input id="filter" type="text" value="" placeholder="filter..." /> |
|
58 </form> |
|
59 |
|
60 <p class="text"> |
|
61 <a class="nav" href="{{__url__}}">coverage.py v{{__version__}}</a>, |
|
62 created at {{ time_stamp }} |
|
63 </p> |
|
64 </div> |
|
65 </header> |
|
66 |
|
67 <main id="index"> |
|
68 <table class="index" data-sortable> |
|
69 <thead> |
|
70 {# The title="" attr doesn"t work in Safari. #} |
|
71 <tr class="tablehead" title="Click to sort"> |
|
72 <th class="name left" aria-sort="none" data-shortcut="n">Module</th> |
|
73 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="s">statements</th> |
|
74 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="m">missing</th> |
|
75 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="x">excluded</th> |
|
76 {% if has_arcs %} |
|
77 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="b">branches</th> |
|
78 <th aria-sort="none" data-default-sort-order="descending" data-shortcut="p">partial</th> |
|
79 {% endif %} |
|
80 <th class="right" aria-sort="none" data-shortcut="c">coverage</th> |
|
81 </tr> |
|
82 </thead> |
|
83 <tbody> |
|
84 {% for file in files %} |
|
85 <tr class="file"> |
|
86 <td class="name left"><a href="{{file.html_filename}}">{{file.relative_filename}}</a></td> |
|
87 <td>{{file.nums.n_statements}}</td> |
|
88 <td>{{file.nums.n_missing}}</td> |
|
89 <td>{{file.nums.n_excluded}}</td> |
|
90 {% if has_arcs %} |
|
91 <td>{{file.nums.n_branches}}</td> |
|
92 <td>{{file.nums.n_partial_branches}}</td> |
|
93 {% endif %} |
|
94 <td class="right" data-ratio="{{file.nums.ratio_covered|pair}}">{{file.nums.pc_covered_str}}%</td> |
|
95 </tr> |
|
96 {% endfor %} |
|
97 </tbody> |
|
98 <tfoot> |
|
99 <tr class="total"> |
|
100 <td class="name left">Total</td> |
|
101 <td>{{totals.n_statements}}</td> |
|
102 <td>{{totals.n_missing}}</td> |
|
103 <td>{{totals.n_excluded}}</td> |
|
104 {% if has_arcs %} |
|
105 <td>{{totals.n_branches}}</td> |
|
106 <td>{{totals.n_partial_branches}}</td> |
|
107 {% endif %} |
|
108 <td class="right" data-ratio="{{totals.ratio_covered|pair}}">{{totals.pc_covered_str}}%</td> |
|
109 </tr> |
|
110 </tfoot> |
|
111 </table> |
|
112 |
|
113 <p id="no_rows"> |
|
114 No items found using the specified filter. |
|
115 </p> |
|
116 |
|
117 {% if skipped_covered_msg %} |
|
118 <p>{{ skipped_covered_msg }}</p> |
|
119 {% endif %} |
|
120 {% if skipped_empty_msg %} |
|
121 <p>{{ skipped_empty_msg }}</p> |
|
122 {% endif %} |
|
123 </main> |
|
124 |
|
125 <footer> |
|
126 <div class="content"> |
|
127 <p> |
|
128 <a class="nav" href="{{__url__}}">coverage.py v{{__version__}}</a>, |
|
129 created at {{ time_stamp }} |
|
130 </p> |
|
131 </div> |
|
132 <aside class="hidden"> |
|
133 <a id="prevFileLink" class="nav" href="{{ final_html }}"/> |
|
134 <a id="nextFileLink" class="nav" href="{{ first_html }}"/> |
|
135 <button type="button" class="button_prev_file" data-shortcut="["/> |
|
136 <button type="button" class="button_next_file" data-shortcut="]"/> |
|
137 <button type="button" class="button_show_hide_help" data-shortcut="?"/> |
|
138 </aside> |
|
139 </footer> |
|
140 |
|
141 </body> |
|
142 </html> |