App-GHGen
view release on metacpan or search on metacpan
scripts/generate_index.pl view on Meta::CPAN
$confidence_class eq 'high' ? 'Strong'
: $confidence_class eq 'med' ? 'Moderate'
: 'Weak';
my $evidence_html = join(
'',
map { "<li>$_</li>" } @{ $rc->{evidence} || [] }
);
my $label = $rc->{label};
# Optional perldelta link
if ($rc->{type} eq 'perl' && $rc->{perldelta}) {
$label .= sprintf(
q{ (<a href="%s" target="_blank">perldelta</a>)},
$rc->{perldelta}
);
}
push @html, sprintf(<<'ROW',
<tr class="%s">
<td halign="center"><strong>%s</strong></td>
<td halign="center">%s (%d%%)</td>
<td halign="center"><ul>%s</ul></td>
</tr>
ROW
$confidence_class,
$label,
$confidence_label,
$confidence_pct,
$evidence_html,
);
}
push @html, <<'HTML';
</tbody>
</table>
HTML
}
}
push @html, <<"HTML";
<script>
document.addEventListener("DOMContentLoaded", function () {
const toggleFail = document.getElementById('toggleFail');
const toggleUnknown = document.getElementById('toggleUnknown');
const toggleNA = document.getElementById('toggleNA');
const toggleNew = document.getElementById('toggleNew');
function update() {
document.querySelectorAll('tr').forEach(row => {
// Skip header rows
if (row.querySelector('th')) return;
// Determine row status
const isFail = row.classList.contains('cpan-fail');
const isUnknown = row.classList.contains('cpan-unknown');
const isNA = row.classList.contains('cpan-na');
const isNew = !!row.querySelector('.new-failure');
// Decide whether to show the row
let show = true;
if (toggleFail && !toggleFail.checked && isFail) show = false;
if (toggleUnknown && !toggleUnknown.checked && isUnknown) show = false;
if (toggleNA && !toggleNA.checked && isNA) show = false;
if (toggleNew && toggleNew.checked && !isNew) show = false;
row.style.display = show ? '' : 'none';
});
}
[toggleFail, toggleUnknown, toggleNA, toggleNew].forEach(cb => {
if (cb) cb.addEventListener('change', update);
});
update();
});
document.addEventListener("DOMContentLoaded", () => {
const th = document.querySelector("table.sortable-table th");
if (th) sortTable(th, 0);
});
</script>
<p><em>Showing one failure per OS/Perl combination.</em></p>
<div style="margin-bottom: 0.5em;">
<label>
<input type="checkbox" id="toggleFail" checked>
FAIL
</label>
<label style="margin-left: 1em;">
<input type="checkbox" id="toggleUnknown">
UNKNOWN
</label>
<label style="margin-left: 1em;">
<input type="checkbox" id="toggleNA">
NA
</label>
<label style="margin-left: 1em;">
<label style="margin-left: 1em;">
<input type="checkbox" id="toggleNew">
NEW only
</label>
</div>
<table class="sortable-table" data-sort-col="0" data-sort-order="asc">
<thead>
<tr>
<th class="sortable" onclick="sortTable(this, 0)">
<span class="label">Date</span> <span class="arrow">▲</span>
</th>
<th class="sortable" onclick="sortTable(this, 1)">
<span class="label">OS</span> <span class="arrow">▲</span>
</th>
<th class="sortable" onclick="sortTable(this, 2)">
<span class="label">Perl</span> <span class="arrow">▲</span>
</th>
<th class="sortable" onclick="sortTable(this, 3)">
<span class="label">Reporter</span> <span class="arrow">▲</span>
</th>
<th class="sortable" onclick="sortTable(this, 4)" title="Marks failures that did not occur in the previous release. The same OS, Perl version, architecture, and platform were passing before.">
( run in 2.685 seconds using v1.01-cache-2.11-cpan-df04353d9ac )