Sha256: 98a5bbec22c43f3213555944ecca8c5d8e0f00003d8a5698fa5b14a4102ca9e1

Contents?: true

Size: 1.31 KB

Versions: 4

Compression:

Stored size: 1.31 KB

Contents

require 'test_helper'

module Vedeu
  describe Style do
    describe '#initialize' do
      it 'returns an instance of itself' do
        values = ''

        Style.new(values).must_be_instance_of(Style)
      end
    end

    describe '#attributes' do
      it 'returns an attributes hash for this instance' do
        Style.new(['bold']).attributes.must_equal(
          {
            style: ['bold']
          }
        )
      end
    end

    describe '#to_s' do
      describe 'for a single style' do
        let(:values) { 'normal' }

        it 'returns an escape sequence' do
          Style.new(values).to_s.must_equal("\e[24m\e[22m\e[27m")
        end
      end

      describe 'for multiple styles' do
        let(:values) { ['normal', 'underline'] }

        it 'returns an escape sequence for multiple styles' do
          Style.new(values).to_s.must_equal("\e[24m\e[22m\e[27m\e[4m")
        end
      end

      describe 'for an unknown style' do
        let(:values) { 'unknown' }

        it 'returns an empty string for an unknown style' do
          Style.new(values).to_s.must_equal('')
        end
      end

      describe 'for an empty or nil' do
        let(:values) { '' }

        it 'returns an empty string for empty or nil' do
          Style.new(values).to_s.must_equal('')
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vedeu-0.2.4 test/lib/vedeu/models/style_test.rb
vedeu-0.2.3 test/lib/vedeu/models/style_test.rb
vedeu-0.2.2 test/lib/vedeu/models/style_test.rb
vedeu-0.2.1 test/lib/vedeu/models/style_test.rb