[ruby/openssl] Add support for gets(chomp: true)
.
https://github.com/ruby/openssl/commit/8aa3849cff
This commit is contained in:
parent
08d4e5ebef
commit
f7178045bb
@ -229,7 +229,7 @@ module OpenSSL::Buffering
|
|||||||
#
|
#
|
||||||
# Unlike IO#gets the separator must be provided if a limit is provided.
|
# Unlike IO#gets the separator must be provided if a limit is provided.
|
||||||
|
|
||||||
def gets(eol=$/, limit=nil)
|
def gets(eol=$/, limit=nil, chomp: false)
|
||||||
idx = @rbuffer.index(eol)
|
idx = @rbuffer.index(eol)
|
||||||
until @eof
|
until @eof
|
||||||
break if idx
|
break if idx
|
||||||
@ -244,7 +244,11 @@ module OpenSSL::Buffering
|
|||||||
if size && limit && limit >= 0
|
if size && limit && limit >= 0
|
||||||
size = [size, limit].min
|
size = [size, limit].min
|
||||||
end
|
end
|
||||||
consume_rbuff(size)
|
line = consume_rbuff(size)
|
||||||
|
if chomp && line
|
||||||
|
line.chomp!(eol)
|
||||||
|
end
|
||||||
|
line
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
|
@ -115,6 +115,17 @@ module OpenSSL::TestPairM
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_gets_chomp
|
||||||
|
ssl_pair {|s1, s2|
|
||||||
|
s1 << "line1\r\nline2\r\nline3\r\n"
|
||||||
|
s1.close
|
||||||
|
|
||||||
|
assert_equal("line1", s2.gets("\r\n", chomp: true))
|
||||||
|
assert_equal("line2\r\n", s2.gets("\r\n", chomp: false))
|
||||||
|
assert_equal("line3", s2.gets(chomp: true))
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
def test_gets_eof_limit
|
def test_gets_eof_limit
|
||||||
ssl_pair {|s1, s2|
|
ssl_pair {|s1, s2|
|
||||||
s1.write("hello")
|
s1.write("hello")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user