Sha256: f1b888750031d16d196272f8a1712d99ddfc18a49365a3b92f9053ca4b867f94

Contents?: true

Size: 1.43 KB

Versions: 3

Compression:

Stored size: 1.43 KB

Contents

require 'test_helper'

module Vedeu

  describe Presentation do

    let(:receiver) { PresentationTestClass.new }

    describe '#colour=' do
      let(:colour) { Colour.new({ foreground: '#00ff00', background: '#000000' }) }

      subject { receiver.colour=(colour) }

      it { subject.must_be_instance_of(Colour) }
    end

    describe '#style=' do
      let(:style) { Style.new('normal') }

      subject { receiver.style=(style) }

      it { subject.must_be_instance_of(Style) }
    end

    describe '#to_s' do
      let(:line) { Line.new(
          [],
          mock('Interface'),
          Colour.new({ foreground: '#00ff00', background: '#000000' }),
          Style.new('normal')
        )
      }
      let(:stream) { Stream.new(stream_value, line, stream_colour, stream_style) }
      let(:stream_value)  { 'Some text' }
      let(:stream_colour) { Colour.new({ foreground: '#ff0000', background: '#000000' }) }
      let(:stream_style)  { Style.new(:underline) }

      it 'returns output' do
        stream.to_s.must_equal(
          # - stream colour
          # - stream style
          # - stream content
          # - line style
          # - line colour
          "\e[38;2;255;0;0m\e[48;2;0;0;0m"  \
          "\e[4m"                           \
          "Some text"                       \
          "\e[24m\e[22m\e[27m"              \
          "\e[38;2;0;255;0m\e[48;2;0;0;0m"
        )
      end
    end

  end # Presentation

end # Vedeu

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vedeu-0.3.2 test/lib/vedeu/presentation/presentation_test.rb
vedeu-0.3.1 test/lib/vedeu/presentation/presentation_test.rb
vedeu-0.3.0 test/lib/vedeu/presentation/presentation_test.rb