diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..5a0a5014 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,34 @@ +name: Build Unstable + +on: + push: + tags: + - '*' + + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout Commit + uses: actions/checkout@v2 + + - name: Set up JDK 14 + uses: actions/setup-java@v1 + with: + java-version: 14 + + - name: Build Client + run: | + git clone --depth=1 --branch=custom-client https://github.com/mindustry-antigrief/mindustry-client-v6 + cd mindustry-client-v6 + ./gradlew desktop:dist -PclientBuild=${{ github.ref }} -PupdateUrl=${{ github.repository }} + mv desktop/build/libs/Mindustry.jar desktop/build/libs/desktop.jar + + - name: Upload Release Asset + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: Mindustry/desktop/build/libs/desktop.jar + tag: ${{ github.ref }} diff --git a/classes/ApplicationTests.html b/classes/ApplicationTests.html new file mode 100644 index 00000000..92158619 --- /dev/null +++ b/classes/ApplicationTests.html @@ -0,0 +1,546 @@ + + + + + +Test results - Class ApplicationTests + + + + + +
+

Class ApplicationTests

+ +
+ + + + + +
+
+ + + + + + + +
+
+
74
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
17.014s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TestMethod nameDurationResult
allBlockTest()allBlockTest()0.019spassed
allPayloadBlockTest()allPayloadBlockTest()0.252spassed
arrayIterators()arrayIterators()0.010spassed
blockInventories()blockInventories()0.002spassed
blockOverlapRemoved()blockOverlapRemoved()0.268spassed
buildingDestruction()buildingDestruction()0.005spassed
buildingOverlap()buildingOverlap()0.056spassed
conveyorBench()conveyorBench()1.387spassed
conveyorCrash()conveyorCrash()0.048spassed
createMap()createMap()0.031spassed
edges()edges()0.001spassed
initialization()initialization()0spassed
inventoryDeposit()inventoryDeposit()0.001spassed
junctionOutputCorrect()junctionOutputCorrect()0.125spassed
liquidJunctionOutput()liquidJunctionOutput()0.052spassed
liquidOutput()liquidOutput()0.163spassed
liquidRouterOutputAll()liquidRouterOutputAll()0.257spassed
load108Save()load108Save()0.065spassed
load114Save()load114Save()0.134spassed
load77Save()load77Save()0.054spassed
load85Save()load85Save()0.757spassed
longTimers()longTimers()0.867spassed
manyTimers()manyTimers()0.534spassed
multiblock()multiblock()0.019spassed
playMap()playMap()0.167spassed
routerOutputAll()routerOutputAll()0.150spassed
save()save()0.069spassed
saveLoad()saveLoad()0.997spassed
serverListJson()serverListJson()0.019spassed
sorterOutputCorrect()sorterOutputCorrect()0.322spassed
spawnWaves()spawnWaves()0.058spassed
coastlinetestSectorValidity()[10]0.536spassed
navalFortresstestSectorValidity()[11]0.172spassed
fungalPasstestSectorValidity()[12]0.090spassed
overgrowthtestSectorValidity()[13]0.098spassed
tarFieldstestSectorValidity()[14]0.067spassed
impact0078testSectorValidity()[15]0.075spassed
desolateRifttestSectorValidity()[16]0.035spassed
nuclearComplextestSectorValidity()[17]0.050spassed
planetaryTerminaltestSectorValidity()[18]0.190spassed
onsettestSectorValidity()[19]0.255spassed
groundZerotestSectorValidity()[1]0.100spassed
aegistestSectorValidity()[20]0.237spassed
laketestSectorValidity()[21]0.066spassed
intersecttestSectorValidity()[22]0.184spassed
atlastestSectorValidity()[23]0.376spassed
splittestSectorValidity()[24]0.127spassed
basintestSectorValidity()[25]0.507spassed
marshtestSectorValidity()[26]0.129spassed
peakstestSectorValidity()[27]0.436spassed
ravinetestSectorValidity()[28]0.151spassed
caldera-erekirtestSectorValidity()[29]0.266spassed
saltFlatstestSectorValidity()[2]0.117spassed
strongholdtestSectorValidity()[30]0.412spassed
crevicetestSectorValidity()[31]0.953spassed
siegetestSectorValidity()[32]0.382spassed
crossroadstestSectorValidity()[33]0.257spassed
karsttestSectorValidity()[34]0.999spassed
origintestSectorValidity()[35]1.677spassed
frozenForesttestSectorValidity()[3]0.051spassed
biomassFacilitytestSectorValidity()[4]0.129spassed
craterstestSectorValidity()[5]0.082spassed
ruinousShorestestSectorValidity()[6]0.076spassed
windsweptIslandstestSectorValidity()[7]0.501spassed
stainedMountainstestSectorValidity()[8]0.069spassed
extractionOutposttestSectorValidity()[9]0.148spassed
timers()timers()0.015spassed
writeRules()writeRules()0.005spassed
writeRules2()writeRules2()0.004spassed
[1] nullwriteStringTest(String)[1]0.068spassed
[2] awriteStringTest(String)[2]0.002spassed
[3] asd asd asd asd asdagagasasjakbgeah;jwrej 23424234writeStringTest(String)[3]0.008spassed
[4] 这个服务器可以用自己的语言说话writeStringTest(String)[4]0.022spassed
[5] 🚣writeStringTest(String)[5]0.001spassed
+
+
+

Standard output

+ +
800.4917ms to process 21127 items
+
+
+
+
+ +
+ + diff --git a/classes/ModTestBM.html b/classes/ModTestBM.html new file mode 100644 index 00000000..4739ea74 --- /dev/null +++ b/classes/ModTestBM.html @@ -0,0 +1,96 @@ + + + + + +Test results - Class ModTestBM + + + + + +
+

Class ModTestBM

+ +
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.014s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + +
TestDurationResult
begin()0.014spassed
+
+
+ +
+ + diff --git a/classes/ModTestExotic.html b/classes/ModTestExotic.html new file mode 100644 index 00000000..500a3005 --- /dev/null +++ b/classes/ModTestExotic.html @@ -0,0 +1,96 @@ + + + + + +Test results - Class ModTestExotic + + + + + +
+

Class ModTestExotic

+ +
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.014s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + +
TestDurationResult
begin()0.014spassed
+
+
+ +
+ + diff --git a/classes/ModTestHAI.html b/classes/ModTestHAI.html new file mode 100644 index 00000000..379a911d --- /dev/null +++ b/classes/ModTestHAI.html @@ -0,0 +1,96 @@ + + + + + +Test results - Class ModTestHAI + + + + + +
+

Class ModTestHAI

+ +
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.014s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + +
TestDurationResult
begin()0.014spassed
+
+
+ +
+ + diff --git a/classes/client.Base32768CoderTests.html b/classes/client.Base32768CoderTests.html new file mode 100644 index 00000000..bdbf11c7 --- /dev/null +++ b/classes/client.Base32768CoderTests.html @@ -0,0 +1,101 @@ + + + + + +Test results - Base32768CoderTests + + + + + +
+

Base32768CoderTests

+ +
+ + + + + +
+
+ + + + + + + +
+
+
2
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.235s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + + + + + + +
TestDurationResult
testCoder()0.231spassed
testKnown()0.004spassed
+
+
+ +
+ + diff --git a/classes/client.FloatEmbedTests.html b/classes/client.FloatEmbedTests.html new file mode 100644 index 00000000..0a905b9f --- /dev/null +++ b/classes/client.FloatEmbedTests.html @@ -0,0 +1,96 @@ + + + + + +Test results - FloatEmbedTests + + + + + +
+

FloatEmbedTests

+ +
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.025s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + +
TestDurationResult
testFloatEmbed()0.025spassed
+
+
+ +
+ + diff --git a/classes/power.ConsumeGeneratorTests.html b/classes/power.ConsumeGeneratorTests.html new file mode 100644 index 00000000..f7b2cbe3 --- /dev/null +++ b/classes/power.ConsumeGeneratorTests.html @@ -0,0 +1,206 @@ + + + + + +Test results - ConsumeGeneratorTests + + + + + +
+

ConsumeGeneratorTests

+ +
+ + + + + +
+
+ + + + + + + +
+
+
19
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.029s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TestMethod nameDurationResult
efficiencyRemainsConstantWithinItemDuration_ItemsOnly()efficiencyRemainsConstantWithinItemDuration_ItemsOnly()0.017spassed
01generatorWorksProperlyWithItemInput()[1]0.001spassed
02generatorWorksProperlyWithItemInput()[2]0spassed
03generatorWorksProperlyWithItemInput()[3]0.001spassed
04generatorWorksProperlyWithItemInput()[4]0.001spassed
05generatorWorksProperlyWithItemInput()[5]0spassed
06generatorWorksProperlyWithItemInput()[6]0.001spassed
02-delta0.5generatorWorksProperlyWithLiquidInput()[10]0.001spassed
03-delta0.5generatorWorksProperlyWithLiquidInput()[11]0spassed
04-delta0.5generatorWorksProperlyWithLiquidInput()[12]0.001spassed
01-delta2.0generatorWorksProperlyWithLiquidInput()[1]0.003spassed
02-delta2.0generatorWorksProperlyWithLiquidInput()[2]0spassed
03-delta2.0generatorWorksProperlyWithLiquidInput()[3]0spassed
04-delta2.0generatorWorksProperlyWithLiquidInput()[4]0.001spassed
01-delta1.0generatorWorksProperlyWithLiquidInput()[5]0.001spassed
02-delta1.0generatorWorksProperlyWithLiquidInput()[6]0spassed
03-delta1.0generatorWorksProperlyWithLiquidInput()[7]0spassed
04-delta1.0generatorWorksProperlyWithLiquidInput()[8]0.001spassed
01-delta0.5generatorWorksProperlyWithLiquidInput()[9]0spassed
+
+
+ +
+ + diff --git a/classes/power.DirectConsumerTests.html b/classes/power.DirectConsumerTests.html new file mode 100644 index 00000000..c81a99f6 --- /dev/null +++ b/classes/power.DirectConsumerTests.html @@ -0,0 +1,106 @@ + + + + + +Test results - DirectConsumerTests + + + + + +
+

DirectConsumerTests

+ +
+ + + + + +
+
+ + + + + + + +
+
+
3
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.018s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + + + + + + + + + + + +
TestDurationResult
noPowerRequestedWithInsufficientItems()0.001spassed
noPowerRequestedWithNoItems()0.001spassed
powerRequestedWithSufficientItems()0.016spassed
+
+
+ +
+ + diff --git a/classes/power.PowerTests$PowerGraphTests.html b/classes/power.PowerTests$PowerGraphTests.html new file mode 100644 index 00000000..99e225cc --- /dev/null +++ b/classes/power.PowerTests$PowerGraphTests.html @@ -0,0 +1,194 @@ + + + + + +Test results - PowerGraphTests + + + + + +
+

PowerGraphTests

+ +
+ + + + + +
+
+ + + + + + + +
+
+
17
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.029s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Tests

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TestMethod nameDurationResult
01batteryCapacityIsAsExpected()[1]0.001spassed
02batteryCapacityIsAsExpected()[2]0.001spassed
03batteryCapacityIsAsExpected()[3]0.001spassed
04batteryCapacityIsAsExpected()[4]0.001spassed
05batteryCapacityIsAsExpected()[5]0.001spassed
06batteryCapacityIsAsExpected()[6]0.001spassed
07batteryCapacityIsAsExpected()[7]0.001spassed
08batteryCapacityIsAsExpected()[8]0.001spassed
09batteryCapacityIsAsExpected()[9]0.001spassed
01directConsumerSatisfactionIsAsExpected()[1]0.001spassed
02directConsumerSatisfactionIsAsExpected()[2]0.001spassed
03directConsumerSatisfactionIsAsExpected()[3]0.001spassed
04directConsumerSatisfactionIsAsExpected()[4]0spassed
05directConsumerSatisfactionIsAsExpected()[5]0.001spassed
06directConsumerSatisfactionIsAsExpected()[6]0spassed
07directConsumerSatisfactionIsAsExpected()[7]0spassed
directConsumptionStopsWithNoPower()directConsumptionStopsWithNoPower()0.016spassed
+
+
+ +
+ + diff --git a/css/base-style.css b/css/base-style.css new file mode 100644 index 00000000..4afa73e3 --- /dev/null +++ b/css/base-style.css @@ -0,0 +1,179 @@ + +body { + margin: 0; + padding: 0; + font-family: sans-serif; + font-size: 12pt; +} + +body, a, a:visited { + color: #303030; +} + +#content { + padding-left: 50px; + padding-right: 50px; + padding-top: 30px; + padding-bottom: 30px; +} + +#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%; +} + +ul.tabLinks { + padding-left: 0; + padding-top: 10px; + padding-bottom: 10px; + overflow: auto; + min-width: 800px; + width: auto !important; + width: 800px; +} + +ul.tabLinks li { + float: left; + height: 100%; + list-style: none; + padding-left: 10px; + padding-right: 10px; + padding-top: 5px; + padding-bottom: 5px; + margin-bottom: 0; + -moz-border-radius: 7px; + border-radius: 7px; + margin-right: 25px; + border: solid 1px #d4d4d4; + background-color: #f0f0f0; +} + +ul.tabLinks li:hover { + background-color: #fafafa; +} + +ul.tabLinks li.selected { + background-color: #c5f0f5; + border-color: #c5f0f5; +} + +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 !important; + width: 350px; + border-collapse: collapse; +} + +div.tab th, div.tab table { + border-bottom: solid #d0d0d0 1px; +} + +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: inline-block; + margin-top: 0em; + margin-bottom: 1em; +} + +span.code pre { + font-size: 11pt; + padding-top: 10px; + padding-bottom: 10px; + padding-left: 10px; + padding-right: 10px; + margin: 0; + background-color: #f7f7f7; + border: solid 1px #d0d0d0; + min-width: 700px; + width: auto !important; + width: 700px; +} + +span.wrapped pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: break-all; +} + +label.hidden { + display: none; +} \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 00000000..3dc4913e --- /dev/null +++ b/css/style.css @@ -0,0 +1,84 @@ + +#summary { + margin-top: 30px; + margin-bottom: 40px; +} + +#summary table { + border-collapse: collapse; +} + +#summary td { + vertical-align: top; +} + +.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; +} diff --git a/index.html b/index.html new file mode 100644 index 00000000..27bb8b66 --- /dev/null +++ b/index.html @@ -0,0 +1,233 @@ + + + + + +Test results - Test Summary + + + + + +
+

Test Summary

+
+ + + + + +
+
+ + + + + + + +
+
+
119
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
17.392s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Packages

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PackageTestsFailuresIgnoredDurationSuccess rate
+default-package +770017.056s100%
+client +3000.260s100%
+power +39000.076s100%
+
+
+

Classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+ApplicationTests +740017.014s100%
+ModTestBM +1000.014s100%
+ModTestExotic +1000.014s100%
+ModTestHAI +1000.014s100%
+client.Base32768CoderTests +2000.235s100%
+client.FloatEmbedTests +1000.025s100%
+power.ConsumeGeneratorTests +19000.029s100%
+power.DirectConsumerTests +3000.018s100%
+power.PowerTests$PowerGraphTests +17000.029s100%
+
+
+ +
+ + diff --git a/js/report.js b/js/report.js new file mode 100644 index 00000000..83bab4a1 --- /dev/null +++ b/js/report.js @@ -0,0 +1,194 @@ +(function (window, document) { + "use strict"; + + var tabs = {}; + + 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 initTabs() { + var container = document.getElementById("tabs"); + + tabs.tabs = findTabs(container); + tabs.titles = findTitles(tabs.tabs); + tabs.headers = findHeaders(container); + tabs.select = select; + tabs.deselectAll = deselectAll; + tabs.select(0); + + return true; + } + + function getCheckBox() { + return document.getElementById("line-wrapping-toggle"); + } + + function getLabelForCheckBox() { + return document.getElementById("label-for-line-wrapping-toggle"); + } + + function findCodeBlocks() { + var spans = document.getElementById("tabs").getElementsByTagName("span"); + var codeBlocks = []; + for (var i = 0; i < spans.length; ++i) { + if (spans[i].className.indexOf("code") >= 0) { + codeBlocks.push(spans[i]); + } + } + return codeBlocks; + } + + function forAllCodeBlocks(operation) { + var codeBlocks = findCodeBlocks(); + + for (var i = 0; i < codeBlocks.length; ++i) { + operation(codeBlocks[i], "wrapped"); + } + } + + function toggleLineWrapping() { + var checkBox = getCheckBox(); + + if (checkBox.checked) { + forAllCodeBlocks(addClass); + } else { + forAllCodeBlocks(removeClass); + } + } + + function initControls() { + if (findCodeBlocks().length > 0) { + var checkBox = getCheckBox(); + var label = getLabelForCheckBox(); + + checkBox.onclick = toggleLineWrapping; + checkBox.checked = false; + + removeClass(label, "hidden"); + } + } + + function switchTab() { + var id = this.id.substr(1); + + for (var i = 0; i < tabs.tabs.length; i++) { + if (tabs.tabs[i].id === id) { + tabs.select(i); + break; + } + } + + return false; + } + + function select(i) { + this.deselectAll(); + + changeElementClass(this.tabs[i], "tab selected"); + changeElementClass(this.headers[i], "selected"); + + while (this.headers[i].firstChild) { + this.headers[i].removeChild(this.headers[i].firstChild); + } + + var h2 = document.createElement("H2"); + + h2.appendChild(document.createTextNode(this.titles[i])); + this.headers[i].appendChild(h2); + } + + function deselectAll() { + for (var i = 0; i < this.tabs.length; i++) { + changeElementClass(this.tabs[i], "tab deselected"); + changeElementClass(this.headers[i], "deselected"); + + while (this.headers[i].firstChild) { + this.headers[i].removeChild(this.headers[i].firstChild); + } + + var a = document.createElement("A"); + + a.setAttribute("id", "ltab" + i); + a.setAttribute("href", "#tab" + i); + a.onclick = switchTab; + a.appendChild(document.createTextNode(this.titles[i])); + + this.headers[i].appendChild(a); + } + } + + function findTabs(container) { + return findChildElements(container, "DIV", "tab"); + } + + function findHeaders(container) { + var owner = findChildElements(container, "UL", "tabLinks"); + return findChildElements(owner[0], "LI", null); + } + + function findTitles(tabs) { + var titles = []; + + for (var i = 0; i < tabs.length; i++) { + var tab = tabs[i]; + var 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) { + var elements = []; + var children = container.childNodes; + + for (var i = 0; i < children.length; i++) { + var child = children.item(i); + + if (child.nodeType === 1 && child.nodeName === name) { + if (targetClass && child.className.indexOf(targetClass) < 0) { + continue; + } + + elements.push(child); + } + } + + return elements; + } + + // Entry point. + + window.onload = function() { + initTabs(); + initControls(); + }; +} (window, window.document)); \ No newline at end of file diff --git a/packages/client.html b/packages/client.html new file mode 100644 index 00000000..819f0d4b --- /dev/null +++ b/packages/client.html @@ -0,0 +1,113 @@ + + + + + +Test results - Package client + + + + + +
+

Package client

+ +
+ + + + + +
+
+ + + + + + + +
+
+
3
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.260s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+Base32768CoderTests +2000.235s100%
+FloatEmbedTests +1000.025s100%
+
+
+ +
+ + diff --git a/packages/default-package.html b/packages/default-package.html new file mode 100644 index 00000000..4a0e72bb --- /dev/null +++ b/packages/default-package.html @@ -0,0 +1,133 @@ + + + + + +Test results - Default package + + + + + +
+

Default package

+ +
+ + + + + +
+
+ + + + + + + +
+
+
77
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
17.056s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+ApplicationTests +740017.014s100%
+ModTestBM +1000.014s100%
+ModTestExotic +1000.014s100%
+ModTestHAI +1000.014s100%
+
+
+ +
+ + diff --git a/packages/power.html b/packages/power.html new file mode 100644 index 00000000..36d65fbc --- /dev/null +++ b/packages/power.html @@ -0,0 +1,123 @@ + + + + + +Test results - Package power + + + + + +
+

Package power

+ +
+ + + + + +
+
+ + + + + + + +
+
+
39
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.076s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+ConsumeGeneratorTests +19000.029s100%
+DirectConsumerTests +3000.018s100%
+PowerGraphTests +17000.029s100%
+
+
+ +
+ +