test/stream_test.rb in iostreams-1.0.0.beta7 vs test/stream_test.rb in iostreams-1.0.0
- old
+ new
@@ -73,30 +73,30 @@
describe '.each_line' do
it 'returns a line at a time' do
lines = []
stream.stream(:none)
- count = stream.each_line { |line| lines << line }
+ count = stream.each(:line) { |line| lines << line }
assert_equal data.lines.map(&:strip), lines
assert_equal data.lines.count, count
end
it 'strips non-printable characters' do
input = StringIO.new(bad_data)
lines = []
stream = IOStreams::Stream.new(input)
stream.stream(:encode, encoding: 'UTF-8', cleaner: :printable, replace: '')
- count = stream.each_line { |line| lines << line }
+ count = stream.each(:line) { |line| lines << line }
assert_equal stripped_data.lines.map(&:strip), lines
assert_equal stripped_data.lines.count, count
end
end
- describe '.each_row' do
+ describe '.each row' do
end
- describe '.each_record' do
+ describe '.each record' do
end
describe '#writer' do
describe "#write" do
it 'one block' do
@@ -189,34 +189,34 @@
assert_equal "Hello World", io.string
end
end
end
- describe '#line_writer' do
+ describe '#writer(:line)' do
describe "#write" do
it 'one block' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream.write("Hello World")
end
assert_equal "Hello World\n", io.string
end
it 'multiple blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream.write("He")
stream.write("l")
stream.write("lo ")
stream.write("World")
end
assert_equal "He\nl\nlo \nWorld\n", io.string
end
it 'empty blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream.write("")
stream.write("He")
stream.write("")
stream.write("l")
stream.write("")
@@ -227,11 +227,11 @@
assert_equal "\nHe\n\nl\n\nlo \nWorld\n\n", io.string, io.string.inspect
end
it 'nil blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream.write(nil)
stream.write("He")
stream.write(nil)
stream.write("l")
stream.write(nil)
@@ -244,39 +244,39 @@
end
describe "#<<" do
it 'one block' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream << "Hello World"
end
assert_equal "Hello World\n", io.string
end
it 'multiple blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream << "He"
stream << "l" << "lo " << "World"
end
assert_equal "He\nl\nlo \nWorld\n", io.string
end
it 'empty blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream << ""
stream << "He" << "" << "l" << ""
stream << "lo " << "World"
stream << ""
end
assert_equal "\nHe\n\nl\n\nlo \nWorld\n\n", io.string
end
it 'nil blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream << nil
stream << "He" << nil << "l" << nil
stream << "lo " << "World"
stream << nil
end
@@ -285,36 +285,36 @@
end
describe "line writers within line writers" do
it 'uses existing line writer' do
io = StringIO.new
- IOStreams::Stream.new(io).line_writer do |stream|
+ IOStreams::Stream.new(io).writer(:line) do |stream|
stream.write("Before")
- IOStreams::Stream.new(stream).line_writer do |inner|
+ IOStreams::Stream.new(stream).writer(:line) do |inner|
stream.write("Inner")
assert_equal inner.object_id, stream.object_id
end
stream.write("After")
end
assert_equal "Before\nInner\nAfter\n", io.string, io.string.inspect
end
end
end
- describe '#row_writer' do
+ describe '#writer(:array)' do
describe "#write" do
it 'one block' do
io = StringIO.new
- IOStreams::Stream.new(io).row_writer do |stream|
+ IOStreams::Stream.new(io).writer(:array) do |stream|
stream << %w[Hello World]
end
assert_equal "Hello,World\n", io.string
end
it 'multiple blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).row_writer do |stream|
+ IOStreams::Stream.new(io).writer(:array) do |stream|
stream << %w[He]
stream << %w[l lo\ World]
stream << ["He", "", "l", ""]
stream << ["lo ", "World"]
end
@@ -322,11 +322,11 @@
end
it 'empty blocks' do
# skip "TODO"
io = StringIO.new
- IOStreams::Stream.new(io).row_writer do |stream|
+ IOStreams::Stream.new(io).writer(:array) do |stream|
stream << %w[He]
stream << []
stream << %w[l lo\ World]
stream << ["He", "", "l", ""]
stream << ["lo ", "World"]
@@ -335,11 +335,11 @@
assert_equal "He\n\nl,lo ,World\nHe,\"\",l,\"\"\nlo ,World\n\n", io.string, io.string.inspect
end
it 'nil values' do
io = StringIO.new
- IOStreams::Stream.new(io).row_writer do |stream|
+ IOStreams::Stream.new(io).writer(:array) do |stream|
stream << %w[He]
stream << %w[l lo\ World]
stream << ["He", nil, "l", nil]
stream << ["lo ", "World"]
end
@@ -347,11 +347,11 @@
end
it 'empty leading array' do
skip "TODO"
io = StringIO.new
- IOStreams::Stream.new(io).row_writer do |stream|
+ IOStreams::Stream.new(io).writer(:array) do |stream|
stream << []
stream << %w[He]
stream << %w[l lo\ World]
stream << ["He", "", "l", ""]
stream << ["lo ", "World"]
@@ -360,42 +360,42 @@
assert_equal "\nHe\n\nl\n\nlo \nWorld\n\n", io.string, io.string.inspect
end
end
end
- describe '#record_writer' do
+ describe '#writer(:hash)' do
describe "#write" do
it 'one block' do
io = StringIO.new
- IOStreams::Stream.new(io).record_writer do |stream|
+ IOStreams::Stream.new(io).writer(:hash) do |stream|
stream << {first_name: "Jack", last_name: "Johnson"}
end
assert_equal "first_name,last_name\nJack,Johnson\n", io.string, io.string.inspect
end
it 'multiple blocks' do
io = StringIO.new
- IOStreams::Stream.new(io).record_writer do |stream|
+ IOStreams::Stream.new(io).writer(:hash) do |stream|
stream << {first_name: "Jack", last_name: "Johnson"}
stream << {first_name: "Able", last_name: "Smith"}
end
assert_equal "first_name,last_name\nJack,Johnson\nAble,Smith\n", io.string, io.string.inspect
end
it 'empty hashes' do
io = StringIO.new
- IOStreams::Stream.new(io).record_writer do |stream|
+ IOStreams::Stream.new(io).writer(:hash) do |stream|
stream << {first_name: "Jack", last_name: "Johnson"}
stream << {} << {first_name: "Able", last_name: "Smith"}
stream << {}
end
assert_equal "first_name,last_name\nJack,Johnson\n\n{:first_name=>\"Able\", :last_name=>\"Smith\"}\n\n", io.string, io.string.inspect
end
it 'nil values' do
skip "TODO"
io = StringIO.new
- IOStreams::Stream.new(io).record_writer do |stream|
+ IOStreams::Stream.new(io).writer(:hash) do |stream|
stream << {first_name: "Jack", last_name: "Johnson"}
stream << {} << {first_name: "Able", last_name: "Smith"}
stream << {first_name: "Able", last_name: nil}
stream << {}
end