From 2ab094ba4dc078747bf2393693aca88cbeb99735 Mon Sep 17 00:00:00 2001 From: sorah Date: Wed, 6 Jul 2011 13:13:09 +0000 Subject: [PATCH] * test/cgi/test_cgi_header.rb(test_cgi_header_nph): Validate date in "Date:" header git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ test/cgi/test_cgi_header.rb | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c646488f2a..b8adc74616 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jul 6 22:11:12 2011 Shota Fukumori + + * test/cgi/test_cgi_header.rb(test_cgi_header_nph): Validate date in + "Date:" header + Wed Jul 6 21:29:33 2011 KOSAKI Motohiro * cont.c (fiber_machine_stack_alloc): cleanup pointer arithmetic. diff --git a/test/cgi/test_cgi_header.rb b/test/cgi/test_cgi_header.rb index 2e074b0b22..c9d939bd49 100644 --- a/test/cgi/test_cgi_header.rb +++ b/test/cgi/test_cgi_header.rb @@ -1,5 +1,6 @@ require 'test/unit' require 'cgi' +require 'time' class CGIHeaderTest < Test::Unit::TestCase @@ -130,6 +131,7 @@ class CGIHeaderTest < Test::Unit::TestCase def test_cgi_header_nph + time_start = Time.now.to_i cgi = CGI.new ## 'nph' is true ENV['SERVER_SOFTWARE'] = 'Apache 2.2.0' @@ -142,9 +144,11 @@ class CGIHeaderTest < Test::Unit::TestCase ENV['SERVER_SOFTWARE'] = 'IIS/5.0' actual4 = cgi.header actual5 = cgi.header('status'=>'REDIRECT', 'location'=>'http://www.example.com/') - date = /^Date: [A-Z][a-z]{2}, \d{2} [A-Z][a-z]{2} \d{4} \d\d:\d\d:\d\d GMT\r\n/ + time_end = Time.now.to_i + date = /^Date: ([A-Z][a-z]{2}, \d{2} [A-Z][a-z]{2} \d{4} \d\d:\d\d:\d\d GMT)\r\n/ [actual1, actual2, actual3].each do |actual| assert_match(date, actual) + assert_includes(time_start..time_end, date =~ actual && Time.parse($1).to_i) actual.sub!(date, "Date: DATE_IS_REMOVED\r\n") end ## assertion