Sha256: a57930abaa17907e9bb44d6bec8854314639072d12f2786a4f52cd34c870d295

Contents?: true

Size: 889 Bytes

Versions: 30

Compression:

Stored size: 889 Bytes

Contents

# -*- encoding : utf-8 -*-
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.__getobj__
    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.__getobj__
    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

30 entries across 30 versions & 1 rubygems

Version Path
tracksperanto-2.9.9 test/test_buffer_io.rb
tracksperanto-2.9.8 test/test_buffer_io.rb
tracksperanto-2.9.7 test/test_buffer_io.rb
tracksperanto-2.9.6 test/test_buffer_io.rb
tracksperanto-2.9.5 test/test_buffer_io.rb
tracksperanto-2.9.4 test/test_buffer_io.rb
tracksperanto-2.9.3 test/test_buffer_io.rb
tracksperanto-2.9.2 test/test_buffer_io.rb
tracksperanto-2.9.1 test/test_buffer_io.rb
tracksperanto-2.9.0 test/test_buffer_io.rb