Sha256: 840a7f70bfca4a5b114857c7d4e6266e6fbb70a7ab0c2344b76c2913d78df4f9

Contents?: true

Size: 1.7 KB

Versions: 4

Compression:

Stored size: 1.7 KB

Contents

$LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
require 'test/unit'
require 'mongo'
require 'mongo/gridfs'

class ChunkTest < Test::Unit::TestCase

  include Mongo
  include GridFS

  @@db = Connection.new(ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost',
                        ENV['MONGO_RUBY_DRIVER_PORT'] || Connection::DEFAULT_PORT).db('ruby-mongo-utils-test')
  @@files = @@db.collection('gridfs.files')
  @@chunks = @@db.collection('gridfs.chunks')

  def setup
    @@chunks.remove
    @@files.remove

    @f = GridStore.new(@@db, 'foobar', 'w')
    @c = @f.instance_variable_get('@curr_chunk')
  end

  def teardown
    @@chunks.remove
    @@files.remove
    @@db.error
  end

  def test_pos
    assert_equal 0, @c.pos
    assert @c.eof?              # since data is empty

    b = ByteBuffer.new
    3.times { |i| b.put(i) }
    c = Chunk.new(@f, 'data' => b)
    assert !c.eof?
  end

  def test_getc
    b = ByteBuffer.new
    3.times { |i| b.put(i) }
    c = Chunk.new(@f, 'data' => b)

    assert !c.eof?
    assert_equal 0, c.getc
    assert !c.eof?
    assert_equal 1, c.getc
    assert !c.eof?
    assert_equal 2, c.getc
    assert c.eof?
  end

  def test_putc
    3.times { |i| @c.putc(i) }
    @c.pos = 0

    assert !@c.eof?
    assert_equal 0, @c.getc
    assert !@c.eof?
    assert_equal 1, @c.getc
    assert !@c.eof?
    assert_equal 2, @c.getc
    assert @c.eof?
  end

  def test_truncate
    10.times { |i| @c.putc(i) }
    assert_equal 10, @c.size
    @c.pos = 3
    @c.truncate
    assert_equal 3, @c.size

    @c.pos = 0
    assert !@c.eof?
    assert_equal 0, @c.getc
    assert !@c.eof?
    assert_equal 1, @c.getc
    assert !@c.eof?
    assert_equal 2, @c.getc
    assert @c.eof?
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongo-0.18 test/test_chunk.rb
mongo-0.17.1 test/test_chunk.rb
mongo-0.17 test/test_chunk.rb
mongo-0.16 test/test_chunk.rb