forked from wycats/moneta
-
Notifications
You must be signed in to change notification settings - Fork 0
/
moneta_basic_file_spec.rb
62 lines (51 loc) · 1.8 KB
/
moneta_basic_file_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
require 'spec_helper'
begin
require "moneta/adapters/basic_file"
describe "Moneta::Adapters::BasicFile" do
describe "without namespacing" do
before(:each) do
@cache = Moneta::Builder.build do
run Moneta::Adapters::BasicFile, :path => File.expand_path("../basic_file_cache", __FILE__)
end
@cache.clear
end
if ENV['MONETA_TEST'].nil? || ENV['MONETA_TEST'] == 'basic_file'
it_should_behave_like "a read/write Moneta cache"
end
it "should deal with '/' and '#' in a key" do
key = "hello/mom#crazycharacters"
@cache[key] = "hi"
@cache[key].should == "hi"
::File.exists?(File.join(File.dirname(__FILE__), "basic_file_cache", "")).should == true
end
end
describe "with namespacing" do
before(:each) do
@cache = Moneta::Builder.build do
run Moneta::Adapters::BasicFile,
:path => File.expand_path("../basic_file_cache", __FILE__),
:namespace => "test_namespace"
end
@cache.clear
end
if ENV['MONETA_TEST'].nil? || ENV['MONETA_TEST'] == 'basic_file'
it_should_behave_like "a read/write Moneta cache"
end
it "should act as two stores within the same directory" do
@second = Moneta::Builder.build do
run Moneta::Adapters::BasicFile,
:path => File.expand_path("../basic_file_cache", __FILE__),
:namespace => "second_namespace"
end
@second[:key] = "hello"
@cache[:key] = "world!"
@second[:key].should == "hello"
@cache[:key].should == "world!"
end
end
after(:all) do
FileUtils.rm_rf(File.join(File.dirname(__FILE__), "basic_file_cache"))
end
end
rescue SystemExit
end