Sha256: 2a8c30be8966c2fb0b92ac8614df638c8302065bd389cb3fc7ae721768adc1c4

Contents?: true

Size: 1.19 KB

Versions: 6

Compression:

Stored size: 1.19 KB

Contents

require 'spec_helper'

describe '#hmget(key, field [, field, ...])' do
  before do
    @key = 'mock-redis-test:hmget'
    @redises.hset(@key, 'k1', 'v1')
    @redises.hset(@key, 'k2', 'v2')
  end

  it 'returns the values for those keys' do
    @redises.hmget(@key, 'k1', 'k2').sort.should == %w[v1 v2]
  end

  it 'treats an array as multiple keys' do
    @redises.hmget(@key, %w[k1 k2]).sort.should == %w[v1 v2]
  end

  it 'treats the fielsd as strings' do
    @redises.hset(@key, 1, 'one')
    @redises.hset(@key, 2, 'two')
    @redises.hmget(@key, 1, 2).sort.should == %w[one two]
  end

  it 'returns nils when there are no such fields' do
    @redises.hmget(@key, 'k1', 'mock-redis-test:nonesuch').
      should == ['v1', nil]
  end

  it 'returns nils when there is no such key' do
    @redises.hmget(@key, 'mock-redis-test:nonesuch').should == [nil]
  end

  it 'raises an error if given no fields' do
    lambda do
      @redises.hmget(@key)
    end.should raise_error(Redis::CommandError)
  end

  it 'raises an error if given an empty list of fields' do
    lambda do
      @redises.hmget(@key, [])
    end.should raise_error(Redis::CommandError)
  end

  it_should_behave_like 'a hash-only command'
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mock_redis-0.36.0 spec/commands/hmget_spec.rb
mock_redis-0.35.0 spec/commands/hmget_spec.rb
mock_redis-0.34.0 spec/commands/hmget_spec.rb
mock_redis-0.33.0 spec/commands/hmget_spec.rb
mock_redis-0.32.0 spec/commands/hmget_spec.rb
mock_redis-0.31.0 spec/commands/hmget_spec.rb