aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application
diff options
context:
space:
mode:
authorBrendan Ribera <brendan.ribera@gmail.com>2011-10-03 11:17:12 -0700
committerBrendan Ribera <brendan.ribera@gmail.com>2011-10-03 11:32:24 -0700
commit57d9737f2f4174816c59261bb78699a52b9bce32 (patch)
tree0222aaa37fe9737a03a8c0cc2a3c0f0d5784175e /railties/test/application
parentc10fcd26376d9cdc4d4a27b66271ab33413ca18f (diff)
downloadrails-57d9737f2f4174816c59261bb78699a52b9bce32.tar.gz
rails-57d9737f2f4174816c59261bb78699a52b9bce32.tar.bz2
rails-57d9737f2f4174816c59261bb78699a52b9bce32.zip
Test demonstrating #3053: If-Modified-Since gets swallowed up by rack-cache.
Diffstat (limited to 'railties/test/application')
-rw-r--r--railties/test/application/middleware/cache_test.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/railties/test/application/middleware/cache_test.rb b/railties/test/application/middleware/cache_test.rb
index e656ada3c0..050a2161ae 100644
--- a/railties/test/application/middleware/cache_test.rb
+++ b/railties/test/application/middleware/cache_test.rb
@@ -31,6 +31,10 @@ module ApplicationTests
$last_modified ||= Time.now.utc
render_conditionally(:last_modified => $last_modified)
end
+
+ def keeps_if_modified_since
+ render :text => request.headers['If-Modified-Since']
+ end
private
def render_conditionally(headers)
if stale?(headers.merge(:public => !params[:private]))
@@ -47,6 +51,16 @@ module ApplicationTests
RUBY
end
+ def test_cache_keeps_if_modified_since
+ simple_controller
+ expected = "Wed, 30 May 1984 19:43:31 GMT"
+
+ get "/expires/keeps_if_modified_since", {}, "HTTP_IF_MODIFIED_SINCE" => expected
+
+ assert_equal 200, last_response.status
+ assert_equal expected, last_response.body, "cache should have kept If-Modified-Since"
+ end
+
def test_cache_is_disabled_in_dev_mode
simple_controller
app("development")