summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/ci/ansi2json/parser_spec.rb
blob: e161e74c1ff2a4047f3162d7d1abc0d1b4ea1ba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# frozen_string_literal: true

require 'spec_helper'

# The rest of the specs for this class are covered in style_spec.rb
describe Gitlab::Ci::Ansi2json::Parser do
  subject { described_class }

  describe 'bold?' do
    it 'returns true if style mask matches bold format' do
      expect(subject.bold?(0x01)).to be_truthy
    end

    it 'returns false if style mask does not match bold format' do
      expect(subject.bold?(0x02)).to be_falsey
    end
  end

  describe 'matching_formats' do
    it 'returns matching formats given a style mask' do
      expect(subject.matching_formats(0x01)).to eq(%w[term-bold])
      expect(subject.matching_formats(0x03)).to eq(%w[term-bold term-italic])
      expect(subject.matching_formats(0x07)).to eq(%w[term-bold term-italic term-underline])
    end

    it 'returns an empty array if no formats match the style mask' do
      expect(subject.matching_formats(0)).to eq([])
    end
  end
end