mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/openssl/lib/openssl/buffering.rb (module OpenSSL):
Buffering#each_byte should return String in accordance with IO in 1.9. * test/openssl/test_buffering.rb (class OpenSSL): add tests for getc and each_byte. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
35c16fe35f
commit
47f89c982c
3 changed files with 40 additions and 9 deletions
|
@ -10,7 +10,10 @@ class OpenSSL::TestBuffering < MiniTest::Unit::TestCase
|
|||
attr_accessor :sync
|
||||
|
||||
def initialize
|
||||
@io = StringIO.new
|
||||
@io = ""
|
||||
def @io.sync
|
||||
true
|
||||
end
|
||||
|
||||
super
|
||||
|
||||
|
@ -18,15 +21,18 @@ class OpenSSL::TestBuffering < MiniTest::Unit::TestCase
|
|||
end
|
||||
|
||||
def string
|
||||
@io.string
|
||||
@io
|
||||
end
|
||||
|
||||
def sysread *a
|
||||
@io.sysread *a
|
||||
def sysread(size)
|
||||
str = @io.slice!(0, size)
|
||||
raise EOFError if str.empty?
|
||||
str
|
||||
end
|
||||
|
||||
def syswrite *a
|
||||
@io.syswrite *a
|
||||
def syswrite(str)
|
||||
@io << str
|
||||
str.size
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -63,4 +69,21 @@ class OpenSSL::TestBuffering < MiniTest::Unit::TestCase
|
|||
refute @io.sync, 'sync must not change'
|
||||
end
|
||||
|
||||
def test_getc
|
||||
@io.syswrite('abc')
|
||||
res = []
|
||||
assert_equal(?a, @io.getc)
|
||||
assert_equal(?b, @io.getc)
|
||||
assert_equal(?c, @io.getc)
|
||||
end
|
||||
|
||||
def test_each_byte
|
||||
@io.syswrite('abc')
|
||||
res = []
|
||||
@io.each_byte do |c|
|
||||
res << c
|
||||
end
|
||||
assert_equal([97, 98, 99], res)
|
||||
end
|
||||
|
||||
end if defined?(OpenSSL)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue