mirror of
https://github.com/Ukendio/jecs.git
synced 2025-04-24 17:10:03 +00:00
Styling on coverage reports
Some checks failed
Some checks failed
This commit is contained in:
parent
dd9db448e3
commit
9800355131
8 changed files with 1015 additions and 987 deletions
10
coverage/ansi.luau.html
vendored
10
coverage/ansi.luau.html
vendored
|
@ -2,12 +2,16 @@
|
|||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
|
||||
<style>
|
||||
body { font-family: monospace; font-size: 16px; }
|
||||
body { font-family: monospace; text-align: center; }
|
||||
#funcTable table { margin: 0 auto; width: auto; max-width: 300px; font-size: 14px; border-collapse: collapse; }
|
||||
#funcTable th, #funcTable td { padding: 2px 6px; text-align: left; white-space: nowrap; }
|
||||
#funcTable th { background-color: #ddd; }
|
||||
#funcTable td:nth-child(2) { text-align: right; min-width: 50px; }
|
||||
.zero-hits { background-color: #fcc; font-weight: bold; color: red; }
|
||||
.nonzero-hits { color: green; font-weight: bold; }
|
||||
.low-hits { background-color: #ffe6b3; }
|
||||
.high-hits { background-color: #cfc; }
|
||||
th, td { padding: 0px; font-size: 12px; }
|
||||
.source-code-table { margin-left: 10px; }th, td { padding: 0px; font-size: 12px; }
|
||||
table.table { font-size: 14px; border-collapse: collapse; }
|
||||
table.table th, table.table td { padding: 1px; font-size: 12px; line-height: 1.2; }
|
||||
table.table tr { height: auto; }
|
||||
|
@ -28,7 +32,7 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 18ch;">green_highlight:26</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 18ch;">gray:30</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
</tbody></table></div>
|
||||
<h2>Source Code:</h2><table class="table table-bordered"><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<h2>Source Code:</h2><table class="table table-bordered source-code-table "><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<tr><td>1</td><td>1</td><td><span class=high-hits>return {</span></td></tr>
|
||||
<tr><td>2</td><td>1</td><td><span class=high-hits>white_underline = function(s: any)</span></td></tr>
|
||||
<tr><td>3</td><td>0</td><td><span class=zero-hits>return `\27[1;4m{s}\27[0m`</span></td></tr>
|
||||
|
|
10
coverage/entity_visualiser.luau.html
vendored
10
coverage/entity_visualiser.luau.html
vendored
|
@ -2,12 +2,16 @@
|
|||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
|
||||
<style>
|
||||
body { font-family: monospace; font-size: 16px; }
|
||||
body { font-family: monospace; text-align: center; }
|
||||
#funcTable table { margin: 0 auto; width: auto; max-width: 300px; font-size: 14px; border-collapse: collapse; }
|
||||
#funcTable th, #funcTable td { padding: 2px 6px; text-align: left; white-space: nowrap; }
|
||||
#funcTable th { background-color: #ddd; }
|
||||
#funcTable td:nth-child(2) { text-align: right; min-width: 50px; }
|
||||
.zero-hits { background-color: #fcc; font-weight: bold; color: red; }
|
||||
.nonzero-hits { color: green; font-weight: bold; }
|
||||
.low-hits { background-color: #ffe6b3; }
|
||||
.high-hits { background-color: #cfc; }
|
||||
th, td { padding: 0px; font-size: 12px; }
|
||||
.source-code-table { margin-left: 10px; }th, td { padding: 0px; font-size: 12px; }
|
||||
table.table { font-size: 14px; border-collapse: collapse; }
|
||||
table.table th, table.table td { padding: 1px; font-size: 12px; line-height: 1.2; }
|
||||
table.table tr { height: auto; }
|
||||
|
@ -23,7 +27,7 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 13ch;">name:11</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 13ch;">components:15</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
</tbody></table></div>
|
||||
<h2>Source Code:</h2><table class="table table-bordered"><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<h2>Source Code:</h2><table class="table table-bordered source-code-table "><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<tr><td>1</td><td>1</td><td><span class=high-hits>local jecs = require("@jecs")</span></td></tr>
|
||||
<tr><td>2</td><td>1</td><td><span class=high-hits>local ECS_GENERATION = jecs.ECS_GENERATION</span></td></tr>
|
||||
<tr><td>3</td><td>1</td><td><span class=high-hits>local ECS_ID = jecs.ECS_ID</span></td></tr>
|
||||
|
|
6
coverage/index.html
vendored
6
coverage/index.html
vendored
|
@ -3,9 +3,9 @@
|
|||
</head><body>
|
||||
<h1 class="text-center">Coverage Report</h1>
|
||||
<table class="table table-striped table-bordered"><thead><tr><th>File</th><th>Total Hits</th><th>Functions</th></tr></thead><tbody>
|
||||
<tr><td><a href="tests.luau.html">tests.luau</a></td><td>72</td><td>67</td></tr>
|
||||
<tr><td><a href="jecs.luau.html">jecs.luau</a></td><td>161937</td><td>98</td></tr>
|
||||
<tr><td><a href="testkit.luau.html">testkit.luau</a></td><td>615</td><td>31</td></tr>
|
||||
<tr><td><a href="tests.luau.html">tests.luau</a></td><td>100</td><td>67</td></tr>
|
||||
<tr><td><a href="jecs.luau.html">jecs.luau</a></td><td>1006447</td><td>97</td></tr>
|
||||
<tr><td><a href="testkit.luau.html">testkit.luau</a></td><td>1826</td><td>31</td></tr>
|
||||
<tr><td><a href="lifetime_tracker.luau.html">lifetime_tracker.luau</a></td><td>1</td><td>11</td></tr>
|
||||
<tr><td><a href="entity_visualiser.luau.html">entity_visualiser.luau</a></td><td>1</td><td>4</td></tr>
|
||||
<tr><td><a href="ansi.luau.html">ansi.luau</a></td><td>1</td><td>9</td></tr>
|
||||
|
|
1801
coverage/jecs.luau.html
vendored
1801
coverage/jecs.luau.html
vendored
File diff suppressed because it is too large
Load diff
10
coverage/lifetime_tracker.luau.html
vendored
10
coverage/lifetime_tracker.luau.html
vendored
|
@ -2,12 +2,16 @@
|
|||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
|
||||
<style>
|
||||
body { font-family: monospace; font-size: 16px; }
|
||||
body { font-family: monospace; text-align: center; }
|
||||
#funcTable table { margin: 0 auto; width: auto; max-width: 300px; font-size: 14px; border-collapse: collapse; }
|
||||
#funcTable th, #funcTable td { padding: 2px 6px; text-align: left; white-space: nowrap; }
|
||||
#funcTable th { background-color: #ddd; }
|
||||
#funcTable td:nth-child(2) { text-align: right; min-width: 50px; }
|
||||
.zero-hits { background-color: #fcc; font-weight: bold; color: red; }
|
||||
.nonzero-hits { color: green; font-weight: bold; }
|
||||
.low-hits { background-color: #ffe6b3; }
|
||||
.high-hits { background-color: #cfc; }
|
||||
th, td { padding: 0px; font-size: 12px; }
|
||||
.source-code-table { margin-left: 10px; }th, td { padding: 0px; font-size: 12px; }
|
||||
table.table { font-size: 14px; border-collapse: collapse; }
|
||||
table.table th, table.table td { padding: 1px; font-size: 12px; line-height: 1.2; }
|
||||
table.table tr { height: auto; }
|
||||
|
@ -30,7 +34,7 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 24ch;"><anonymous>:164</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 24ch;"><anonymous>:175</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
</tbody></table></div>
|
||||
<h2>Source Code:</h2><table class="table table-bordered"><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<h2>Source Code:</h2><table class="table table-bordered source-code-table "><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<tr><td>1</td><td>1</td><td><span class=high-hits>local jecs = require("@jecs")</span></td></tr>
|
||||
<tr><td>2</td><td>1</td><td><span class=high-hits>local ECS_GENERATION = jecs.ECS_GENERATION</span></td></tr>
|
||||
<tr><td>3</td><td>1</td><td><span class=high-hits>local ECS_ID = jecs.ECS_ID</span></td></tr>
|
||||
|
|
90
coverage/testkit.luau.html
vendored
90
coverage/testkit.luau.html
vendored
|
@ -2,19 +2,23 @@
|
|||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
|
||||
<style>
|
||||
body { font-family: monospace; font-size: 16px; }
|
||||
body { font-family: monospace; text-align: center; }
|
||||
#funcTable table { margin: 0 auto; width: auto; max-width: 300px; font-size: 14px; border-collapse: collapse; }
|
||||
#funcTable th, #funcTable td { padding: 2px 6px; text-align: left; white-space: nowrap; }
|
||||
#funcTable th { background-color: #ddd; }
|
||||
#funcTable td:nth-child(2) { text-align: right; min-width: 50px; }
|
||||
.zero-hits { background-color: #fcc; font-weight: bold; color: red; }
|
||||
.nonzero-hits { color: green; font-weight: bold; }
|
||||
.low-hits { background-color: #ffe6b3; }
|
||||
.high-hits { background-color: #cfc; }
|
||||
th, td { padding: 0px; font-size: 12px; }
|
||||
.source-code-table { margin-left: 10px; }th, td { padding: 0px; font-size: 12px; }
|
||||
table.table { font-size: 14px; border-collapse: collapse; }
|
||||
table.table th, table.table td { padding: 1px; font-size: 12px; line-height: 1.2; }
|
||||
table.table tr { height: auto; }
|
||||
</style></head><body>
|
||||
<h1 class="text-center">testkit.luau Coverage</h1>
|
||||
<h2>Total Execution Hits: 615</h2>
|
||||
<h2>Function Coverage Overview: 54.84%</h2>
|
||||
<h2>Total Execution Hits: 1826</h2>
|
||||
<h2>Function Coverage Overview: 64.52%</h2>
|
||||
<button class="btn btn-primary mb-2" type="button" data-bs-toggle="collapse" data-bs-target="#funcTable">Toggle Function Coverage</button>
|
||||
<div class="collapse show" id="funcTable">
|
||||
<h2>Function Coverage:</h2><table class="table table-bordered"><thead><tr><th>Function</th><th>Hits</th></tr></thead><tbody>
|
||||
|
@ -30,18 +34,18 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 22ch;">orange:43</td><td style="padding: 1px; color: green; font-weight: bold;">73</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">convert_units:48</td><td style="padding: 1px; color: green; font-weight: bold;">6</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">output_test_result:131</td><td style="padding: 1px; color: green; font-weight: bold;">24</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">CASE:169</td><td style="padding: 1px; color: green; font-weight: bold;">64</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">CHECK_EXPECT_ERR:183</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">CHECK:201</td><td style="padding: 1px; color: green; font-weight: bold;">9</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">CASE:169</td><td style="padding: 1px; color: green; font-weight: bold;">73</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">CHECK_EXPECT_ERR:183</td><td style="padding: 1px; color: green; font-weight: bold;">9</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">CHECK:201</td><td style="padding: 1px; color: green; font-weight: bold;">1195</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">TEST:224</td><td style="padding: 1px; color: green; font-weight: bold;">24</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">FOCUS:237</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">FINISH:248</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">FINISH:248</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:264</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">SKIP:314</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">START:330</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">BENCH:342</td><td style="padding: 1px; color: green; font-weight: bold;">3</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:354</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">round:372</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">round:372</td><td style="padding: 1px; color: green; font-weight: bold;">6</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">print2:396</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">tos:401</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">shallow_eq:480</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
|
@ -50,7 +54,7 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 22ch;">benchmark:545</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">disable_formatting:549</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
</tbody></table></div>
|
||||
<h2>Source Code:</h2><table class="table table-bordered"><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<h2>Source Code:</h2><table class="table table-bordered source-code-table "><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<tr><td>1</td><td><span class='text-muted'>N/A</span></td><td>--------------------------------------------------------------------------------</td>></tr>
|
||||
<tr><td>2</td><td><span class='text-muted'>N/A</span></td><td>-- testkit.luau</td>></tr>
|
||||
<tr><td>3</td><td><span class='text-muted'>N/A</span></td><td>-- v0.7.3</td>></tr>
|
||||
|
@ -70,15 +74,15 @@ table.table tr { height: auto; }
|
|||
<tr><td>17</td><td><span class='text-muted'>N/A</span></td><td>end,</td>></tr>
|
||||
<tr><td>18</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>19</td><td>1</td><td><span class=low-hits>green = function(s: string): string</span></td></tr>
|
||||
<tr><td>20</td><td>77</td><td><span class=high-hits>return if disable_ansi then s else `\27[32;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>20</td><td>77</td><td><span class=low-hits>return if disable_ansi then s else `\27[32;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>21</td><td><span class='text-muted'>N/A</span></td><td>end,</td>></tr>
|
||||
<tr><td>22</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>23</td><td>1</td><td><span class=low-hits>red = function(s: string): string</span></td></tr>
|
||||
<tr><td>24</td><td>146</td><td><span class=high-hits>return if disable_ansi then s else `\27[31;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>24</td><td>146</td><td><span class=low-hits>return if disable_ansi then s else `\27[31;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>25</td><td><span class='text-muted'>N/A</span></td><td>end,</td>></tr>
|
||||
<tr><td>26</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>27</td><td>1</td><td><span class=low-hits>yellow = function(s: string): string</span></td></tr>
|
||||
<tr><td>28</td><td>76</td><td><span class=high-hits>return if disable_ansi then s else `\27[33;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>28</td><td>76</td><td><span class=low-hits>return if disable_ansi then s else `\27[33;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>29</td><td><span class='text-muted'>N/A</span></td><td>end,</td>></tr>
|
||||
<tr><td>30</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>31</td><td>1</td><td><span class=low-hits>red_highlight = function(s: string): string</span></td></tr>
|
||||
|
@ -90,11 +94,11 @@ table.table tr { height: auto; }
|
|||
<tr><td>37</td><td><span class='text-muted'>N/A</span></td><td>end,</td>></tr>
|
||||
<tr><td>38</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>39</td><td>1</td><td><span class=low-hits>gray = function(s: string): string</span></td></tr>
|
||||
<tr><td>40</td><td>84</td><td><span class=high-hits>return if disable_ansi then s else `\27[38;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>40</td><td>84</td><td><span class=low-hits>return if disable_ansi then s else `\27[38;1m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>41</td><td><span class='text-muted'>N/A</span></td><td>end,</td>></tr>
|
||||
<tr><td>42</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>43</td><td>1</td><td><span class=low-hits>orange = function(s: string): string</span></td></tr>
|
||||
<tr><td>44</td><td>73</td><td><span class=high-hits>return if disable_ansi then s else `\27[38;5;208m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>44</td><td>73</td><td><span class=low-hits>return if disable_ansi then s else `\27[38;5;208m{s}\27[0m`</span></td></tr>
|
||||
<tr><td>45</td><td><span class='text-muted'>N/A</span></td><td>end,</td>></tr>
|
||||
<tr><td>46</td><td>0</td><td><span class=zero-hits>}</span></td></tr>
|
||||
<tr><td>47</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
|
@ -141,9 +145,9 @@ table.table tr { height: auto; }
|
|||
<tr><td>88</td><td>6</td><td><span class=low-hits>if value >= 100 then</span></td></tr>
|
||||
<tr><td>89</td><td>1</td><td><span class=low-hits>value = math.floor(value)</span></td></tr>
|
||||
<tr><td>90</td><td>5</td><td><span class=low-hits>elseif value >= 10 then</span></td></tr>
|
||||
<tr><td>91</td><td>1</td><td><span class=low-hits>value = math.floor(value * 1e1) / 1e1</span></td></tr>
|
||||
<tr><td>92</td><td>4</td><td><span class=low-hits>elseif value >= 1 then</span></td></tr>
|
||||
<tr><td>93</td><td>2</td><td><span class=low-hits>value = math.floor(value * 1e2) / 1e2</span></td></tr>
|
||||
<tr><td>91</td><td>2</td><td><span class=low-hits>value = math.floor(value * 1e1) / 1e1</span></td></tr>
|
||||
<tr><td>92</td><td>3</td><td><span class=low-hits>elseif value >= 1 then</span></td></tr>
|
||||
<tr><td>93</td><td>1</td><td><span class=low-hits>value = math.floor(value * 1e2) / 1e2</span></td></tr>
|
||||
<tr><td>94</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>95</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>96</td><td>6</td><td><span class=low-hits>return value * sign, prefix_colors[order](prefixes[order] .. unit)</span></td></tr>
|
||||
|
@ -196,19 +200,19 @@ table.table tr { height: auto; }
|
|||
<tr><td>143</td><td>24</td><td><span class=low-hits>print(color.white(test.name))</span></td></tr>
|
||||
<tr><td>144</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>145</td><td>24</td><td><span class=low-hits>for _, case in test.cases do</span></td></tr>
|
||||
<tr><td>146</td><td>73</td><td><span class=high-hits>local status = ({</span></td></tr>
|
||||
<tr><td>147</td><td>73</td><td><span class=high-hits>[PASS] = color.green("PASS"),</span></td></tr>
|
||||
<tr><td>148</td><td>73</td><td><span class=high-hits>[FAIL] = color.red("FAIL"),</span></td></tr>
|
||||
<tr><td>149</td><td>73</td><td><span class=high-hits>[NONE] = color.orange("NONE"),</span></td></tr>
|
||||
<tr><td>150</td><td>73</td><td><span class=high-hits>[ERROR] = color.red("FAIL"),</span></td></tr>
|
||||
<tr><td>151</td><td>73</td><td><span class=high-hits>[SKIPPED] = color.yellow("SKIP"),</span></td></tr>
|
||||
<tr><td>152</td><td>73</td><td><span class=high-hits>})[case.result]</span></td></tr>
|
||||
<tr><td>146</td><td>73</td><td><span class=low-hits>local status = ({</span></td></tr>
|
||||
<tr><td>147</td><td>73</td><td><span class=low-hits>[PASS] = color.green("PASS"),</span></td></tr>
|
||||
<tr><td>148</td><td>73</td><td><span class=low-hits>[FAIL] = color.red("FAIL"),</span></td></tr>
|
||||
<tr><td>149</td><td>73</td><td><span class=low-hits>[NONE] = color.orange("NONE"),</span></td></tr>
|
||||
<tr><td>150</td><td>73</td><td><span class=low-hits>[ERROR] = color.red("FAIL"),</span></td></tr>
|
||||
<tr><td>151</td><td>73</td><td><span class=low-hits>[SKIPPED] = color.yellow("SKIP"),</span></td></tr>
|
||||
<tr><td>152</td><td>73</td><td><span class=low-hits>})[case.result]</span></td></tr>
|
||||
<tr><td>153</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>154</td><td>73</td><td><span class=high-hits>local line = case.result == FAIL and color.red(`{case.line}:`) or ""</span></td></tr>
|
||||
<tr><td>155</td><td>73</td><td><span class=high-hits>if check_for_focused and case.focus == false and test.focus == false then</span></td></tr>
|
||||
<tr><td>154</td><td>73</td><td><span class=low-hits>local line = case.result == FAIL and color.red(`{case.line}:`) or ""</span></td></tr>
|
||||
<tr><td>155</td><td>73</td><td><span class=low-hits>if check_for_focused and case.focus == false and test.focus == false then</span></td></tr>
|
||||
<tr><td>156</td><td>0</td><td><span class=zero-hits>continue</span></td></tr>
|
||||
<tr><td>157</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>158</td><td>73</td><td><span class=high-hits>print(`{status}{WALL} {line}{color.gray(case.name)}`)</span></td></tr>
|
||||
<tr><td>158</td><td>73</td><td><span class=low-hits>print(`{status}{WALL} {line}{color.gray(case.name)}`)</span></td></tr>
|
||||
<tr><td>159</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>160</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>161</td><td>24</td><td><span class=low-hits>if test.error then</span></td></tr>
|
||||
|
@ -220,17 +224,17 @@ table.table tr { height: auto; }
|
|||
<tr><td>167</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>168</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>169</td><td>1</td><td><span class=low-hits>local function CASE(name: string)</span></td></tr>
|
||||
<tr><td>170</td><td>0</td><td><span class=zero-hits>skip = false</span></td></tr>
|
||||
<tr><td>171</td><td>0</td><td><span class=zero-hits>assert(test, "no active test")</span></td></tr>
|
||||
<tr><td>170</td><td>73</td><td><span class=low-hits>skip = false</span></td></tr>
|
||||
<tr><td>171</td><td>73</td><td><span class=low-hits>assert(test, "no active test")</span></td></tr>
|
||||
<tr><td>172</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>173</td><td>0</td><td><span class=zero-hits>local case = {</span></td></tr>
|
||||
<tr><td>174</td><td>0</td><td><span class=zero-hits>name = name,</span></td></tr>
|
||||
<tr><td>175</td><td>0</td><td><span class=zero-hits>result = NONE,</span></td></tr>
|
||||
<tr><td>176</td><td>0</td><td><span class=zero-hits>focus = false,</span></td></tr>
|
||||
<tr><td>173</td><td>73</td><td><span class=low-hits>local case = {</span></td></tr>
|
||||
<tr><td>174</td><td>73</td><td><span class=low-hits>name = name,</span></td></tr>
|
||||
<tr><td>175</td><td>73</td><td><span class=low-hits>result = NONE,</span></td></tr>
|
||||
<tr><td>176</td><td>73</td><td><span class=low-hits>focus = false,</span></td></tr>
|
||||
<tr><td>177</td><td>0</td><td><span class=zero-hits>}</span></td></tr>
|
||||
<tr><td>178</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>179</td><td>0</td><td><span class=zero-hits>test.case = case</span></td></tr>
|
||||
<tr><td>180</td><td>0</td><td><span class=zero-hits>table.insert(test.cases, case)</span></td></tr>
|
||||
<tr><td>179</td><td>73</td><td><span class=low-hits>test.case = case</span></td></tr>
|
||||
<tr><td>180</td><td>73</td><td><span class=low-hits>table.insert(test.cases, case)</span></td></tr>
|
||||
<tr><td>181</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>182</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>183</td><td>1</td><td><span class=low-hits>local function CHECK_EXPECT_ERR(fn, ...)</span></td></tr>
|
||||
|
@ -334,15 +338,15 @@ table.table tr { height: auto; }
|
|||
<tr><td>281</td><td>1</td><td><span class=low-hits>for _, test in tests do</span></td></tr>
|
||||
<tr><td>282</td><td>24</td><td><span class=low-hits>duration += test.duration</span></td></tr>
|
||||
<tr><td>283</td><td>24</td><td><span class=low-hits>for _, case in test.cases do</span></td></tr>
|
||||
<tr><td>284</td><td>73</td><td><span class=high-hits>total_cases += 1</span></td></tr>
|
||||
<tr><td>285</td><td>73</td><td><span class=high-hits>if case.focus or test.focus then</span></td></tr>
|
||||
<tr><td>284</td><td>73</td><td><span class=low-hits>total_cases += 1</span></td></tr>
|
||||
<tr><td>285</td><td>73</td><td><span class=low-hits>if case.focus or test.focus then</span></td></tr>
|
||||
<tr><td>286</td><td>0</td><td><span class=zero-hits>total_focus_cases += 1</span></td></tr>
|
||||
<tr><td>287</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>288</td><td>73</td><td><span class=high-hits>if case.result == PASS or case.result == NONE or case.result == SKIPPED then</span></td></tr>
|
||||
<tr><td>289</td><td>73</td><td><span class=high-hits>if case.focus or test.focus then</span></td></tr>
|
||||
<tr><td>288</td><td>73</td><td><span class=low-hits>if case.result == PASS or case.result == NONE or case.result == SKIPPED then</span></td></tr>
|
||||
<tr><td>289</td><td>73</td><td><span class=low-hits>if case.focus or test.focus then</span></td></tr>
|
||||
<tr><td>290</td><td>0</td><td><span class=zero-hits>passed_focus_cases += 1</span></td></tr>
|
||||
<tr><td>291</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>292</td><td>73</td><td><span class=high-hits>passed_cases += 1</span></td></tr>
|
||||
<tr><td>292</td><td>73</td><td><span class=low-hits>passed_cases += 1</span></td></tr>
|
||||
<tr><td>293</td><td>0</td><td><span class=zero-hits>else</span></td></tr>
|
||||
<tr><td>294</td><td>0</td><td><span class=zero-hits>success = false</span></td></tr>
|
||||
<tr><td>295</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
|
@ -423,8 +427,8 @@ table.table tr { height: auto; }
|
|||
<tr><td>370</td><td>3</td><td><span class=low-hits>local a, a_unit = convert_units("B", math.round((mem_stop - mem_start) / n * 1e3))</span></td></tr>
|
||||
<tr><td>371</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>372</td><td>3</td><td><span class=low-hits>local function round(x: number): string</span></td></tr>
|
||||
<tr><td>373</td><td>0</td><td><span class=zero-hits>return x > 0 and x < 10 and (x - math.floor(x)) > 0 and string.format("%2.1f", x)</span></td></tr>
|
||||
<tr><td>374</td><td>0</td><td><span class=zero-hits>or string.format("%3.f", x)</span></td></tr>
|
||||
<tr><td>373</td><td>6</td><td><span class=low-hits>return x > 0 and x < 10 and (x - math.floor(x)) > 0 and string.format("%2.1f", x)</span></td></tr>
|
||||
<tr><td>374</td><td>6</td><td><span class=low-hits>or string.format("%3.f", x)</span></td></tr>
|
||||
<tr><td>375</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>376</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>377</td><td>3</td><td><span class=low-hits>print(</span></td></tr>
|
||||
|
|
58
coverage/tests.luau.html
vendored
58
coverage/tests.luau.html
vendored
|
@ -2,19 +2,23 @@
|
|||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
|
||||
<style>
|
||||
body { font-family: monospace; font-size: 16px; }
|
||||
body { font-family: monospace; text-align: center; }
|
||||
#funcTable table { margin: 0 auto; width: auto; max-width: 300px; font-size: 14px; border-collapse: collapse; }
|
||||
#funcTable th, #funcTable td { padding: 2px 6px; text-align: left; white-space: nowrap; }
|
||||
#funcTable th { background-color: #ddd; }
|
||||
#funcTable td:nth-child(2) { text-align: right; min-width: 50px; }
|
||||
.zero-hits { background-color: #fcc; font-weight: bold; color: red; }
|
||||
.nonzero-hits { color: green; font-weight: bold; }
|
||||
.low-hits { background-color: #ffe6b3; }
|
||||
.high-hits { background-color: #cfc; }
|
||||
th, td { padding: 0px; font-size: 12px; }
|
||||
.source-code-table { margin-left: 10px; }th, td { padding: 0px; font-size: 12px; }
|
||||
table.table { font-size: 14px; border-collapse: collapse; }
|
||||
table.table th, table.table td { padding: 1px; font-size: 12px; line-height: 1.2; }
|
||||
table.table tr { height: auto; }
|
||||
</style></head><body>
|
||||
<h1 class="text-center">tests.luau Coverage</h1>
|
||||
<h2>Total Execution Hits: 72</h2>
|
||||
<h2>Function Coverage Overview: 79.10%</h2>
|
||||
<h2>Total Execution Hits: 100</h2>
|
||||
<h2>Function Coverage Overview: 83.58%</h2>
|
||||
<button class="btn btn-primary mb-2" type="button" data-bs-toggle="collapse" data-bs-target="#funcTable">Toggle Function Coverage</button>
|
||||
<div class="collapse show" id="funcTable">
|
||||
<h2>Function Coverage:</h2><table class="table table-bordered"><thead><tr><th>Function</th><th>Hits</th></tr></thead><tbody>
|
||||
|
@ -30,13 +34,13 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 22ch;">pe:63</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">pp:68</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">debug_world_inspect:73</td><td style="padding: 1px; color: green; font-weight: bold;">7</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">record:74</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">tbl:77</td><td style="padding: 1px; color: green; font-weight: bold;">6</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">record:74</td><td style="padding: 1px; color: green; font-weight: bold;">17</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">tbl:77</td><td style="padding: 1px; color: green; font-weight: bold;">12</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">archetype:80</td><td style="padding: 1px; color: green; font-weight: bold;">4</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">records:83</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">columns:86</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">row:89</td><td style="padding: 1px; color: green; font-weight: bold;">3</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">tuple:94</td><td style="padding: 1px; color: green; font-weight: bold;">2</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">columns:86</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">row:89</td><td style="padding: 1px; color: green; font-weight: bold;">5</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">tuple:94</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">name:116</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:120</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:136</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
|
@ -44,7 +48,7 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:184</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:189</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">getTargets:192</td><td style="padding: 1px; color: green; font-weight: bold;">2</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">setAttacksAndEats:212</td><td style="padding: 1px; color: red; font-weight: bold;">0</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;">setAttacksAndEats:212</td><td style="padding: 1px; color: green; font-weight: bold;">3</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:240</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:256</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:312</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
|
@ -86,7 +90,7 @@ table.table tr { height: auto; }
|
|||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:1919</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
<tr><td style="padding: 1px; min-width: 22ch;"><anonymous>:1939</td><td style="padding: 1px; color: green; font-weight: bold;">1</td></tr>
|
||||
</tbody></table></div>
|
||||
<h2>Source Code:</h2><table class="table table-bordered"><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<h2>Source Code:</h2><table class="table table-bordered source-code-table "><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>
|
||||
<tr><td>1</td><td>1</td><td><span class=low-hits>local jecs = require("@jecs")</span></td></tr>
|
||||
<tr><td>2</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>3</td><td>1</td><td><span class=low-hits>local testkit = require("@testkit")</span></td></tr>
|
||||
|
@ -161,13 +165,13 @@ table.table tr { height: auto; }
|
|||
<tr><td>72</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>73</td><td>1</td><td><span class=low-hits>local function debug_world_inspect(world: World)</span></td></tr>
|
||||
<tr><td>74</td><td>7</td><td><span class=high-hits>local function record(e): jecs.Record</span></td></tr>
|
||||
<tr><td>75</td><td>2</td><td><span class=low-hits>return entity_index_try_get_any(world.entity_index, e) :: any</span></td></tr>
|
||||
<tr><td>75</td><td>17</td><td><span class=high-hits>return entity_index_try_get_any(world.entity_index, e) :: any</span></td></tr>
|
||||
<tr><td>76</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>77</td><td>7</td><td><span class=high-hits>local function tbl(e)</span></td></tr>
|
||||
<tr><td>78</td><td>1</td><td><span class=low-hits>return record(e).archetype</span></td></tr>
|
||||
<tr><td>78</td><td>12</td><td><span class=high-hits>return record(e).archetype</span></td></tr>
|
||||
<tr><td>79</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>80</td><td>7</td><td><span class=high-hits>local function archetype(e)</span></td></tr>
|
||||
<tr><td>81</td><td>4</td><td><span class=high-hits>return tbl(e).type</span></td></tr>
|
||||
<tr><td>81</td><td>4</td><td><span class=low-hits>return tbl(e).type</span></td></tr>
|
||||
<tr><td>82</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>83</td><td>7</td><td><span class=high-hits>local function records(e)</span></td></tr>
|
||||
<tr><td>84</td><td>1</td><td><span class=low-hits>return tbl(e).records</span></td></tr>
|
||||
|
@ -176,7 +180,7 @@ table.table tr { height: auto; }
|
|||
<tr><td>87</td><td>1</td><td><span class=low-hits>return tbl(e).columns</span></td></tr>
|
||||
<tr><td>88</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>89</td><td>7</td><td><span class=high-hits>local function row(e)</span></td></tr>
|
||||
<tr><td>90</td><td>2</td><td><span class=low-hits>return record(e).row</span></td></tr>
|
||||
<tr><td>90</td><td>5</td><td><span class=low-hits>return record(e).row</span></td></tr>
|
||||
<tr><td>91</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>92</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>93</td><td><span class='text-muted'>N/A</span></td><td>-- Important to order them in the order of their columns</td>></tr>
|
||||
|
@ -299,8 +303,8 @@ table.table tr { height: auto; }
|
|||
<tr><td>210</td><td>1</td><td><span class=low-hits>local Eats = world:component()</span></td></tr>
|
||||
<tr><td>211</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>212</td><td>1</td><td><span class=low-hits>local function setAttacksAndEats(entity1, entity2)</span></td></tr>
|
||||
<tr><td>213</td><td>0</td><td><span class=zero-hits>world:add(entity1, pair(Attacks, entity2))</span></td></tr>
|
||||
<tr><td>214</td><td>0</td><td><span class=zero-hits>world:add(entity1, pair(Eats, entity2))</span></td></tr>
|
||||
<tr><td>213</td><td>3</td><td><span class=low-hits>world:add(entity1, pair(Attacks, entity2))</span></td></tr>
|
||||
<tr><td>214</td><td>3</td><td><span class=low-hits>world:add(entity1, pair(Eats, entity2))</span></td></tr>
|
||||
<tr><td>215</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>216</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>217</td><td>1</td><td><span class=low-hits>local e1 = world:entity()</span></td></tr>
|
||||
|
@ -867,14 +871,14 @@ table.table tr { height: auto; }
|
|||
<tr><td>778</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>779</td><td>256</td><td><span class=high-hits>world:set(id, A, true)</span></td></tr>
|
||||
<tr><td>780</td><td>256</td><td><span class=high-hits>if i < 5 then</span></td></tr>
|
||||
<tr><td>781</td><td>4</td><td><span class=high-hits>entities[i] = id</span></td></tr>
|
||||
<tr><td>781</td><td>4</td><td><span class=low-hits>entities[i] = id</span></td></tr>
|
||||
<tr><td>782</td><td>0</td><td><span class=zero-hits>else</span></td></tr>
|
||||
<tr><td>783</td><td>252</td><td><span class=high-hits>world:set(id, B, true)</span></td></tr>
|
||||
<tr><td>784</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>785</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>786</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>787</td><td>1</td><td><span class=low-hits>for id in world:query(A):without(B) :: any do</span></td></tr>
|
||||
<tr><td>788</td><td>4</td><td><span class=high-hits>table.remove(entities, CHECK(table.find(entities, id)))</span></td></tr>
|
||||
<tr><td>788</td><td>4</td><td><span class=low-hits>table.remove(entities, CHECK(table.find(entities, id)))</span></td></tr>
|
||||
<tr><td>789</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>790</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>791</td><td>1</td><td><span class=low-hits>CHECK(#entities == 0)</span></td></tr>
|
||||
|
@ -1046,9 +1050,9 @@ table.table tr { height: auto; }
|
|||
<tr><td>957</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>958</td><td>1</td><td><span class=low-hits>local count = 0</span></td></tr>
|
||||
<tr><td>959</td><td>1</td><td><span class=low-hits>for id in world:query(A) :: any do</span></td></tr>
|
||||
<tr><td>960</td><td>3</td><td><span class=high-hits>world:add(id, B)</span></td></tr>
|
||||
<tr><td>960</td><td>3</td><td><span class=low-hits>world:add(id, B)</span></td></tr>
|
||||
<tr><td>961</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>962</td><td>3</td><td><span class=high-hits>count += 1</span></td></tr>
|
||||
<tr><td>962</td><td>3</td><td><span class=low-hits>count += 1</span></td></tr>
|
||||
<tr><td>963</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>964</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>965</td><td>1</td><td><span class=low-hits>CHECK(count == 2)</span></td></tr>
|
||||
|
@ -1066,9 +1070,9 @@ table.table tr { height: auto; }
|
|||
<tr><td>977</td><td>1</td><td><span class=low-hits>world:add(e2, B)</span></td></tr>
|
||||
<tr><td>978</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>979</td><td>1</td><td><span class=low-hits>for id in world:query(A) :: any do</span></td></tr>
|
||||
<tr><td>980</td><td>3</td><td><span class=high-hits>local e = world:entity()</span></td></tr>
|
||||
<tr><td>981</td><td>3</td><td><span class=high-hits>world:add(e, A)</span></td></tr>
|
||||
<tr><td>982</td><td>3</td><td><span class=high-hits>world:add(e, B)</span></td></tr>
|
||||
<tr><td>980</td><td>3</td><td><span class=low-hits>local e = world:entity()</span></td></tr>
|
||||
<tr><td>981</td><td>3</td><td><span class=low-hits>world:add(e, A)</span></td></tr>
|
||||
<tr><td>982</td><td>3</td><td><span class=low-hits>world:add(e, B)</span></td></tr>
|
||||
<tr><td>983</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>984</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>985</td><td>1</td><td><span class=low-hits>CHECK(true)</span></td></tr>
|
||||
|
@ -1126,9 +1130,9 @@ table.table tr { height: auto; }
|
|||
<tr><td>1037</td><td>1</td><td><span class=low-hits>world:set(e3, C, true)</span></td></tr>
|
||||
<tr><td>1038</td><td><span class='text-muted'>N/A</span></td><td></td>></tr>
|
||||
<tr><td>1039</td><td>1</td><td><span class=low-hits>for entity: number in world:each(A) do</span></td></tr>
|
||||
<tr><td>1040</td><td>3</td><td><span class=high-hits>if entity == e1 :: number or entity == e2 :: number or entity == e3 :: number then</span></td></tr>
|
||||
<tr><td>1041</td><td>3</td><td><span class=high-hits>CHECK(true)</span></td></tr>
|
||||
<tr><td>1042</td><td>3</td><td><span class=high-hits>continue</span></td></tr>
|
||||
<tr><td>1040</td><td>3</td><td><span class=low-hits>if entity == e1 :: number or entity == e2 :: number or entity == e3 :: number then</span></td></tr>
|
||||
<tr><td>1041</td><td>3</td><td><span class=low-hits>CHECK(true)</span></td></tr>
|
||||
<tr><td>1042</td><td>3</td><td><span class=low-hits>continue</span></td></tr>
|
||||
<tr><td>1043</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
<tr><td>1044</td><td>0</td><td><span class=zero-hits>CHECK(false)</span></td></tr>
|
||||
<tr><td>1045</td><td><span class='text-muted'>N/A</span></td><td>end</td>></tr>
|
||||
|
|
|
@ -61,11 +61,16 @@ def generate_file_html(filepath, coverage_data, functions_data):
|
|||
'<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css">',
|
||||
'<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>',
|
||||
"<style>",
|
||||
"body { font-family: monospace; font-size: 16px; }",
|
||||
".zero-hits { background-color: #fcc; font-weight: bold; color: red; }", # Red for functions with 0 hits
|
||||
".nonzero-hits { color: green; font-weight: bold; }", # Green for nonzero hit functions
|
||||
".low-hits { background-color: #ffe6b3; }", # Yellow for low-hit functions
|
||||
".high-hits { background-color: #cfc; }", # Green for high-hit functions
|
||||
"body { font-family: monospace; text-align: center; }",
|
||||
"#funcTable table { margin: 0 auto; width: auto; max-width: 300px; font-size: 14px; border-collapse: collapse; }",
|
||||
"#funcTable th, #funcTable td { padding: 2px 6px; text-align: left; white-space: nowrap; }",
|
||||
"#funcTable th { background-color: #ddd; }",
|
||||
"#funcTable td:nth-child(2) { text-align: right; min-width: 50px; }",
|
||||
".zero-hits { background-color: #fcc; font-weight: bold; color: red; }",
|
||||
".nonzero-hits { color: green; font-weight: bold; }",
|
||||
".low-hits { background-color: #ffe6b3; }",
|
||||
".high-hits { background-color: #cfc; }",
|
||||
".source-code-table { margin-left: 10px; }"
|
||||
"th, td { padding: 0px; font-size: 12px; }",
|
||||
"table.table { font-size: 14px; border-collapse: collapse; }",
|
||||
"table.table th, table.table td { padding: 1px; font-size: 12px; line-height: 1.2; }",
|
||||
|
@ -93,7 +98,7 @@ def generate_file_html(filepath, coverage_data, functions_data):
|
|||
|
||||
lines.append('</tbody></table></div>') # Close collapsible div
|
||||
|
||||
lines.append('<h2>Source Code:</h2><table class="table table-bordered"><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>')
|
||||
lines.append('<h2>Source Code:</h2><table class="table table-bordered source-code-table "><thead><tr><th>Line</th><th>Hits</th><th>Code</th></tr></thead><tbody>')
|
||||
|
||||
for i, line in enumerate(source_code, start=1):
|
||||
stripped_line = line.strip()
|
||||
|
|
Loading…
Reference in a new issue