Sha256: 98212b1629bb9f1fe8d6bac4641db313671b287595eb29eb6c2a5ec9e160049f

Contents?: true

Size: 1.93 KB

Versions: 3

Compression:

Stored size: 1.93 KB

Contents

require 'test_helper'

module Vedeu

  class ParentPresentationTestClass
    include Vedeu::Presentation

    def parent
      nil
    end

    def attributes
      {
        colour: { background: '#330000', foreground: '#00aadd' },
        style:  ['bold']
      }
    end
  end

  class PresentationTestClass
    include Vedeu::Presentation

    attr_reader :attributes

    def initialize(attributes = {})
      @attributes = attributes
    end

    def parent
      Vedeu::ParentPresentationTestClass.new
    end

  end # PresentationTestClass

  describe Presentation do

    let(:includer) { Vedeu::PresentationTestClass.new(attributes) }
    let(:attributes) {
      {
        colour: { background: background, foreground: foreground },
        style:  ['bold']
      }
    }
    let(:background) { '#000033' }
    let(:foreground) { '#aadd00' }

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

      it { includer.must_respond_to(:to_str) }

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

  end # Presentation

end # Vedeu

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vedeu-0.5.4 test/lib/vedeu/output/presentation_test.rb
vedeu-0.5.3 test/lib/vedeu/output/presentation_test.rb
vedeu-0.5.2 test/lib/vedeu/output/presentation_test.rb