Skip to content

Commit

Permalink
ActionController::Caching depends on RackDelegation and AbstractContr…
Browse files Browse the repository at this point in the history
…oller::Callbacks
  • Loading branch information
spastorino committed Jun 13, 2012
1 parent 56a1bb2 commit 459de6f
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
3 changes: 3 additions & 0 deletions actionpack/lib/action_controller/caching.rb
Expand Up @@ -55,6 +55,9 @@ def cache_configured?
end
end

include RackDelegation
include AbstractController::Callbacks

include ConfigMethods
include Pages, Actions, Fragments
include Sweeping if defined?(ActiveRecord)
Expand Down
32 changes: 32 additions & 0 deletions 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

0 comments on commit 459de6f

Please sign in to comment.