aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2007-11-28 00:29:43 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2007-11-28 00:29:43 +0000
commit45d679bcb881adf8782230ff3b14ebc3a8d20e7b (patch)
treeb479d3242bc818fa69698573f93a6f97f8be9806 /actionpack/test/controller
parent4d177ae0d6d9f60c4000f45fb6f6df27317afbff (diff)
downloadrails-45d679bcb881adf8782230ff3b14ebc3a8d20e7b.tar.gz
rails-45d679bcb881adf8782230ff3b14ebc3a8d20e7b.tar.bz2
rails-45d679bcb881adf8782230ff3b14ebc3a8d20e7b.zip
Added protection from trailing slashes on page caching (closes #10229) [devrieda]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8226 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test/controller')
-rw-r--r--actionpack/test/controller/caching_test.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/actionpack/test/controller/caching_test.rb b/actionpack/test/controller/caching_test.rb
index 828b2fbf26..d6982fbc86 100644
--- a/actionpack/test/controller/caching_test.rb
+++ b/actionpack/test/controller/caching_test.rb
@@ -35,6 +35,10 @@ class PageCachingTestController < ActionController::Base
expire_page("/index.html")
head :ok
end
+
+ def trailing_slash
+ render :text => "Sneak attack"
+ end
end
class PageCachingTest < Test::Unit::TestCase
@@ -91,6 +95,16 @@ class PageCachingTest < Test::Unit::TestCase
get :expire_custom_path
assert !File.exist?("#{FILE_STORE_PATH}/index.html")
end
+
+ def test_should_cache_without_trailing_slash_on_url
+ @controller.class.cache_page 'cached content', '/page_caching_test/trailing_slash'
+ assert File.exist?("#{FILE_STORE_PATH}/page_caching_test/trailing_slash.html")
+ end
+
+ def test_should_cache_with_trailing_slash_on_url
+ @controller.class.cache_page 'cached content', '/page_caching_test/trailing_slash/'
+ assert File.exist?("#{FILE_STORE_PATH}/page_caching_test/trailing_slash.html")
+ end
uses_mocha("should_cache_ok_at_custom_path") do
def test_should_cache_ok_at_custom_path