aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/cache/cache_entry_test.rb
diff options
context:
space:
mode:
authorJeremy Daer <jeremydaer@gmail.com>2017-06-10 01:07:40 -0700
committerJeremy Daer <jeremydaer@gmail.com>2017-06-10 01:23:10 -0700
commitddea3164250ed5f3886f07cbbc01727fd6dff99c (patch)
tree44fedca93656cf9b74f3bc3268cba5f3c129fa58 /activesupport/test/cache/cache_entry_test.rb
parent57cfd45b167c99bd5737f14e3c3805dc38c668ce (diff)
downloadrails-ddea3164250ed5f3886f07cbbc01727fd6dff99c.tar.gz
rails-ddea3164250ed5f3886f07cbbc01727fd6dff99c.tar.bz2
rails-ddea3164250ed5f3886f07cbbc01727fd6dff99c.zip
Split up the cache test suite so it's easier to understand and extend (#29404)
Split up the caching tests as prep for adding a new cache store. Slices the mega test/caching_test.rb into behavior modules, concrete store tests, and cross-cutting store tests. Considering moving cache store behavior modules into lib/ so they may be used for acceptance testing by third parties.
Diffstat (limited to 'activesupport/test/cache/cache_entry_test.rb')
-rw-r--r--activesupport/test/cache/cache_entry_test.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/activesupport/test/cache/cache_entry_test.rb b/activesupport/test/cache/cache_entry_test.rb
new file mode 100644
index 0000000000..e446e39b10
--- /dev/null
+++ b/activesupport/test/cache/cache_entry_test.rb
@@ -0,0 +1,28 @@
+require "abstract_unit"
+require "active_support/cache"
+
+class CacheEntryTest < ActiveSupport::TestCase
+ def test_expired
+ entry = ActiveSupport::Cache::Entry.new("value")
+ assert !entry.expired?, "entry not expired"
+ entry = ActiveSupport::Cache::Entry.new("value", expires_in: 60)
+ assert !entry.expired?, "entry not expired"
+ Time.stub(:now, Time.now + 61) do
+ assert entry.expired?, "entry is expired"
+ end
+ end
+
+ def test_compress_values
+ value = "value" * 100
+ entry = ActiveSupport::Cache::Entry.new(value, compress: true, compress_threshold: 1)
+ assert_equal value, entry.value
+ assert(value.bytesize > entry.size, "value is compressed")
+ end
+
+ def test_non_compress_values
+ value = "value" * 100
+ entry = ActiveSupport::Cache::Entry.new(value)
+ assert_equal value, entry.value
+ assert_equal value.bytesize, entry.size
+ end
+end