{{ title }}

上传 YGOPro 扩展包(zip / ypk),实时输出错误报告。

支持多选,支持 zip 或 ypk。
@if (selectedFiles().length > 0) {
已选择的扩展包:
    @for (file of selectedFiles(); track file.name) {
  • {{ file.name }} {{ formatFileSize(file.size) }}
  • }
}
选择文件后将自动开始测试。
@if (globalError()) { }

测试进度

{{ statusMessage() }}
{{ progress().percent }}%
已完成 {{ progress().done }} / {{ progress().total }}
失败卡片数:{{ progress().failed }}
@if (hasResults()) {

测试报告

@if (zipFilterOptions().length > 1) { }
扩展包:{{ overallStats().zipTotal }},正常 {{ overallStats().zipPassed }},异常 {{ overallStats().zipFailed }}
CDB:{{ overallStats().cdbTotal }},正常 {{ overallStats().cdbPassed }},异常 {{ overallStats().cdbFailed }}
卡片:{{ overallStats().cardTotal }},通过 {{ overallStats().cardPassed }},失败 {{ overallStats().cardFailed }}
@if (visibleReports().length === 0) {
当前筛选无扩展包。
} @for (report of visibleReports(); track report.fileName) {

{{ report.fileName }}

{{ packageCardSummary(report) }} · {{ packageCdbSummary(report) }}
{{ packageStatusLabel(report) }}
@if (report.error) { } @if (cdbFilterOptions(report).length > 1) {
} @if (report.cdbs.length === 0) {
未在根目录找到 cdb 文件。
} @else if (visibleCdbs(report).length === 0) {
当前筛选无 cdb。
} @for (cdb of visibleCdbs(report); track cdb.fileName) {

{{ cdb.fileName }}

卡片 {{ cdb.totalTestableCards }},已测 {{ cdb.testedCards }},通过 {{ cdb.passedCards }},失败 {{ cdb.failedCards }}
{{ cdbStatusLabel(cdb) }}
@if (cdb.error) { } @if (cardFilterOptions(cdb).length > 1) {
} @if (cdb.cards.length === 0) {
没有需要测试的卡片。
} @else if (visibleCards(cdb).length === 0) {
当前筛选无卡片。
} @for (card of visibleCards(cdb); track card.id) {
{{ card.name }} #{{ card.id }}
@if (card.skipTest) {
无需测试
} @else if (card.scriptErrors.length > 0) {
错误信息数量:{{ card.scriptErrors.length }}
} @else if (card.status === 'passed') {
卡片状态正常
} @else if (card.status === 'pending') {
等待测试输出。
} @else if (card.status === 'running') {
正在生成测试输出...
}
{{ cardStatusLabelForCard(card) }}
@if (card.detail) { } @if (card.logs.length > 0) {
测试输出
    @for (entry of card.logs; track $index) {
  • {{ entry.message }}
  • }
}
}
}
}
}