Sha256: f1652eca53f0b94e58c737d17ecd2970d99c73a886ae54a071aba861e8da74de

Contents?: true

Size: 1.3 KB

Versions: 5

Compression:

Stored size: 1.3 KB

Contents

require File.expand_path(File.dirname(__FILE__)) + '/helper'

class TestBufferingReader < Test::Unit::TestCase
  def test_reads_once
    s = StringIO.new("This is a string")
    
    reader = Tracksperanto::BufferingReader.new(s)
    assert_equal "T", reader.read_one_byte
    assert_equal "h", reader.read_one_byte
    assert !reader.data_exhausted?
  end
  
  def test_reads_set_buffer_size
    s = StringIO.new("abcd")
    flexmock(s).should_receive(:read).with(4).once.and_return("abcd")
    reader = Tracksperanto::BufferingReader.new(s, 4)
    reader.read_one_byte
  end
  
  def test_reads_in_64kb_chunks_by_default
    s = StringIO.new("abcd")
    flexmock(s).should_receive(:read).with(64 * 1024).once.and_return("abcd")
    reader = Tracksperanto::BufferingReader.new(s)
    reader.read_one_byte
  end
  
  def test_eof_with_empty
    s = StringIO.new
    reader = Tracksperanto::BufferingReader.new(s)
    assert s.eof?
  end
  
  def test_eof_with_io_at_eof
    s = StringIO.new("foo")
    s.read(3)
    reader = Tracksperanto::BufferingReader.new(s)
    assert reader.data_exhausted?
  end
  
  def test_eof_with_string_to_size
    s = "Foobarboo another"
    s = StringIO.new(s)
    reader = Tracksperanto::BufferingReader.new(s, 1)
    s.length.times { reader.read_one_byte }
    assert reader.data_exhausted?
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tracksperanto-2.8.6 test/test_bufferingreader.rb
tracksperanto-2.8.5 test/test_bufferingreader.rb
tracksperanto-2.8.4 test/test_bufferingreader.rb
tracksperanto-2.8.2 test/test_bufferingreader.rb
tracksperanto-2.8.1 test/test_bufferingreader.rb