# encoding: utf-8 require 'spec_helper' describe TTY::Table::Renderer::ASCII, 'padding' do let(:header) { ['Field', 'Type', 'Null', 'Key', 'Default', 'Extra'] } let(:rows) { [['id', 'int(11)', 'YES', 'nil', 'NULL', '']] } let(:table) { TTY::Table.new(header, rows) } subject(:renderer) { described_class.new(table, options) } context 'with left & right padding' do let(:options) { {padding: [0,1,0,1]} } it 'pads each field' do expect(renderer.render).to eql <<-EOS.chomp +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | nil | NULL | | +-------+---------+------+-----+---------+-------+ EOS end end context 'with top & bottom padding' do let(:options) { {padding: [1,0,1,0], multiline: true} } it 'pads each field' do expect(renderer.render).to eql <<-EOS.chomp +-----+-------+----+---+-------+-----+ | | | | | | | |Field|Type |Null|Key|Default|Extra| | | | | | | | +-----+-------+----+---+-------+-----+ | | | | | | | |id |int(11)|YES |nil|NULL | | | | | | | | | +-----+-------+----+---+-------+-----+ EOS end end context 'with full padding' do let(:options) { {padding: [1,1,1,1], multiline: true} } it 'pads each field' do expect(renderer.render).to eql <<-EOS.chomp +-------+---------+------+-----+---------+-------+ | | | | | | | | Field | Type | Null | Key | Default | Extra | | | | | | | | +-------+---------+------+-----+---------+-------+ | | | | | | | | id | int(11) | YES | nil | NULL | | | | | | | | | +-------+---------+------+-----+---------+-------+ EOS end end end