diff options
author | Eugene Kenny <elkenny@gmail.com> | 2017-05-14 22:06:34 +0100 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2017-06-10 14:48:20 -0700 |
commit | 52f90044a159559d94b4f597e9d79b44024ed09a (patch) | |
tree | d33eb020cbe50c8e8aa8540751c17a76c1d68b52 /activesupport | |
parent | 816a3763d9bb070bf339de32c6a3ce31a45369f8 (diff) | |
download | rails-52f90044a159559d94b4f597e9d79b44024ed09a.tar.gz rails-52f90044a159559d94b4f597e9d79b44024ed09a.tar.bz2 rails-52f90044a159559d94b4f597e9d79b44024ed09a.zip |
Cache: test coverage for cleanup behavior with local cache strategy
No need to pass `#cleanup` options through to `LocalCache#clear`.
Fixes #29081. References #25628.
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/cache/strategy/local_cache.rb | 2 | ||||
-rw-r--r-- | activesupport/test/cache/behaviors/local_cache_behavior.rb | 15 |
2 files changed, 16 insertions, 1 deletions
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") |