Guest User

Untitled

a guest
May 22nd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. #
  3. require 'cached_pstore'
  4. require 'fileutils'
  5.  
  6. describe CachedPStore do
  7. before(:each) do
  8. File.unlink('test.dat') if File.exist?('test.dat')
  9. end
  10.  
  11. it "初期化されていないキーを読み込むと、更新ブロックで初期化されること" do
  12. CachedPStore.new('test.dat') {|db, key|
  13. 'default'
  14. }.transaction {|db|
  15. db[:uninitialized].should == 'default'
  16. }
  17. end
  18.  
  19. it "有効期限が切れると更新ブロックで更新されること" do
  20. db = CachedPStore.new('test.dat', :timeout => 1) {|db, key|
  21. 'default'
  22. }
  23. db.transaction {|db|
  24. db[:initialized] = 'initialized'
  25. db[:initialized].should == 'initialized'
  26. }
  27. sleep 1
  28. db.transaction {|db|
  29. db[:initialized].should == 'default'
  30. }
  31. end
  32.  
  33. it "初期化ブロックが渡されない場合は有効期限が切れても更新されない" do
  34. db = CachedPStore.new('test.dat', :timeout => 1)
  35. db.transaction {|db|
  36. db[:initialized] = 'initialized'
  37. db[:initialized].should == 'initialized'
  38. }
  39. sleep 1
  40. db.transaction {|db|
  41. db[:initialized].should == 'initialized'
  42. }
  43. end
  44. end
Add Comment
Please, Sign In to add comment