1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

created unit tests and fixed bug that failed tests

Signed-off-by: David Heinemeier Hansson <david@loudthinking.com>
This commit is contained in:
Thijs de Vries 2009-01-31 18:31:59 -05:00 committed by David Heinemeier Hansson
parent 250dfb18af
commit be1dbf321a
2 changed files with 22 additions and 2 deletions

View file

@ -138,7 +138,7 @@ module ActiveSupport
# cache.fetch("foo") # => nil
def fetch(key, options = {})
@logger_off = true
if !options[:force] && value = read(key, options)
if !options[:force] && ((value = read(key, options)) || exist?(key, options))
@logger_off = false
log("hit", key, options)
value

View file

@ -90,7 +90,27 @@ module CacheStoreBehavior
@cache.write('foo', nil)
assert_equal nil, @cache.read('foo')
end
def test_should_read_and_write_false
@cache.write('foo', false)
assert_equal false, @cache.read('foo')
end
def test_should_read_and_write_true
@cache.write('foo', true)
assert_equal true, @cache.read('foo')
end
def test_fetch_false_without_cache_miss
@cache.write('foo', false)
assert_equal false, @cache.fetch('foo') { 'baz' }
end
def test_fetch_nil_without_cache_miss
@cache.write('foo', nil)
assert_equal nil, @cache.fetch('foo') { 'baz' }
end
def test_fetch_without_cache_miss
@cache.write('foo', 'bar')
assert_equal 'bar', @cache.fetch('foo') { 'baz' }