Sha256: d647cf094f09e746c43e3e614050e8d00918912c180416f90a1f40d48e40a330

Contents?: true

Size: 1.73 KB

Versions: 5

Compression:

Stored size: 1.73 KB

Contents

require 'spec_helper'

module ExcelWalker::Writer
  describe Cells do
    subject(:cells) { Cells.new(:style) }

    describe '#set_data_at' do
      it 'sets data at specified position' do
        cells.set_data_at(2, :data)
        expect(cells.data).to eq [nil, nil, :data]
      end

      it 'sets data at specified range' do
        cells.set_data_at(4..6, :data)
        expect(cells.data).to eq [nil, nil, nil, nil, :data, :data, :data]
      end
    end

    describe '#set_style_at' do
      it 'sets style at specified position' do
        cells.set_style_at(2, :style)
        expect(cells.styles).to eq [nil, nil, :style]
      end

      it 'sets data at specified range' do
        cells.set_style_at(4..6, :style)
        expect(cells.styles).to eq [nil, nil, nil, nil, :style, :style, :style]
      end
    end

    describe '#build' do

      context 'when no data is set but width is set' do
        it 'maps style for each data cell' do
          cells.width = 4
          cells.build
          expect(cells.styles).to eq [:style, :style, :style, :style]
        end
      end

      context 'when data is set' do
        it 'maps style for each data cell' do
          cells.set_data_at(3..5, :data)
          cells.build
          expect(cells.data).to eq [nil, nil, nil, :data, :data, :data]
          expect(cells.styles).to eq [:style, :style, :style, :style, :style, :style]
        end
      end

      context 'when both data and styles are set' do
        it 'maps style for each data cell' do
          cells.set_data_at(3..5, :data)
          cells.set_style_at([2, 3, 5], :new_style)
          cells.build
          expect(cells.styles).to eq [:style, :style, :new_style, :new_style, :style, :new_style]
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
excel_walker-0.1.7 spec/excel_walker/writer/cells_spec.rb
excel_walker-0.1.5 spec/excel_walker/writer/cells_spec.rb
excel_walker-0.1.4 spec/excel_walker/writer/cells_spec.rb
excel_walker-0.1.3 spec/excel_walker/writer/cells_spec.rb
excel_walker-0.1.2 spec/excel_walker/writer/cells_spec.rb