Sha256: 9515321c1663a2671c598d7aec7f731f566e805428b8aac372b23447f80a3ab4

Contents?: true

Size: 1.14 KB

Versions: 9

Compression:

Stored size: 1.14 KB

Contents

# coding: utf-8

require 'spec_helper'

RSpec.describe TTY::Table::Renderer::Basic, 'options' do
  let(:rows)   { [['a1', 'a2'], ['b1', 'b2']] }
  let(:object) { described_class }
  let(:table)  { TTY::Table.new(rows) }
  let(:widths) { nil }
  let(:alignments) { [] }
  let(:options) {
    {
      column_widths: widths,
      alignments: alignments,
      renderer: :basic
    }
  }

  subject(:renderer) { object.new table, options }

  it { expect(renderer.border).to be_kind_of(TTY::Table::BorderOptions) }

  it { expect(renderer.column_widths).to eql([2,2]) }

  it { expect(renderer.alignments.to_a).to eql(alignments) }

  it { expect(renderer.alignments.to_a).to be_empty }

  context '#column_widths' do
    let(:widths) { [10, 10] }

    it { expect(renderer.column_widths).to eq(widths) }
  end

  context '#column_widths empty' do
    let(:widths) { [] }

    it {
      expect {
        renderer.column_widths
      }.to raise_error(TTY::Table::InvalidArgument)
    }
  end

  context '#alignments' do
    let(:alignments) { [:center, :center] }

    it 'unwraps original array' do
      expect(renderer.alignments.to_a).to eq(alignments)
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
tty-table-0.10.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.9.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.8.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.7.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.6.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.5.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.4.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.3.0 spec/unit/renderer/basic/options_spec.rb
tty-table-0.2.0 spec/unit/renderer/basic/options_spec.rb