Sha256: 60fd88208f8e8d1d8e21095d359d4e1846b4d272a188cf521fe7082c3fd03841

Contents?: true

Size: 1.63 KB

Versions: 11

Compression:

Stored size: 1.63 KB

Contents

require 'test/test_helper'
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

11 entries across 11 versions & 3 rubygems

Version Path
mongo-0.19.3 test/chunk_test.rb
mongo-0.19.2 test/chunk_test.rb
mongo-0.19.1 test/chunk_test.rb
mongo-0.19 test/chunk_test.rb
kbaum-mongo-0.19 test/chunk_test.rb
kbaum-mongo-0.18.3.2 test/chunk_test.rb
kbaum-mongo-0.18.3p test/chunk_test.rb
mongo-find_replace-0.18.3 test/test_chunk.rb
mongo-0.18.3 test/test_chunk.rb
mongo-0.18.2 test/test_chunk.rb
mongo-0.18.1 test/test_chunk.rb