diff options
Diffstat (limited to 'spec/lib/gitlab/ci/ansi2json/state_spec.rb')
-rw-r--r-- | spec/lib/gitlab/ci/ansi2json/state_spec.rb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/spec/lib/gitlab/ci/ansi2json/state_spec.rb b/spec/lib/gitlab/ci/ansi2json/state_spec.rb index 8dd4092f3d8..07e6579829a 100644 --- a/spec/lib/gitlab/ci/ansi2json/state_spec.rb +++ b/spec/lib/gitlab/ci/ansi2json/state_spec.rb @@ -8,7 +8,7 @@ RSpec.describe Gitlab::Ci::Ansi2json::State, feature_category: :continuous_integ state.offset = 1 state.new_line!(style: { fg: 'some-fg', bg: 'some-bg', mask: 1234 }) state.set_last_line_offset - state.open_section('hello', 111, {}) + state.open_section('hello', 100, {}) end end @@ -24,7 +24,7 @@ RSpec.describe Gitlab::Ci::Ansi2json::State, feature_category: :continuous_integ fg: 'some-fg', mask: 1234 }) - expect(new_state.open_sections).to eq({ 'hello' => 111 }) + expect(new_state.open_sections).to eq({ 'hello' => 100 }) end it 'ignores unsigned prior state', :aggregate_failures do @@ -44,6 +44,23 @@ RSpec.describe Gitlab::Ci::Ansi2json::State, feature_category: :continuous_integ expect(new_state.open_sections).to eq({}) end + it 'opens and closes a section', :aggregate_failures do + new_state = described_class.new('', 1000) + + new_state.new_line!(style: {}) + new_state.open_section('hello', 100, {}) + + expect(new_state.current_line.section_header).to eq(true) + expect(new_state.current_line.section_footer).to eq(false) + + new_state.new_line!(style: {}) + new_state.close_section('hello', 101) + + expect(new_state.current_line.section_header).to eq(false) + expect(new_state.current_line.section_duration).to eq('00:01') + expect(new_state.current_line.section_footer).to eq(true) + end + it 'ignores bad input', :aggregate_failures do expect(::Gitlab::AppLogger).to( receive(:warn).with( |