Commit b17b5a8c authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch 'fix-job-log-style-reset' into 'master'

Fix style reset in job log

See merge request gitlab-org/gitlab!20367
parents bf24aef3 5d6dc871
---
title: Fix style reset in job log when empty ANSI sequence is encoutered
merge_request: 20367
author:
type: fixed
...@@ -15,14 +15,10 @@ module Gitlab ...@@ -15,14 +15,10 @@ module Gitlab
end end
def update(ansi_commands) def update(ansi_commands)
command = ansi_commands.shift # treat e\[m as \e[0m
return unless command ansi_commands = ['0'] if ansi_commands.empty?
if changes = Gitlab::Ci::Ansi2json::Parser.new(command, ansi_commands).changes
apply_changes(changes)
end
update(ansi_commands) evaluate_stack_command(ansi_commands)
end end
def set? def set?
...@@ -50,6 +46,17 @@ module Gitlab ...@@ -50,6 +46,17 @@ module Gitlab
private private
def evaluate_stack_command(ansi_commands)
command = ansi_commands.shift
return unless command
if changes = Gitlab::Ci::Ansi2json::Parser.new(command, ansi_commands).changes
apply_changes(changes)
end
evaluate_stack_command(ansi_commands)
end
def apply_changes(changes) def apply_changes(changes)
case case
when changes[:reset] when changes[:reset]
......
...@@ -143,6 +143,7 @@ describe Gitlab::Ci::Ansi2json::Style do ...@@ -143,6 +143,7 @@ describe Gitlab::Ci::Ansi2json::Style do
[[], %w[106], 'term-bg-l-cyan', 'sets bg color light cyan'], [[], %w[106], 'term-bg-l-cyan', 'sets bg color light cyan'],
[[], %w[107], 'term-bg-l-white', 'sets bg color light white'], [[], %w[107], 'term-bg-l-white', 'sets bg color light white'],
# reset # reset
[%w[1], %w[], '', 'resets style from format bold'],
[%w[1], %w[0], '', 'resets style from format bold'], [%w[1], %w[0], '', 'resets style from format bold'],
[%w[1 3], %w[0], '', 'resets style from format bold and italic'], [%w[1 3], %w[0], '', 'resets style from format bold and italic'],
[%w[1 3 term-fg-l-red term-bg-yellow], %w[0], '', 'resets all formats and colors'], [%w[1 3 term-fg-l-red term-bg-yellow], %w[0], '', 'resets all formats and colors'],
......
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