Default serializer changed from YAML to Marshal (to avoid UTF-8 errors on BackTrack)
Spec for UTF-8 updated
This commit is contained in:
Erwan
2012-09-12 16:49:09 +02:00
parent 7f92fa0c1b
commit 397ee2d2be
3 changed files with 31 additions and 25 deletions

View File

@@ -13,7 +13,7 @@ class CacheFileStore
# The serializer must have the 2 methods .load and .dump (Marshal and YAML have them) # The serializer must have the 2 methods .load and .dump (Marshal and YAML have them)
# YAML is Human Readable, contrary to Marshal which store in a binary format # YAML is Human Readable, contrary to Marshal which store in a binary format
# Marshal does not need any "require" # Marshal does not need any "require"
def initialize(storage_path, serializer = YAML) def initialize(storage_path, serializer = Marshal)
@storage_path = File.expand_path(storage_path) @storage_path = File.expand_path(storage_path)
@serializer = serializer @serializer = serializer

View File

@@ -305,7 +305,7 @@ describe Browser do
url = SPEC_FIXTURES_DIR + "/utf8.html" url = SPEC_FIXTURES_DIR + "/utf8.html"
stub_request(:get, url).to_return(:status => 200, :body => File.read(url)) stub_request(:get, url).to_return(:status => 200, :body => File.read(url))
response1 = @browser.get(url) response1 = @browser.get(url)
response1.body expect { response1.body }.to_not raise_error
end end
end end
end end

View File

@@ -23,9 +23,9 @@ describe CacheFileStore do
end end
describe "#serializer" do describe "#serializer" do
it "should return the default serializer : YAML" do it "should return the default serializer : Marshal" do
@cache.serializer.should == YAML @cache.serializer.should == Marshal
@cache.serializer.should_not == Marshal @cache.serializer.should_not == YAML
end end
end end
@@ -48,21 +48,27 @@ describe CacheFileStore do
end end
end end
describe "#write_entry, #read_entry (string)" do describe "#write_entry, #read_entry" do
it "should get the same entry" do
cache_timeout = 10 after :each do
@cache.write_entry('some_key', 'Hello World !', cache_timeout) @cache.write_entry(@key, @data, @timeout)
@cache.read_entry('some_key').should == 'Hello World !' @cache.read_entry(@key).should === @expected
end end
it "should get the correct entry (string)" do
@timeout = 10
@key = "some_key"
@data = "Hello World !"
@expected = @data
end
it "should not write the entry" do
@timeout = 0
@key = "another_key"
@data = "Another Hello World !"
@expected = nil
end end
## TODO write / read for an object ## TODO write / read for an object
describe "#write_entry with cache_timeout = 0" do
it "the entry should not be written" do
cache_timeout = 0
@cache.write_entry('another_key', 'Another Hello World !', cache_timeout)
@cache.read_entry('another_key').should be_nil
end
end end
end end