aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/metal/caching_test.rb
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2012-06-13 16:14:11 -0300
committerSantiago Pastorino <santiago@wyeworks.com>2012-06-13 16:18:03 -0300
commit459de6fac3c5a0bcf4c43e221a0a81ab5d81a7f7 (patch)
tree095fdc0afa04b7c507e4b2cfd8b3995027668ecd /actionpack/test/metal/caching_test.rb
parent56a1bb2f1066d0c119834019916f1e4b05fffec0 (diff)
downloadrails-459de6fac3c5a0bcf4c43e221a0a81ab5d81a7f7.tar.gz
rails-459de6fac3c5a0bcf4c43e221a0a81ab5d81a7f7.tar.bz2
rails-459de6fac3c5a0bcf4c43e221a0a81ab5d81a7f7.zip
ActionController::Caching depends on RackDelegation and AbstractController::Callbacks
Diffstat (limited to 'actionpack/test/metal/caching_test.rb')
-rw-r--r--actionpack/test/metal/caching_test.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/actionpack/test/metal/caching_test.rb b/actionpack/test/metal/caching_test.rb
new file mode 100644
index 0000000000..a2b6763754
--- /dev/null
+++ b/actionpack/test/metal/caching_test.rb
@@ -0,0 +1,32 @@
+require 'abstract_unit'
+
+CACHE_DIR = 'test_cache'
+# Don't change '/../temp/' cavalierly or you might hose something you don't want hosed
+FILE_STORE_PATH = File.join(File.dirname(__FILE__), '/../temp/', CACHE_DIR)
+
+class CachingController < ActionController::Metal
+ abstract!
+
+ include ActionController::Caching
+
+ self.page_cache_directory = FILE_STORE_PATH
+ self.cache_store = :file_store, FILE_STORE_PATH
+end
+
+class PageCachingTestController < CachingController
+ caches_page :ok
+
+ def ok
+ self.response_body = "ok"
+ end
+end
+
+class PageCachingTest < ActionController::TestCase
+ tests PageCachingTestController
+
+ def test_should_cache_get_with_ok_status
+ get :ok
+ assert_response :ok
+ assert File.exist?("#{FILE_STORE_PATH}/page_caching_test/ok.html"), "get with ok status should have been cached"
+ end
+end