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

@@ -300,13 +300,13 @@ describe Browser do
end end
end end
describe "testing UTF8" do describe "testing UTF8" do
it "should not throw an encoding exception" do it "should not throw an encoding exception" 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
@cache.write_entry('some_key', 'Hello World !', cache_timeout)
@cache.read_entry('some_key').should == 'Hello World !'
end
end
## TODO write / read for an object after :each do
@cache.write_entry(@key, @data, @timeout)
describe "#write_entry with cache_timeout = 0" do @cache.read_entry(@key).should === @expected
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
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
## TODO write / read for an object
end end
end end