spec/ruco/file_store_spec.rb in ruco-0.0.56 vs spec/ruco/file_store_spec.rb in ruco-0.1.0

- old
+ new

@@ -1,8 +1,12 @@ require File.expand_path('spec/spec_helper') describe Ruco::FileStore do + def mark_all_as_old + store.send(:entries).each{|e| File.utime(1,1,e) } + end + before do @folder = 'spec/sessions' `rm -rf #{@folder}` end @@ -19,33 +23,21 @@ it "can store :keep keys" do store.set('xxx', 1) store.set('yyy', 1) store.set('zzz', 1) - store.set('aaa', 1) - store.get('xxx').should == nil + mark_all_as_old + store.set('aaa', 2) + store.get('aaa').should == 2 + ['xxx','yyy','zzz'].map{|f| store.get(f) }.should =~ [1,1,nil] end - it "drops least recently used key" do - store.set('xxx', 1) - sleep(0.1) - store.set('yyy', 1) - sleep(0.1) - store.set('xxx', 1) - sleep(0.1) - store.set('zzz', 1) - sleep(0.1) - store.set('aaa', 1) - sleep(0.1) - store.get('xxx').should == 1 - store.get('yyy').should == nil - end - it "does not drop if used multiple times" do store.set('xxx', 1) store.set('yyy', 1) store.set('zzz', 1) store.set('zzz', 1) + mark_all_as_old store.set('zzz', 1) store.set('zzz', 1) store.get('xxx').should == 1 end end