1
0
Fork 0
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:
nahi 2011-06-11 14:07:42 +00:00
parent 35c16fe35f
commit 47f89c982c
3 changed files with 40 additions and 9 deletions

View file

@ -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)