Sha256: 9e615c5da08a10ac6373283e4b1e665830e68df612770066ca6eff7e74d27875

Contents?: true

Size: 1.33 KB

Versions: 7

Compression:

Stored size: 1.33 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 # Style

end # Vedeu

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
vedeu-0.2.11 test/lib/vedeu/models/style_test.rb
vedeu-0.2.10 test/lib/vedeu/models/style_test.rb
vedeu-0.2.9 test/lib/vedeu/models/style_test.rb
vedeu-0.2.8 test/lib/vedeu/models/style_test.rb
vedeu-0.2.7 test/lib/vedeu/models/style_test.rb
vedeu-0.2.6 test/lib/vedeu/models/style_test.rb
vedeu-0.2.5 test/lib/vedeu/models/style_test.rb