mirror of
https://github.com/go-gitea/gitea.git
synced 2026-07-28 09:15:18 +02:00
Backport #38659 fix #38652 UI part (`.log-msg`) uses "white-space: break-spaces;" so the new line can be correctly rendered. Signed-off-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: silverwind <me@silverwind.io>
41 lines
3.1 KiB
TypeScript
41 lines
3.1 KiB
TypeScript
import {createLogLineMessage, parseLogLineCommand} from './ActionRunView.ts';
|
|
|
|
test('LogLineMessage', () => {
|
|
const cases = {
|
|
'normal message': '<span class="log-msg">normal message</span>',
|
|
'##[group] foo': '<span class="log-msg log-cmd-group"> foo</span>',
|
|
'::group::foo': '<span class="log-msg log-cmd-group">foo</span>',
|
|
'##[endgroup]': '<span class="log-msg log-cmd-endgroup"></span>',
|
|
'::endgroup::': '<span class="log-msg log-cmd-endgroup"></span>',
|
|
|
|
'##[error] foo': '<span class="log-msg log-cmd-error"><span class="log-msg-label">Error:</span><span> foo</span></span>',
|
|
'##[warning] foo': '<span class="log-msg log-cmd-warning"><span class="log-msg-label">Warning:</span><span> foo</span></span>',
|
|
'##[notice] foo': '<span class="log-msg log-cmd-notice"><span class="log-msg-label">Notice:</span><span> foo</span></span>',
|
|
'##[debug] foo': '<span class="log-msg log-cmd-debug"><span class="log-msg-label">Debug:</span><span> foo</span></span>',
|
|
'::error::foo': '<span class="log-msg log-cmd-error"><span class="log-msg-label">Error:</span><span> foo</span></span>',
|
|
'::warning file=test.js,line=1::foo': '<span class="log-msg log-cmd-warning"><span class="log-msg-label">Warning:</span><span> foo</span></span>',
|
|
'::error::foo%0Abar': '<span class="log-msg log-cmd-error"><span class="log-msg-label">Error:</span><span> foo\nbar</span></span>',
|
|
'::error::foo%0D%0Abar': '<span class="log-msg log-cmd-error"><span class="log-msg-label">Error:</span><span> foo\nbar</span></span>',
|
|
'::error::100%25 done%250A': '<span class="log-msg log-cmd-error"><span class="log-msg-label">Error:</span><span> 100% done%0A</span></span>',
|
|
'::error::keep%5Dsemi%3B': '<span class="log-msg log-cmd-error"><span class="log-msg-label">Error:</span><span> keep%5Dsemi%3B</span></span>',
|
|
'::group::foo%0Abar': '<span class="log-msg log-cmd-group">foo\nbar</span>',
|
|
'##[error]foo%0Abar%3B%5D': '<span class="log-msg log-cmd-error"><span class="log-msg-label">Error:</span><span> foo\nbar;]</span></span>',
|
|
'##[command]foo%0Abar': '<span class="log-msg log-cmd-command">foo%0Abar</span>',
|
|
'::notice::foo': '<span class="log-msg log-cmd-notice"><span class="log-msg-label">Notice:</span><span> foo</span></span>',
|
|
'::debug::foo': '<span class="log-msg log-cmd-debug"><span class="log-msg-label">Debug:</span><span> foo</span></span>',
|
|
'##[command] foo': '<span class="log-msg log-cmd-command"> foo</span>',
|
|
'[command] foo': '<span class="log-msg log-cmd-command"> foo</span>',
|
|
|
|
// hidden is special, it is actually skipped before creating
|
|
'##[add-matcher]foo': '<span class="log-msg log-cmd-hidden">foo</span>',
|
|
'::add-matcher::foo': '<span class="log-msg log-cmd-hidden">foo</span>',
|
|
'::remove-matcher foo::': '<span class="log-msg log-cmd-hidden"> foo::</span>', // not correctly parsed, but we don't need it
|
|
};
|
|
for (const [input, html] of Object.entries(cases)) {
|
|
const line = {index: 0, timestamp: 0, message: input};
|
|
const cmd = parseLogLineCommand(line);
|
|
const el = createLogLineMessage(line, cmd);
|
|
expect(el.outerHTML).toBe(html);
|
|
}
|
|
});
|