diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-12-03 11:01:25 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-12-03 11:01:25 +0000 |
commit | 35623d779d1024e9824a271364223df5cb8be217 (patch) | |
tree | 691ff43a4ea6865b0857636af5cd932f8180e223 /test/stringio | |
parent | 856da5b4070923d9afe0dfb18d8c1fae515acd24 (diff) |
stringio: chomp option
* ext/stringio/stringio.c (strio_getline): implement chomp option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/stringio')
-rw-r--r-- | test/stringio/test_stringio.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/stringio/test_stringio.rb b/test/stringio/test_stringio.rb index fc3b6baebb..07435008ad 100644 --- a/test/stringio/test_stringio.rb +++ b/test/stringio/test_stringio.rb @@ -81,6 +81,21 @@ class TestStringIO < Test::Unit::TestCase assert_nothing_raised {StringIO.new("").gets(nil, nil)} end + def test_gets_chomp + assert_equal(nil, StringIO.new("").gets(chomp: true)) + assert_equal("", StringIO.new("\n").gets(chomp: true)) + assert_equal("a", StringIO.new("a\n").gets(chomp: true)) + assert_equal("a", StringIO.new("a\nb\n").gets(chomp: true)) + assert_equal("a", StringIO.new("a").gets(chomp: true)) + assert_equal("a", StringIO.new("a\nb").gets(chomp: true)) + assert_equal("abc", StringIO.new("abc\n\ndef\n").gets(chomp: true)) + assert_equal("abc\n\ndef", StringIO.new("abc\n\ndef\n").gets(nil, chomp: true)) + assert_equal("abc\n", StringIO.new("abc\n\ndef\n").gets("", chomp: true)) + stringio = StringIO.new("abc\n\ndef\n") + assert_equal("abc\n", stringio.gets("", chomp: true)) + assert_equal("def", stringio.gets("", chomp: true)) + end + def test_readlines assert_equal([], StringIO.new("").readlines) assert_equal(["\n"], StringIO.new("\n").readlines) @@ -476,8 +491,12 @@ class TestStringIO < Test::Unit::TestCase def test_each f = StringIO.new("foo\nbar\nbaz\n") assert_equal(["foo\n", "bar\n", "baz\n"], f.each.to_a) + f.rewind + assert_equal(["foo", "bar", "baz"], f.each(chomp: true).to_a) f = StringIO.new("foo\nbar\n\nbaz\n") assert_equal(["foo\nbar\n\n", "baz\n"], f.each("").to_a) + f.rewind + assert_equal(["foo\nbar\n", "baz"], f.each("", chomp: true).to_a) end def test_putc |