Sha256: 6e88a5281a6f19b1a2f1d619afa2184c373edff48549c19fe6da4845f5ee1f69
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
# -*- encoding: utf-8 -*- require 'spec_helper' def to_field(value) end describe TTY::Table, '#each_with_index' do let(:object) { described_class.new header, rows } let(:header) { ['Header1', 'Header2'] } let(:rows) { [['a1', 'a2'], ['b1', 'b2']] } let(:field) { TTY::Table::Field } context 'with no block' do subject { object.each_with_index } it { should be_instance_of(to_enum.class) } it 'yields the expected values' do subject.to_a.should eql(object.to_a) end end context 'with block' do let(:yields) { [] } subject { object.each_with_index { |el, row, col| yields << [el, row, col]}} context 'without header' do let(:header) { nil } let(:expected) { [ [field.new('a1'), 0, 0], [field.new('a2'), 0, 1], [field.new('b1'), 1, 0], [field.new('b2'), 1, 1] ] } it "yields rows with expected data" do expect { subject }.to change { yields }. from( [] ). to( expected ) end end context 'with header' do let(:expected) { [ [field.new('Header1'), 0, 0], [field.new('Header2'), 0, 1], [field.new('a1'), 1, 0], [field.new('a2'), 1, 1], [field.new('b1'), 2, 0], [field.new('b2'), 2, 1] ] } it "yields header and rows with expected data" do expect { subject }.to change { yields }. from( [] ). to( expected ) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tty-0.0.11 | spec/tty/table/each_with_index_spec.rb |
tty-0.0.10 | spec/tty/table/each_with_index_spec.rb |