mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 4bb125f91a
			
		
	
	
		4bb125f91a
		
	
	
	
	
		
			
			test/openssl/test_ssl_session.rb: test/openssl/test_x509name.rb: test/openssl/test_buffering.rb: test/openssl/test_x509cert.rb: test/openssl/test_ssl.rb: Refactor code that leads to warnings on Ruby CI. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			87 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require_relative 'utils'
 | |
| require 'stringio'
 | |
| 
 | |
| class OpenSSL::TestBuffering < Test::Unit::TestCase
 | |
| 
 | |
|   class IO
 | |
|     include OpenSSL::Buffering
 | |
| 
 | |
|     attr_accessor :sync
 | |
| 
 | |
|     def initialize
 | |
|       @io = ""
 | |
|       def @io.sync
 | |
|         true
 | |
|       end
 | |
| 
 | |
|       super
 | |
| 
 | |
|       @sync = false
 | |
|     end
 | |
| 
 | |
|     def string
 | |
|       @io
 | |
|     end
 | |
| 
 | |
|     def sysread(size)
 | |
|       str = @io.slice!(0, size)
 | |
|       raise EOFError if str.empty?
 | |
|       str
 | |
|     end
 | |
| 
 | |
|     def syswrite(str)
 | |
|       @io << str
 | |
|       str.size
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def setup
 | |
|     @io = IO.new
 | |
|   end
 | |
| 
 | |
|   def test_flush
 | |
|     @io.write 'a'
 | |
| 
 | |
|     refute @io.sync
 | |
|     assert_empty @io.string
 | |
| 
 | |
|     assert_equal @io, @io.flush
 | |
| 
 | |
|     refute @io.sync
 | |
|     assert_equal 'a', @io.string
 | |
|   end
 | |
| 
 | |
|   def test_flush_error
 | |
|     @io.write 'a'
 | |
| 
 | |
|     refute @io.sync
 | |
|     assert_empty @io.string
 | |
| 
 | |
|     def @io.syswrite *a
 | |
|       raise SystemCallError, 'fail'
 | |
|     end
 | |
| 
 | |
|     assert_raises SystemCallError do
 | |
|       @io.flush
 | |
|     end
 | |
| 
 | |
|     refute @io.sync, 'sync must not change'
 | |
|   end
 | |
| 
 | |
|   def test_getc
 | |
|     @io.syswrite('abc')
 | |
|     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)
 |