aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/template/resolver_cache_test.rb
diff options
context:
space:
mode:
authorJeremy Daer <jeremydaer@gmail.com>2016-04-19 10:59:37 -0700
committerJeremy Daer <jeremydaer@gmail.com>2016-04-19 19:20:37 -0700
commit9918118a97c91742d94a0e677603f2e3301eebdc (patch)
tree838d318676a07205d3f83b52f69141258b736849 /actionview/test/template/resolver_cache_test.rb
parente86c5f09c4aaa533bd33c47bfe0bbf9303afeed8 (diff)
downloadrails-9918118a97c91742d94a0e677603f2e3301eebdc.tar.gz
rails-9918118a97c91742d94a0e677603f2e3301eebdc.tar.bz2
rails-9918118a97c91742d94a0e677603f2e3301eebdc.zip
Ensure Cache#inspect doesn't block concurrent cache writes
Object#inspect recursively inspects instance variables, exposing all internal state, including sensitive internal cache objects. Override Cache#inspect to give a high-level summary that never interferes with concurrent cache writes.
Diffstat (limited to 'actionview/test/template/resolver_cache_test.rb')
-rw-r--r--actionview/test/template/resolver_cache_test.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/actionview/test/template/resolver_cache_test.rb b/actionview/test/template/resolver_cache_test.rb
new file mode 100644
index 0000000000..1081c13db0
--- /dev/null
+++ b/actionview/test/template/resolver_cache_test.rb
@@ -0,0 +1,7 @@
+require 'abstract_unit'
+
+class ResolverCacheTest < ActiveSupport::TestCase
+ def test_inspect_shields_cache_internals
+ assert_match %r(#<ActionView::Resolver:0x[0-9a-f]+ @cache=#<ActionView::Resolver::Cache:0x[0-9a-f]+ keys=0 queries=0>>), ActionView::Resolver.new.inspect
+ end
+end