Sha256: f726971923a5a565de30bbce75581121348a1a343bece0f353fe4cc21951caf7

Contents?: true

Size: 886 Bytes

Versions: 17

Compression:

Stored size: 886 Bytes

Contents

require 'spec_helper'

describe "#ltrim(key, start, stop)" do
  before do
    @key = 'mock-redis-test:22310'

    %w[v0 v1 v2 v3 v4].reverse.each{|v| @redises.lpush(@key, v)}
  end

  it "returns 'OK'" do
    @redises.ltrim(@key, 1, 3).should == 'OK'
  end

  it "trims the list to include only the specified elements" do
    @redises.ltrim(@key, 1, 3)
    @redises.lrange(@key, 0, -1).should == %w[v1 v2 v3]
  end

  it "trims the list to include only the specified elements (negative indices)" do
    @redises.ltrim(@key, -2, -1)
    @redises.lrange(@key, 0, -1).should == %w[v3 v4]
  end

  it "does not crash on overly-large indices" do
    @redises.ltrim(@key, 100, 200)
    @redises.lrange(@key, 0, -1).should == %w[]
  end

  it "removes empty lists" do
    @redises.ltrim(@key, 1, 0)
    @redises.get(@key).should be_nil
  end

  it_should_behave_like "a list-only command"
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
mock_redis-0.5.4 spec/commands/ltrim_spec.rb
mock_redis-0.5.3 spec/commands/ltrim_spec.rb
mock_redis-0.5.2 spec/commands/ltrim_spec.rb
mock_redis-0.5.1 spec/commands/ltrim_spec.rb
mock_redis-0.5.0 spec/commands/ltrim_spec.rb
mock_redis-0.4.1 spec/commands/ltrim_spec.rb
mock_redis-0.4.0 spec/commands/ltrim_spec.rb
mock_redis-0.3.0 spec/commands/ltrim_spec.rb
ryansch-mock_redis-0.3.0 spec/commands/ltrim_spec.rb
ryansch-mock_redis-0.2.0.2 spec/commands/ltrim_spec.rb
ryansch-mock_redis-0.2.0.1 spec/commands/ltrim_spec.rb
mock_redis-0.2.0 spec/commands/ltrim_spec.rb
mock_redis-0.1.2 spec/commands/ltrim_spec.rb
mock_redis-0.1.1 spec/commands/ltrim_spec.rb
mock_redis-0.1.0 spec/commands/ltrim_spec.rb
mock_redis-0.0.2 spec/commands/ltrim_spec.rb
mock_redis-0.0.1 spec/commands/ltrim_spec.rb