mock_redis 0.17.1 → 0.17.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a55e7d747d39e4c40aedd4b13974ea1ba8fb78a3
4
- data.tar.gz: b5efc0805cac7734fa78403f18b4ee4253866197
3
+ metadata.gz: 293ef8fd1bbce6f4a890edc7dbf7afa1235eb885
4
+ data.tar.gz: 2339b903a136416a24d6630c06dde8ffcde8eee1
5
5
  SHA512:
6
- metadata.gz: a0c1277f32ded504822a15d589c0c262d872593afe6a98e100cdc05e06ff5e04a39e5b8899089656de0f061dc197d632ce954550bae4fb61095df359f27bccef
7
- data.tar.gz: 33183c7e84dc6d0ebc9990b44bb0ada35bbaca1a90a0ee801f94e8d240419cdcf108b9c1bf861a27f4efbc1e03a9f83052ddd3fe3c6da8a66849f71212d9e677
6
+ metadata.gz: ec8caa7328b7365c9b120837acd873bf535ccee1364590045d8be55989e20e4a53d00fd5952cda910826ba506d61b2a509b06e139deff5f8bd79029475c9b28c
7
+ data.tar.gz: 68fcb5906a717d679f2d8f3278226a0a213dc4250e314e97fdba647aaf2b3bcd9dec0640ca8db4b916dea9278d4737fce17d3b6f6de8d6288947a83c93128881
@@ -1,5 +1,13 @@
1
1
  # MockRedis Changelog
2
2
 
3
+ ### 0.17.3
4
+
5
+ * Fix `zrange` behavior with negative stop argument
6
+
7
+ ### 0.17.2
8
+
9
+ * Allow negative out-of-bounds start and stop in `zrange`
10
+
3
11
  ### 0.17.1
4
12
 
5
13
  * Flatten args list passed to `hmset`
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Defines the gem version.
4
4
  class MockRedis
5
- VERSION = '0.17.1'.freeze
5
+ VERSION = '0.17.3'
6
6
  end
@@ -118,7 +118,9 @@ class MockRedis
118
118
 
119
119
  def zrange(key, start, stop, options = {})
120
120
  with_zset_at(key) do |z|
121
- to_response(z.sorted[start.to_i..stop.to_i] || [], options)
121
+ start = [start.to_i, -z.sorted.size].max
122
+ stop = stop.to_i
123
+ to_response(z.sorted[start..stop] || [], options)
122
124
  end
123
125
  end
124
126
 
@@ -46,6 +46,26 @@ describe '#zrange(key, start, stop [, :with_scores => true])' do
46
46
  @redises.zrange(@key, 5, -1).should == []
47
47
  end
48
48
 
49
+ it 'returns entire list when start is out of bounds with negative end in bounds' do
50
+ @redises.zrange(@key, -5, -1).should == %w[Washington Adams Jefferson Madison]
51
+ end
52
+
53
+ it 'returns correct subset when start is out of bounds with positive end in bounds' do
54
+ @redises.zrange(@key, -5, 1).should == %w[Washington Adams]
55
+ end
56
+
57
+ it 'returns empty list when start is in bounds with negative end out of bounds' do
58
+ @redises.zrange(@key, 1, -5).should == []
59
+ end
60
+
61
+ it 'returns empty list when start is 0 with negative end out of bounds' do
62
+ @redises.zrange(@key, 0, -5).should == []
63
+ end
64
+
65
+ it 'returns correct subset when start is in bounds with negative end in bounds' do
66
+ @redises.zrange(@key, 1, -1).should == %w[Adams Jefferson Madison]
67
+ end
68
+
49
69
  it 'returns the scores when :with_scores is specified' do
50
70
  @redises.zrange(@key, 0, 1, :with_scores => true).
51
71
  should == [['Washington', 1.0], ['Adams', 2.0]]
@@ -26,6 +26,7 @@ module TypeCheckingHelper
26
26
  end
27
27
 
28
28
  def args_for_method(method)
29
+ return [] if method.to_s == 'spop'
29
30
  method_arity = @redises.real.method(method).arity
30
31
  if method_arity < 0 # -1 comes from def foo(*args)
31
32
  [1, 2] # probably good enough
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mock_redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brigade Engineering
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-11-16 00:00:00.000000000 Z
12
+ date: 2017-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -281,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
281
  version: '0'
282
282
  requirements: []
283
283
  rubyforge_project:
284
- rubygems_version: 2.5.1
284
+ rubygems_version: 2.5.2
285
285
  signing_key:
286
286
  specification_version: 4
287
287
  summary: Redis mock that just lives in memory; useful for testing.