Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- #
- require 'cached_pstore'
- require 'fileutils'
- describe CachedPStore do
- before(:each) do
- File.unlink('test.dat') if File.exist?('test.dat')
- end
- it "初期化されていないキーを読み込むと、更新ブロックで初期化されること" do
- CachedPStore.new('test.dat') {|db, key|
- 'default'
- }.transaction {|db|
- db[:uninitialized].should == 'default'
- }
- end
- it "有効期限が切れると更新ブロックで更新されること" do
- db = CachedPStore.new('test.dat', :timeout => 1) {|db, key|
- 'default'
- }
- db.transaction {|db|
- db[:initialized] = 'initialized'
- db[:initialized].should == 'initialized'
- }
- sleep 1
- db.transaction {|db|
- db[:initialized].should == 'default'
- }
- end
- it "初期化ブロックが渡されない場合は有効期限が切れても更新されない" do
- db = CachedPStore.new('test.dat', :timeout => 1)
- db.transaction {|db|
- db[:initialized] = 'initialized'
- db[:initialized].should == 'initialized'
- }
- sleep 1
- db.transaction {|db|
- db[:initialized].should == 'initialized'
- }
- end
- end
Add Comment
Please, Sign In to add comment