spec/unit/reader/read_multiline_spec.rb in tty-prompt-0.10.1 vs spec/unit/reader/read_multiline_spec.rb in tty-prompt-0.11.0
- old
+ new
@@ -1,45 +1,46 @@
# encoding: utf-8
RSpec.describe TTY::Prompt::Reader, '#read_multiline' do
let(:input) { StringIO.new }
let(:output) { StringIO.new }
+ let(:env) { { "TTY_TEST" => true } }
- subject(:reader) { described_class.new(input, output) }
+ subject(:reader) { described_class.new(input, output, env: env) }
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 << "Single line\n"
input.rewind
answer = reader.read_multiline
- expect(answer).to eq(['Single line'])
+ expect(answer).to eq(["Single line\n"])
end
it 'reads few lines' do
- input << "First line\nSecond line\nThird line"
+ input << "First line\nSecond line\nThird line\n"
input.rewind
answer = reader.read_multiline
- expect(answer).to eq(['First line', 'Second line', 'Third line'])
+ expect(answer).to eq(["First line\n", "Second line\n", "Third line\n"])
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'])
+ expect(lines).to eq(["First line\n", "Second line\n", "Third line"])
end
it 'reads multibyte lines' do
input << "국경의 긴 터널을 빠져나오자\n설국이었다."
input.rewind
lines = []
reader.read_multiline { |line| lines << line }
- expect(lines).to eq(["국경의 긴 터널을 빠져나오자", '설국이었다.'])
+ expect(lines).to eq(["국경의 긴 터널을 빠져나오자\n", '설국이었다.'])
end
end