@@ -8,9 +8,11 @@ class TestRegressions < MiniTest::Test
88 def setup
99 @cached_headers = {
1010 :cached => {
11+ "Age" => "99999" ,
1112 "Date" => { "httpdate" => "Thu, 01 Jan 2015 07:03:45 GMT" , "timestamp" => 1420095825 } ,
1213 "Cache-Control" => {
13- "public" => { "token" => nil , "quoted_string" => nil }
14+ "public" => { "token" => nil , "quoted_string" => nil } ,
15+ "max-age" => { "token" => "10" , "quoted_string" => nil }
1416 } ,
1517 "X-Cache-Req-Date" => { "httpdate" => "Sat, 03 Jan 2015 07:03:45 GMT" , "timestamp" => 1420268625 } ,
1618 "X-Cache-Res-Date" => { "httpdate" => "Sat, 03 Jan 2015 07:03:45 GMT" , "timestamp" => 1420268625 }
@@ -44,4 +46,24 @@ def test_bugfix_8_errors_caused_by_empty_http_headers
4446 assert_equal isnil , [ ]
4547 assert_equal isempty , [ ]
4648 end
49+
50+ # https://github.com/aw/CacheRules/issues/10
51+ def test_bugfix_10_request_header_max_age_is_checked
52+ request_maxage = CacheRules . validate_no_cache? ( {
53+ :cached => @cached_headers [ :cached ] ,
54+ :request => { "Cache-Control" => { "max-age" => { "token" => 0 , "quoted_string" => nil } } }
55+ } )
56+ current = CacheRules . validate_no_cache? ( {
57+ :cached => @cached_headers [ :cached ] ,
58+ :request => { "Cache-Control" => { "max-age" => { "token" => 1000 , "quoted_string" => nil } } }
59+ } )
60+ cached_max_age = CacheRules . validate_expired? ( {
61+ :cached => @cached_headers [ :cached ] ,
62+ :request => { }
63+ } )
64+
65+ assert_equal 1 , request_maxage
66+ assert_equal 1 , current
67+ assert_equal 1 , cached_max_age
68+ end
4769end
0 commit comments