Sha256: 90df76fdc9762c4fe18c1d81588b43ee27e16c884be486784dc6ca2b3296b9ec

Contents?: true

Size: 936 Bytes

Versions: 7

Compression:

Stored size: 936 Bytes

Contents

# encoding: utf-8

RSpec.describe TTY::Prompt::Reader, '#read_multiline' do
  let(:input)  { StringIO.new }
  let(:output) { StringIO.new }

  subject(:reader) { described_class.new(input, output) }

  it 'reads no lines' do
    input << ''
    input.rewind
    answer = reader.read_multiline
    expect(answer).to eq([])
  end

  it "reads a line" do
    input << "Single line"
    input.rewind
    answer = reader.read_multiline
    expect(answer).to eq(['Single line'])
  end

  it 'reads few lines' do
    input << "First line\nSecond line\nThird line"
    input.rewind
    answer = reader.read_multiline
    expect(answer).to eq(['First line', 'Second line', 'Third line'])
  end

  it 'reads and yiels every line' do
    input << "First line\nSecond line\nThird line"
    input.rewind
    lines = []
    reader.read_multiline { |line| lines << line }
    expect(lines).to eq(['First line', 'Second line', 'Third line'])
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
tty-prompt-0.8.0 spec/unit/reader/read_multiline_spec.rb
tty-prompt-0.7.1 spec/unit/reader/read_multiline_spec.rb
tty-prompt-0.7.0 spec/unit/reader/read_multiline_spec.rb
tty-prompt-0.6.0 spec/unit/reader/read_multiline_spec.rb
tty-prompt-0.5.0 spec/unit/reader/read_multiline_spec.rb
tty-prompt-0.4.0 spec/unit/reader/read_multiline_spec.rb
tty-prompt-0.3.0 spec/unit/reader/read_multiline_spec.rb