Skip to content

Commit

Permalink
Fix zrem with array of integers
Browse files Browse the repository at this point in the history
  • Loading branch information
23tux committed Jan 26, 2023
1 parent a357d43 commit c5197fa
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/mock_redis/zset_methods.rb
Expand Up @@ -147,7 +147,7 @@ def zrem(key, *args)
else
retval = args.map { |member| !!zscore(key, member.to_s) }.count(true)
with_zset_at(key) do |z|
args.each { |member| z.delete?(member) }
args.each { |member| z.delete?(member.to_s) }
end
end
end
Expand Down
7 changes: 7 additions & 0 deletions spec/commands/zrem_spec.rb
Expand Up @@ -28,6 +28,13 @@
@redises.zrange(@key, 0, -1).should == %w[one two]
end

it 'removes integer members inside an array from the set' do
member = 11
@redises.zadd(@key, 3, member)
@redises.zrem(@key, [member]).should == 1
@redises.zrange(@key, 0, -1).should == %w[one two]
end

it 'supports a variable number of arguments' do
@redises.zrem(@key, %w[one two])
@redises.zrange(@key, 0, -1).should be_empty
Expand Down

0 comments on commit c5197fa

Please sign in to comment.