Sha256: d9ba50c697d95700060977fd5eaf1ade0c108842b999c72c3883902a56647428

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require_relative '../../../test_helper'
require_relative '../../../../lib/vedeu/models/line'

module Vedeu
  describe Line do
    it 'has a colour attribute' do
      Line.new({
        colour: { foreground: '#ff0000', background: '#000000' }
      }).colour.must_be_instance_of(Colour)
    end

    it 'has a model attribute' do
      Line.new(model: {}).model.must_be_instance_of(Hash)
    end

    it 'has a streams attribute' do
      Line.new(streams: []).streams.must_equal([])
    end

    describe '#to_json' do
      it 'returns an String' do
        Line.new({
          colour:  { foreground: '#ff0000', background: '#000000' },
          style:   'normal',
          streams: [],
        }).to_json.must_equal("{\"colour\":{\"foreground\":\"#ff0000\",\"background\":\"#000000\"},\"style\":[\"normal\"],\"streams\":[]}")
      end
    end

    describe '#to_s' do
      it 'returns an String' do
        Line.new({
          colour: { foreground: '#ff0000', background: '#000000' },
          style:  'normal',
        }).to_s.must_equal("\e[38;5;196m\e[48;5;16m\e[24m\e[21m\e[27m")
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.0.33 test/lib/vedeu/models/line_test.rb