diff options
author | Joshua Peek <josh@joshpeek.com> | 2008-08-06 14:50:02 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-08-06 14:54:18 -0500 |
commit | e5b1ab7cc39ff57f9789ffda75fb33f72187775d (patch) | |
tree | dd161b502ccfaca2e408779107d37386aa368103 /activesupport/test | |
parent | 73056500f88d569fa497d846dfe6b501a9e03739 (diff) | |
download | rails-e5b1ab7cc39ff57f9789ffda75fb33f72187775d.tar.gz rails-e5b1ab7cc39ff57f9789ffda75fb33f72187775d.tar.bz2 rails-e5b1ab7cc39ff57f9789ffda75fb33f72187775d.zip |
MemoryStore is the only "unsafe" store. Make it threadsafe by default.
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/caching_test.rb | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/activesupport/test/caching_test.rb b/activesupport/test/caching_test.rb index 0af4251962..f3220d27aa 100644 --- a/activesupport/test/caching_test.rb +++ b/activesupport/test/caching_test.rb @@ -70,70 +70,3 @@ uses_mocha 'high-level cache store tests' do end end end - -class ThreadSafetyCacheStoreTest < Test::Unit::TestCase - def setup - @cache = ActiveSupport::Cache.lookup_store(:memory_store).threadsafe! - @cache.write('foo', 'bar') - - # No way to have mocha proxy to the original method - @mutex = @cache.instance_variable_get(:@mutex) - @mutex.instance_eval %( - def calls; @calls; end - def synchronize - @calls ||= 0 - @calls += 1 - yield - end - ) - end - - def test_read_is_synchronized - assert_equal 'bar', @cache.read('foo') - assert_equal 1, @mutex.calls - end - - def test_write_is_synchronized - @cache.write('foo', 'baz') - assert_equal 'baz', @cache.read('foo') - assert_equal 2, @mutex.calls - end - - def test_delete_is_synchronized - assert_equal 'bar', @cache.read('foo') - @cache.delete('foo') - assert_equal nil, @cache.read('foo') - assert_equal 3, @mutex.calls - end - - def test_delete_matched_is_synchronized - assert_equal 'bar', @cache.read('foo') - @cache.delete_matched(/foo/) - assert_equal nil, @cache.read('foo') - assert_equal 3, @mutex.calls - end - - def test_fetch_is_synchronized - assert_equal 'bar', @cache.fetch('foo') { 'baz' } - assert_equal 'fu', @cache.fetch('bar') { 'fu' } - assert_equal 3, @mutex.calls - end - - def test_exist_is_synchronized - assert @cache.exist?('foo') - assert !@cache.exist?('bar') - assert_equal 2, @mutex.calls - end - - def test_increment_is_synchronized - @cache.write('foo_count', 1) - assert_equal 2, @cache.increment('foo_count') - assert_equal 4, @mutex.calls - end - - def test_decrement_is_synchronized - @cache.write('foo_count', 1) - assert_equal 0, @cache.decrement('foo_count') - assert_equal 4, @mutex.calls - end -end |