Sha256: c564b189ae7e81083fd758b7bd19900c8f4bcc5bc84d7db5832e19e67d015aa9
Contents?: true
Size: 1.89 KB
Versions: 3
Compression:
Stored size: 1.89 KB
Contents
require 'spec_helper' describe Infobar::Display do let :output do StringIO.new end let :display do described_class.new end before do display.output = output allow(display).to receive(:columns).and_return 40 end it 'can be updated' do display.update message: 'test', progressed: 0.5 expect(output.tap(&:rewind).read).to eq\ "\r\e[38;5;22m\e[48;5;40m░░░░░░░░░░░░░░░░░░te\e[0m\e[0m\e[38;5;40m\e[48;5;22mst \e[0m\e[0m" end it 'update returns carriage first' do expect(display).to receive(:carriage_return).and_call_original display.update message: 'test', progressed: 0.5 expect(output.tap(&:rewind).read).to start_with ?\r end it 'reset clears and sets to default style' do expect(display).to receive(:clear).and_call_original expect(display).to receive(:style=).with(display.class.default_style) display.reset end it 'has style' do test_style = { done_fill: ?X, done_fg_color: 1, done_bg_color: 9, todo_fill: ?O, todo_fg_color: 0, todo_bg_color: 8 } display.style = test_style display.update message: 'test', progressed: 0.5 expect(output.tap(&:rewind).read).to eq\ "\r\e[38;5;1m\e[48;5;9mXXXXXXXXXXXXXXXXXXte\e[0m\e[0m\e[38;5;0m\e[48;5;8mstOOOOOOOOOOOOOOOOOO\e[0m\e[0m" expect(display.style).to eq(test_style) end it 'can output newline' do expect(display.output).to receive(:<<).with($/) display.newline end it 'can be shown' do display.show = true expect(display).to be_show expect(output).to receive(:<<) display.output << 'hello world' expect(display.input).not_to be_nil end it 'can be hidden' do display.show = false expect(display).not_to be_show expect(output).not_to receive(:<<) display.output << 'hello world' expect(display.input).to be_nil end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
infobar-0.0.2 | spec/infobar/display_spec.rb |
infobar-0.0.1 | spec/infobar/display_spec.rb |
infobar-0.0.0 | spec/infobar/display_spec.rb |