diff --git a/lib/mock_redis/string_methods.rb b/lib/mock_redis/string_methods.rb index 56ba032f..e13cff6b 100644 --- a/lib/mock_redis/string_methods.rb +++ b/lib/mock_redis/string_methods.rb @@ -233,7 +233,7 @@ def set(key, value, options = {}) if duration == 0 raise Redis::CommandError, 'ERR invalid expire time in set' end - expire(key, duration / 1000.0) + pexpire(key, duration) end return_true ? true : 'OK' diff --git a/spec/commands/set_spec.rb b/spec/commands/set_spec.rb index 83189e87..4fc25cdc 100644 --- a/spec/commands/set_spec.rb +++ b/spec/commands/set_spec.rb @@ -59,9 +59,11 @@ it 'accepts PX milliseconds' do key = 'mock-redis-test' - @mock.set(key, 1, px: 1000).should == 'OK' + @mock.set(key, 1, px: 500).should == 'OK' @mock.get(key).should_not be_nil - Time.stub(:now).and_return(@now + 2) + Time.stub(:now).and_return(@now + 300 / 1000.to_f) + @mock.get(key).should_not be_nil + Time.stub(:now).and_return(@now + 600 / 1000.to_f) @mock.get(key).should be_nil end end