aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorBrandon Keepers <brandon@opensoul.org>2013-05-07 08:37:20 -0400
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-05-07 11:04:44 -0300
commitca0275d36b395631725c4583db5a45c06443fdb9 (patch)
tree9775eea8e9449e3fbd5b79051c00c97830c68760 /actionpack
parent33283c98ed690b12bc2bca75276236dc907798b2 (diff)
downloadrails-ca0275d36b395631725c4583db5a45c06443fdb9.tar.gz
rails-ca0275d36b395631725c4583db5a45c06443fdb9.tar.bz2
rails-ca0275d36b395631725c4583db5a45c06443fdb9.zip
Test that #fresh_when accepts an array
https://github.com/rails/etagger/pull/3
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/test/controller/render_test.rb21
1 files changed, 19 insertions, 2 deletions
diff --git a/actionpack/test/controller/render_test.rb b/actionpack/test/controller/render_test.rb
index 0e5bad7482..72411ec900 100644
--- a/actionpack/test/controller/render_test.rb
+++ b/actionpack/test/controller/render_test.rb
@@ -32,6 +32,10 @@ class TestControllerWithExtraEtags < ActionController::Base
def fresh
render text: "stale" if stale?(etag: '123')
end
+
+ def array
+ render text: "stale" if stale?(etag: %w(1 2 3))
+ end
end
class TestController < ActionController::Base
@@ -1649,7 +1653,6 @@ class LastModifiedRenderTest < ActionController::TestCase
assert_equal @last_modified, @response.headers['Last-Modified']
end
-
def test_request_with_bang_gets_last_modified
get :conditional_hello_with_bangs
assert_equal @last_modified, @response.headers['Last-Modified']
@@ -1678,7 +1681,7 @@ class EtagRenderTest < ActionController::TestCase
end
def test_multiple_etags
- @request.if_none_match = %("#{Digest::MD5.hexdigest(ActiveSupport::Cache.expand_cache_key([ "123", 'ab', :cde, [:f] ]))}")
+ @request.if_none_match = etag(["123", 'ab', :cde, [:f]])
get :fresh
assert_response :not_modified
@@ -1686,6 +1689,20 @@ class EtagRenderTest < ActionController::TestCase
get :fresh
assert_response :success
end
+
+ def test_array
+ @request.if_none_match = etag([%w(1 2 3), 'ab', :cde, [:f]])
+ get :array
+ assert_response :not_modified
+
+ @request.if_none_match = %("nomatch")
+ get :array
+ assert_response :success
+ end
+
+ def etag(record)
+ Digest::MD5.hexdigest(ActiveSupport::Cache.expand_cache_key(record)).inspect
+ end
end