From 52f90044a159559d94b4f597e9d79b44024ed09a Mon Sep 17 00:00:00 2001 From: Eugene Kenny Date: Sun, 14 May 2017 22:06:34 +0100 Subject: Cache: test coverage for cleanup behavior with local cache strategy No need to pass `#cleanup` options through to `LocalCache#clear`. Fixes #29081. References #25628. --- .../lib/active_support/cache/strategy/local_cache.rb | 2 +- .../test/cache/behaviors/local_cache_behavior.rb | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'activesupport') diff --git a/activesupport/lib/active_support/cache/strategy/local_cache.rb b/activesupport/lib/active_support/cache/strategy/local_cache.rb index 0e4f383fb9..69b3a93a05 100644 --- a/activesupport/lib/active_support/cache/strategy/local_cache.rb +++ b/activesupport/lib/active_support/cache/strategy/local_cache.rb @@ -87,7 +87,7 @@ module ActiveSupport def cleanup(options = nil) # :nodoc: return super unless cache = local_cache - cache.clear(options) + cache.clear super end diff --git a/activesupport/test/cache/behaviors/local_cache_behavior.rb b/activesupport/test/cache/behaviors/local_cache_behavior.rb index 3fb358bd0c..8530296374 100644 --- a/activesupport/test/cache/behaviors/local_cache_behavior.rb +++ b/activesupport/test/cache/behaviors/local_cache_behavior.rb @@ -17,6 +17,21 @@ module LocalCacheBehavior assert_nil @cache.read("foo") end + def test_cleanup_clears_local_cache_but_not_remote_cache + skip unless @cache.class.instance_methods(false).include?(:cleanup) + + @cache.with_local_cache do + @cache.write("foo", "bar") + assert_equal "bar", @cache.read("foo") + + @cache.send(:bypass_local_cache) { @cache.write("foo", "baz") } + assert_equal "bar", @cache.read("foo") + + @cache.cleanup + assert_equal "baz", @cache.read("foo") + end + end + def test_local_cache_of_write @cache.with_local_cache do @cache.write("foo", "bar") -- cgit v1.2.3