spec/redis_spec.rb in redis-0.1.1 vs spec/redis_spec.rb in redis-0.1.2
- old
+ new
@@ -525,11 +525,42 @@
@r.delete('set2')
@r.delete('set3')
@r.delete('set4')
@r.delete('zset')
end
-
+ #
+ it "should be able to get a score for a specific value in a zset (ZSCORE)" do
+ @r.zset_add "zset", 23, "value"
+ @r.zset_score("zset", "value").should == "23"
+
+ @r.zset_score("zset", "value2").should be_nil
+ @r.zset_score("unknown_zset", "value").should be_nil
+
+ @r.delete("zset")
+ end
+ #
+ it "should be able to increment a range score of a zset (ZINCRBY)" do
+ # create a new zset
+ @r.zset_increment_by "hackers", 1965, "Yukihiro Matsumoto"
+ @r.zset_score("hackers", "Yukihiro Matsumoto").should == "1965"
+
+ # add a new element
+ @r.zset_increment_by "hackers", 1912, "Alan Turing"
+ @r.zset_score("hackers", "Alan Turing").should == "1912"
+
+ # update the score
+ @r.zset_increment_by "hackers", 100, "Alan Turing" # yeah, we are making Turing a bit younger
+ @r.zset_score("hackers", "Alan Turing").should == "2012"
+
+ # attempt to update a key that's not a zset
+ @r["i_am_not_a_zet"] = "value"
+ lambda { @r.zset_incr_by "i_am_not_a_zet", 23, "element" }.should raise_error
+
+ @r.delete("hackers")
+ @r.delete("i_am_not_a_zet")
+ end
+ #
it "should provide info (INFO)" do
[:last_save_time, :redis_version, :total_connections_received, :connected_clients, :total_commands_processed, :connected_slaves, :uptime_in_seconds, :used_memory, :uptime_in_days, :changes_since_last_save].each do |x|
@r.info.keys.should include(x)
end
end
@@ -581,10 +612,10 @@
@r.msetnx :keynx1 => "valuenx1", :keynx2 => "valuenx2"
@r.mget('keynx1', 'keynx2').should == ["value1", "value2"]
end
it "should bgsave" do
- @r.bgsave.should == 'OK'
+ ['OK', 'Background saving started'].include?( @r.bgsave).should == true
end
it "should be able to ECHO" do
@r.echo("message in a bottle\n").should == "message in a bottle\n"
end