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