nu i xuinya
This commit is contained in:
197
build/reports/tests/test/css/base-style.css
Normal file
197
build/reports/tests/test/css/base-style.css
Normal file
@@ -0,0 +1,197 @@
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: sans-serif;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
body, a, a:visited {
|
||||
color: #303030;
|
||||
}
|
||||
|
||||
#content {
|
||||
padding: 30px 50px;
|
||||
}
|
||||
|
||||
#content h1 {
|
||||
font-size: 160%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#footer {
|
||||
margin-top: 100px;
|
||||
font-size: 80%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#footer, #footer a {
|
||||
color: #a0a0a0;
|
||||
}
|
||||
|
||||
#line-wrapping-toggle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#label-for-line-wrapping-toggle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
.tab-container .tab-container {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
ul.tabLinks {
|
||||
padding: 0;
|
||||
margin-bottom: 0;
|
||||
overflow: auto;
|
||||
min-width: 800px;
|
||||
width: auto;
|
||||
border-bottom: solid 1px #aaa;
|
||||
}
|
||||
|
||||
ul.tabLinks li {
|
||||
float: left;
|
||||
height: 100%;
|
||||
list-style: none;
|
||||
padding: 5px 10px;
|
||||
border-radius: 7px 7px 0 0;
|
||||
border: solid 1px transparent;
|
||||
border-bottom: none;
|
||||
margin-right: 6px;
|
||||
background-color: #f0f0f0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
ul.tabLinks li.deselected > a {
|
||||
color: #6d6d6d;
|
||||
}
|
||||
|
||||
ul.tabLinks li:hover {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
ul.tabLinks li.selected {
|
||||
background-color: #c5f0f5;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
ul.tabLinks a {
|
||||
font-size: 120%;
|
||||
display: block;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.tabLinks li h2 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.tab {
|
||||
}
|
||||
|
||||
div.selected {
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.deselected {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.tab table {
|
||||
min-width: 350px;
|
||||
width: auto;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
div.tab th, div.tab table {
|
||||
border-bottom: solid 1px #d0d0d0;
|
||||
}
|
||||
|
||||
div.tab th {
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
padding-left: 6em;
|
||||
}
|
||||
|
||||
div.tab th:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
div.tab td {
|
||||
white-space: nowrap;
|
||||
padding-left: 6em;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
div.tab td:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
div.tab td.numeric, div.tab th.numeric {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
span.code {
|
||||
display: block;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1em;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
span.code pre {
|
||||
font-size: 11pt;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
background-color: #f7f7f7;
|
||||
border: solid 1px #d0d0d0;
|
||||
min-width: 700px;
|
||||
width: auto;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
span.wrapped pre {
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
label.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
th.sortable-header {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
th.sortable-header::after {
|
||||
content: " \2195";
|
||||
color: #b0b0b0;
|
||||
}
|
||||
|
||||
th.sortable-header[data-sort-dir="asc"]::after {
|
||||
content: " \25B2";
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
th.sortable-header[data-sort-dir="desc"]::after {
|
||||
content: " \25BC";
|
||||
color: inherit;
|
||||
}
|
||||
150
build/reports/tests/test/css/style.css
Normal file
150
build/reports/tests/test/css/style.css
Normal file
@@ -0,0 +1,150 @@
|
||||
.summary {
|
||||
margin-top: 30px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.summary table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.summary td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
div.tab table.test-results td {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
div.tab table.test-results th {
|
||||
padding-top: 0.5em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.breadcrumbs, .breadcrumbs a {
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
.infoBox {
|
||||
width: 110px;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.infoBox p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.counter, .percent {
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.duration {
|
||||
width: 125px;
|
||||
}
|
||||
|
||||
.successRate, .summaryGroup {
|
||||
border: solid 2px #d0d0d0;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.successRate {
|
||||
width: 140px;
|
||||
margin-left: 35px;
|
||||
}
|
||||
|
||||
.successRate .percent {
|
||||
font-size: 180%;
|
||||
}
|
||||
|
||||
.success, .success a {
|
||||
color: #008000;
|
||||
}
|
||||
|
||||
div.success, .successRate.success {
|
||||
background-color: #bbd9bb;
|
||||
border-color: #008000;
|
||||
}
|
||||
|
||||
.failures, .failures a {
|
||||
color: #b60808;
|
||||
}
|
||||
|
||||
.skipped, .skipped a {
|
||||
color: #c09853;
|
||||
}
|
||||
|
||||
div.failures, .successRate.failures {
|
||||
background-color: #ecdada;
|
||||
border-color: #b60808;
|
||||
}
|
||||
|
||||
ul.linkList {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
ul.linkList li {
|
||||
list-style: none;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
div.metadata td:first-child {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
div.metadata td {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.metadata tr.odd {
|
||||
background-color: #f7f7f7;
|
||||
border: solid 1px #d0d0d0;
|
||||
}
|
||||
|
||||
.metadata tr.even {
|
||||
border: solid 1px #d0d0d0;
|
||||
}
|
||||
|
||||
.metadata th, .metadata td {
|
||||
padding: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.metadata a {
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.metadata .unrenderable {
|
||||
color: darkred;
|
||||
}
|
||||
|
||||
.clipboard-copy-btn {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
padding: 4px 8px;
|
||||
font-size: 0.9em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.successGroup::before {
|
||||
content: "\23FA";
|
||||
margin-right: 8px;
|
||||
color: #008000;
|
||||
display: inline-block;
|
||||
}
|
||||
.failureGroup::before {
|
||||
content: "\2297";
|
||||
margin-right: 8px;
|
||||
color: #b60808;
|
||||
display: inline-block;
|
||||
}
|
||||
.skippedGroup::before {
|
||||
content: "\2296";
|
||||
margin-right: 8px;
|
||||
color: #c09853;
|
||||
display: inline-block;
|
||||
}
|
||||
184
build/reports/tests/test/index.html
Normal file
184
build/reports/tests/test/index.html
Normal file
@@ -0,0 +1,184 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - All Results</title>
|
||||
<link href="css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1>All Results</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>Gradle Test Run :test</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">21</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">2.273s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th>Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="org.kilka.moderationcommands.common.ActorReasonParserTest/index.html">ActorReasonParserTest</a>
|
||||
</td>
|
||||
<td class="path">org.kilka.moderationcommands.common.ActorReasonParserTest</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="134">0.134s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="org.kilka.moderationcommands.common.BlockedCommandMatcherTest/index.html">BlockedCommandMatcherTest</a>
|
||||
</td>
|
||||
<td class="path">org.kilka.moderationcommands.common.BlockedCommandMatcherTest</td>
|
||||
<td>2</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="13">0.013s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="org.kilka.moderationcommands.common.DurationParserTest/index.html">DurationParserTest</a>
|
||||
</td>
|
||||
<td class="path">org.kilka.moderationcommands.common.DurationParserTest</td>
|
||||
<td>3</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="12">0.012s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="org.kilka.moderationcommands.config.DefaultConfigTest/index.html">DefaultConfigTest</a>
|
||||
</td>
|
||||
<td class="path">org.kilka.moderationcommands.config.DefaultConfigTest</td>
|
||||
<td>3</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="302">0.302s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="org.kilka.moderationcommands.config.PluginDescriptorTest/index.html">PluginDescriptorTest</a>
|
||||
</td>
|
||||
<td class="path">org.kilka.moderationcommands.config.PluginDescriptorTest</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="17">0.017s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest/index.html">FlectoneChatMuteIntegrationTest</a>
|
||||
</td>
|
||||
<td class="path">org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest</td>
|
||||
<td>3</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="43">0.043s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="org.kilka.moderationcommands.mute.YamlMuteRepositoryTest/index.html">YamlMuteRepositoryTest</a>
|
||||
</td>
|
||||
<td class="path">org.kilka.moderationcommands.mute.YamlMuteRepositoryTest</td>
|
||||
<td>5</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="92">0.092s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
285
build/reports/tests/test/js/report.js
Normal file
285
build/reports/tests/test/js/report.js
Normal file
@@ -0,0 +1,285 @@
|
||||
(function (window, document) {
|
||||
"use strict";
|
||||
|
||||
function changeElementClass(element, classValue) {
|
||||
if (element.getAttribute("className")) {
|
||||
element.setAttribute("className", classValue);
|
||||
} else {
|
||||
element.setAttribute("class", classValue);
|
||||
}
|
||||
}
|
||||
|
||||
function getClassAttribute(element) {
|
||||
if (element.getAttribute("className")) {
|
||||
return element.getAttribute("className");
|
||||
} else {
|
||||
return element.getAttribute("class");
|
||||
}
|
||||
}
|
||||
|
||||
function addClass(element, classValue) {
|
||||
changeElementClass(element, getClassAttribute(element) + " " + classValue);
|
||||
}
|
||||
|
||||
function removeClass(element, classValue) {
|
||||
changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
|
||||
}
|
||||
|
||||
function getCheckBox() {
|
||||
return document.getElementById("line-wrapping-toggle");
|
||||
}
|
||||
|
||||
function getLabelForCheckBox() {
|
||||
return document.getElementById("label-for-line-wrapping-toggle");
|
||||
}
|
||||
|
||||
function findCodeBlocks() {
|
||||
const codeBlocks = [];
|
||||
const tabContainers = getTabContainers();
|
||||
for (let i = 0; i < tabContainers.length; i++) {
|
||||
const spans = tabContainers[i].getElementsByTagName("span");
|
||||
for (let i = 0; i < spans.length; ++i) {
|
||||
if (spans[i].className.indexOf("code") >= 0) {
|
||||
codeBlocks.push(spans[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return codeBlocks;
|
||||
}
|
||||
|
||||
function forAllCodeBlocks(operation) {
|
||||
const codeBlocks = findCodeBlocks();
|
||||
|
||||
for (let i = 0; i < codeBlocks.length; ++i) {
|
||||
operation(codeBlocks[i], "wrapped");
|
||||
}
|
||||
}
|
||||
|
||||
function toggleLineWrapping() {
|
||||
const checkBox = getCheckBox();
|
||||
|
||||
if (checkBox.checked) {
|
||||
forAllCodeBlocks(addClass);
|
||||
} else {
|
||||
forAllCodeBlocks(removeClass);
|
||||
}
|
||||
}
|
||||
|
||||
function initClipboardCopyButton() {
|
||||
document.querySelectorAll(".clipboard-copy-btn").forEach((button) => {
|
||||
const copyElementId = button.getAttribute("data-copy-element-id");
|
||||
const elementWithCodeToSelect = document.getElementById(copyElementId);
|
||||
|
||||
button.addEventListener("click", () => {
|
||||
const text = elementWithCodeToSelect.innerText.trim();
|
||||
navigator.clipboard
|
||||
.writeText(text)
|
||||
.then(() => {
|
||||
button.textContent = "Copied!";
|
||||
setTimeout(() => {
|
||||
button.textContent = "Copy";
|
||||
}, 1500);
|
||||
})
|
||||
.catch((err) => {
|
||||
alert("Failed to copy to the clipboard: '" + err.message + "'. Check JavaScript console for more details.")
|
||||
console.warn("Failed to copy to the clipboard", err);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function initControls() {
|
||||
if (findCodeBlocks().length > 0) {
|
||||
const checkBox = getCheckBox();
|
||||
const label = getLabelForCheckBox();
|
||||
|
||||
checkBox.onclick = toggleLineWrapping;
|
||||
checkBox.checked = false;
|
||||
|
||||
removeClass(label, "hidden");
|
||||
}
|
||||
|
||||
initClipboardCopyButton()
|
||||
}
|
||||
|
||||
class TabManager {
|
||||
baseId;
|
||||
tabs;
|
||||
titles;
|
||||
headers;
|
||||
|
||||
constructor(baseId, tabs, titles, headers) {
|
||||
this.baseId = baseId;
|
||||
this.tabs = tabs;
|
||||
this.titles = titles;
|
||||
this.headers = headers;
|
||||
this.init();
|
||||
}
|
||||
|
||||
init() {
|
||||
for (let i = 0; i < this.headers.length; i++) {
|
||||
const header = this.headers[i];
|
||||
header.onclick = () => {
|
||||
this.select(i);
|
||||
return false;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
select(i) {
|
||||
this.deselectAll();
|
||||
|
||||
changeElementClass(this.tabs[i], "tab selected");
|
||||
changeElementClass(this.headers[i], "selected");
|
||||
}
|
||||
|
||||
deselectAll() {
|
||||
for (let i = 0; i < this.tabs.length; i++) {
|
||||
changeElementClass(this.tabs[i], "tab deselected");
|
||||
changeElementClass(this.headers[i], "deselected");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getTabContainers() {
|
||||
const tabContainers = Array.from(document.getElementsByClassName("tab-container"));
|
||||
|
||||
// Used by existing TabbedPageRenderer users, which have not adjusted to use TabsRenderer yet.
|
||||
const legacyContainer = document.getElementById("tabs");
|
||||
if (legacyContainer) {
|
||||
tabContainers.push(legacyContainer);
|
||||
}
|
||||
|
||||
return tabContainers;
|
||||
}
|
||||
|
||||
function initTabs() {
|
||||
let tabGroups = 0;
|
||||
|
||||
function createTab(num, container) {
|
||||
const tabElems = findTabs(container);
|
||||
const tabManager = new TabManager("tabs" + num, tabElems, findTitles(tabElems), findHeaders(container));
|
||||
tabManager.select(0);
|
||||
}
|
||||
|
||||
const tabContainers = getTabContainers();
|
||||
|
||||
for (let i = 0; i < tabContainers.length; i++) {
|
||||
createTab(tabGroups, tabContainers[i]);
|
||||
tabGroups++;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function findTabs(container) {
|
||||
return findChildElements(container, "DIV", "tab");
|
||||
}
|
||||
|
||||
function findHeaders(container) {
|
||||
const owner = findChildElements(container, "UL", "tabLinks");
|
||||
return findChildElements(owner[0], "LI", null);
|
||||
}
|
||||
|
||||
function findTitles(tabs) {
|
||||
const titles = [];
|
||||
|
||||
for (let i = 0; i < tabs.length; i++) {
|
||||
const tab = tabs[i];
|
||||
const header = findChildElements(tab, "H2", null)[0];
|
||||
|
||||
header.parentNode.removeChild(header);
|
||||
|
||||
if (header.innerText) {
|
||||
titles.push(header.innerText);
|
||||
} else {
|
||||
titles.push(header.textContent);
|
||||
}
|
||||
}
|
||||
|
||||
return titles;
|
||||
}
|
||||
|
||||
function findChildElements(container, name, targetClass) {
|
||||
const elements = [];
|
||||
const children = container.childNodes;
|
||||
|
||||
for (let i = 0; i < children.length; i++) {
|
||||
const child = children.item(i);
|
||||
|
||||
if (child.nodeType === 1 && child.nodeName === name) {
|
||||
if (targetClass && child.className.indexOf(targetClass) < 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
elements.push(child);
|
||||
}
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
|
||||
function initTableSorting() {
|
||||
document.querySelectorAll("table.sortable").forEach((table) => {
|
||||
const thead = table.tHead;
|
||||
if (!thead || thead.rows.length === 0) return;
|
||||
const headerRow = thead.rows[0];
|
||||
const headers = Array.from(headerRow.cells);
|
||||
const tbody = table.tBodies[0] || table;
|
||||
const originalRows = Array.from(tbody.querySelectorAll(":scope > tr"));
|
||||
|
||||
headers.forEach((th, colIndex) => {
|
||||
if (th.classList.contains("no-sort")) return;
|
||||
th.classList.add("sortable-header");
|
||||
th.addEventListener("click", () => {
|
||||
const current = th.getAttribute("data-sort-dir");
|
||||
const firstDir = th.getAttribute("data-sort-default") === "desc" ? "desc" : "asc";
|
||||
const secondDir = firstDir === "desc" ? "asc" : "desc";
|
||||
// Cycle: none -> firstDir -> secondDir -> none
|
||||
let next;
|
||||
if (current === firstDir) next = secondDir;
|
||||
else if (current === secondDir) next = "none";
|
||||
else next = firstDir;
|
||||
|
||||
headers.forEach((h) => h.removeAttribute("data-sort-dir"));
|
||||
|
||||
if (next === "none") {
|
||||
originalRows.forEach((r) => tbody.appendChild(r));
|
||||
return;
|
||||
}
|
||||
th.setAttribute("data-sort-dir", next);
|
||||
|
||||
const rows = Array.from(tbody.querySelectorAll(":scope > tr"));
|
||||
const dir = next === "asc" ? 1 : -1;
|
||||
rows.sort((a, b) => {
|
||||
const av = getSortValue(a.cells[colIndex]);
|
||||
const bv = getSortValue(b.cells[colIndex]);
|
||||
if (av === bv) return 0;
|
||||
// Numeric compare if both parse as numbers
|
||||
const an = parseFloat(av), bn = parseFloat(bv);
|
||||
if (!isNaN(an) && !isNaN(bn) && isFinite(an) && isFinite(bn)
|
||||
&& av.trim() !== "" && bv.trim() !== "") {
|
||||
return (an - bn) * dir;
|
||||
}
|
||||
return av.localeCompare(bv) * dir;
|
||||
});
|
||||
rows.forEach((r) => tbody.appendChild(r));
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getSortValue(cell) {
|
||||
if (!cell) return "";
|
||||
const v = cell.getAttribute("data-sort-value");
|
||||
return v !== null ? v : cell.textContent;
|
||||
}
|
||||
|
||||
// Entry point.
|
||||
|
||||
window.onload = function() {
|
||||
initTabs();
|
||||
initControls();
|
||||
initTableSorting();
|
||||
};
|
||||
} (window, window.document));
|
||||
@@ -0,0 +1,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - org.kilka.moderationcommands.common.ActorReasonParserTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div class="breadcrumbs">
|
||||
<a class="breadcrumb" href="../index.html">all</a> >
|
||||
<span class="breadcrumb">org.kilka.moderationcommands.common.ActorReasonParserTest</span>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>ActorReasonParserTest</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">4</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">0.134s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th hidden="">Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">extractsConsoleActorAndRemovesItFromReason()</td>
|
||||
<td class="path" hidden="">extractsConsoleActorAndRemovesItFromReason()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="5">0.005s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">rejectsActorFromPlayerWithoutChangingTheAuthor()</td>
|
||||
<td class="path" hidden="">rejectsActorFromPlayerWithoutChangingTheAuthor()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="65">0.065s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">rejectsDuplicateMalformedAndMissingValues()</td>
|
||||
<td class="path" hidden="">rejectsDuplicateMalformedAndMissingValues()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="6">0.006s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">usesConsoleWhenActorIsAbsent()</td>
|
||||
<td class="path" hidden="">usesConsoleWhenActorIsAbsent()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="13">0.013s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,128 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - org.kilka.moderationcommands.common.BlockedCommandMatcherTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div class="breadcrumbs">
|
||||
<a class="breadcrumb" href="../index.html">all</a> >
|
||||
<span class="breadcrumb">org.kilka.moderationcommands.common.BlockedCommandMatcherTest</span>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>BlockedCommandMatcherTest</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">2</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">0.013s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th hidden="">Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">blocksPlainCaseInsensitiveAndNamespacedCommands()</td>
|
||||
<td class="path" hidden="">blocksPlainCaseInsensitiveAndNamespacedCommands()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="3">0.003s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">doesNotMatchArgumentsOrPrefixes()</td>
|
||||
<td class="path" hidden="">doesNotMatchArgumentsOrPrefixes()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="6">0.006s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - org.kilka.moderationcommands.common.DurationParserTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div class="breadcrumbs">
|
||||
<a class="breadcrumb" href="../index.html">all</a> >
|
||||
<span class="breadcrumb">org.kilka.moderationcommands.common.DurationParserTest</span>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>DurationParserTest</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">3</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">0.012s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th hidden="">Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">parsesRequiredAndGeneralizedDurations()</td>
|
||||
<td class="path" hidden="">parsesRequiredAndGeneralizedDurations()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="2">0.002s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">rejectsExpirationOverflow()</td>
|
||||
<td class="path" hidden="">rejectsExpirationOverflow()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="2">0.002s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">rejectsInvalidValuesAndArithmeticOverflow()</td>
|
||||
<td class="path" hidden="">rejectsInvalidValuesAndArithmeticOverflow()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="3">0.003s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - org.kilka.moderationcommands.config.DefaultConfigTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div class="breadcrumbs">
|
||||
<a class="breadcrumb" href="../index.html">all</a> >
|
||||
<span class="breadcrumb">org.kilka.moderationcommands.config.DefaultConfigTest</span>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>DefaultConfigTest</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">3</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">0.302s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th hidden="">Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">defaultConfigContainsRequiredCommandsAndValidMessages()</td>
|
||||
<td class="path" hidden="">defaultConfigContainsRequiredCommandsAndValidMessages()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="234">0.234s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">missingIntegrationSettingsUseBackwardsCompatibleDefaults()</td>
|
||||
<td class="path" hidden="">missingIntegrationSettingsUseBackwardsCompatibleDefaults()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="61">0.061s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">rejectsInvalidVoicePermission()</td>
|
||||
<td class="path" hidden="">rejectsInvalidVoicePermission()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="2">0.002s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - org.kilka.moderationcommands.config.PluginDescriptorTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div class="breadcrumbs">
|
||||
<a class="breadcrumb" href="../index.html">all</a> >
|
||||
<span class="breadcrumb">org.kilka.moderationcommands.config.PluginDescriptorTest</span>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>PluginDescriptorTest</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">1</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">0.017s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th hidden="">Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">commandsExposeTheSamePermissionsCheckedByExecutors()</td>
|
||||
<td class="path" hidden="">commandsExposeTheSamePermissionsCheckedByExecutors()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="15">0.015s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div class="breadcrumbs">
|
||||
<a class="breadcrumb" href="../index.html">all</a> >
|
||||
<span class="breadcrumb">org.kilka.moderationcommands.integration.flectone.FlectoneChatMuteIntegrationTest</span>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>FlectoneChatMuteIntegrationTest</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">3</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">0.043s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th hidden="">Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">cancelsFlectoneChatAndNotifiesMutedSender()</td>
|
||||
<td class="path" hidden="">cancelsFlectoneChatAndNotifiesMutedSender()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="3">0.003s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">disabledPermanentListenerBecomesNoOp()</td>
|
||||
<td class="path" hidden="">disabledPermanentListenerBecomesNoOp()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="3">0.003s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">leavesOtherModulesAndUnmutedPlayersUntouched()</td>
|
||||
<td class="path" hidden="">leavesOtherModulesAndUnmutedPlayersUntouched()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="27">0.027s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,155 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - org.kilka.moderationcommands.mute.YamlMuteRepositoryTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div class="breadcrumbs">
|
||||
<a class="breadcrumb" href="../index.html">all</a> >
|
||||
<span class="breadcrumb">org.kilka.moderationcommands.mute.YamlMuteRepositoryTest</span>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="successGroup" href="#">Gradle Test Run :test</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Gradle Test Run :test</h2>
|
||||
<h1>YamlMuteRepositoryTest</h1>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a class="" href="#">summary</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>summary</h2>
|
||||
<div>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">5</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox">
|
||||
<div class="counter">0</div>
|
||||
<p>skipped</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox duration">
|
||||
<div class="counter">0.092s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="test-results sortable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Child</th>
|
||||
<th hidden="">Name</th>
|
||||
<th data-sort-default="desc">Tests</th>
|
||||
<th data-sort-default="desc">Failures</th>
|
||||
<th data-sort-default="desc">Skipped</th>
|
||||
<th data-sort-default="desc">Duration</th>
|
||||
<th>Success rate</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="success">expirationIsImmediateAndCleanupIsPersistent()</td>
|
||||
<td class="path" hidden="">expirationIsImmediateAndCleanupIsPersistent()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="46">0.046s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">failedAtomicWriteKeepsThePublishedSnapshot()</td>
|
||||
<td class="path" hidden="">failedAtomicWriteKeepsThePublishedSnapshot()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="10">0.010s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">persistsTemporaryAndPermanentMutesAcrossReloads()</td>
|
||||
<td class="path" hidden="">persistsTemporaryAndPermanentMutesAcrossReloads()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="14">0.014s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">rejectsCorruptedStorageWithoutOverwritingIt()</td>
|
||||
<td class="path" hidden="">rejectsCorruptedStorageWithoutOverwritingIt()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="7">0.007s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">repeatMuteReplacesTheUuidEntry()</td>
|
||||
<td class="path" hidden="">repeatMuteReplacesTheUuidEntry()</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td data-sort-value="8">0.008s</td>
|
||||
<td class="success" data-sort-value="100">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.6.1</a> at Aug 2, 2026, 9:23:22 PM</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user