Merge pull request #2221 from grzuy/master

Fix ActiveSupport::Cache::FileStore#file_path_key does not work if initialized with Pathname
This commit is contained in:
Santiago Pastorino
2011-07-23 14:05:15 -07:00
2 changed files with 8 additions and 1 deletions

View File

@@ -16,7 +16,7 @@ module ActiveSupport
def initialize(cache_path, options = nil)
super(options)
@cache_path = cache_path
@cache_path = cache_path.to_s
extend Strategy::LocalCache
end

View File

@@ -521,6 +521,7 @@ class FileStoreTest < ActiveSupport::TestCase
Dir.mkdir(cache_dir) unless File.exist?(cache_dir)
@cache = ActiveSupport::Cache.lookup_store(:file_store, cache_dir, :expires_in => 60)
@peek = ActiveSupport::Cache.lookup_store(:file_store, cache_dir, :expires_in => 60)
@cache_with_pathname = ActiveSupport::Cache.lookup_store(:file_store, Pathname.new(cache_dir), :expires_in => 60)
end
def teardown
@@ -540,6 +541,12 @@ class FileStoreTest < ActiveSupport::TestCase
key = @cache.send(:key_file_path, "views/index?id=1")
assert_equal "views/index?id=1", @cache.send(:file_path_key, key)
end
def test_key_transformation_with_pathname
FileUtils.touch(File.join(cache_dir, "foo"))
key = @cache_with_pathname.send(:key_file_path, "views/index?id=1")
assert_equal "views/index?id=1", @cache_with_pathname.send(:file_path_key, key)
end
end
class MemoryStoreTest < ActiveSupport::TestCase