Commit e4fdf87e authored by edy's avatar edy

fix(ui): truncate task output summaries

parent 58f1def1
Pipeline #18471 failed
......@@ -557,10 +557,14 @@
.task-panel-output-main p {
margin: 0;
min-width: 0;
color: #52657f;
font-size: 12.5px;
font-weight: 600;
line-height: 1.5;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.task-panel-output-url-row {
......
......@@ -3,8 +3,24 @@ import assert from "node:assert/strict"
import { readFileSync } from "node:fs"
const source = readFileSync(new URL("../src/features/tasks/TaskPanelView.tsx", import.meta.url), "utf8")
const taskStylesSource = readFileSync(new URL("../src/styles/tasks.css", import.meta.url), "utf8")
function cssBlock(sourceText: string, selector: string): string {
const start = sourceText.indexOf(`${selector} {`)
assert.notEqual(start, -1, `Missing CSS selector: ${selector}`)
const end = sourceText.indexOf("\n}", start)
assert.notEqual(end, -1, `Missing CSS block end: ${selector}`)
return sourceText.slice(start, end + 2)
}
test("task panel output uses real artifact paths and produced timestamps", () => {
assert.match(source, /artifact\.path\s*\?\?\s*artifact\.url/)
assert.match(source, /artifact\.producedAt\s*\?\?/)
})
test("task panel output summaries use a single-line visual ellipsis", () => {
const summaryBlock = cssBlock(taskStylesSource, ".task-panel-output-main p")
assert.match(summaryBlock, /overflow:\s*hidden;/)
assert.match(summaryBlock, /text-overflow:\s*ellipsis;/)
assert.match(summaryBlock, /white-space:\s*nowrap;/)
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment