Sha256: ca4a55f3f55980fd0344457c98790b60a378fdacd4a33b6a3c9e538defe2b041

Contents?: true

Size: 870 Bytes

Versions: 3

Compression:

Stored size: 870 Bytes

Contents

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

class TestBufferIO < Test::Unit::TestCase
  
  def test_write_in_mem_has_a_stringio
    io = Tracksperanto::BufferIO.new
    9000.times { io.write("a") }
    assert_kind_of StringIO, io.backing_buffer
    assert_nothing_raised { io.close! }
  end
  
  def test_write_larger_than_max_swaps_tempfile
    io = Tracksperanto::BufferIO.new
    io.write("a" * 6_000_001)
    f = io.backing_buffer
    assert_kind_of Tempfile, f
    f.rewind
    assert_equal 6_000_001, f.read.length
    flexmock(f).should_receive(:close!).once
    io.close!
  end
  
  def test_to_file_forces_immediate_promotion_to_file
    io = Tracksperanto::BufferIO.new
    io.write("a" * 3000)
    assert_equal 3000, io.pos
    assert !io.file_backed?
    
    f = io.to_file
    assert_equal 3000, f.pos
    assert f.file_backed?
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tracksperanto-4.1.2 test/test_buffer_io.rb
tracksperanto-4.1.0 test/test_buffer_io.rb
tracksperanto-4.0.0 test/test_buffer_io.rb