Skip to content

Commit

Permalink
Merge pull request hiki#7 from KitaitiMakoto/plugin-rss
Browse files Browse the repository at this point in the history
Fix a bug about If-Modified-Since header.
  • Loading branch information
okkez committed Nov 12, 2011
2 parents 4ced38b + d712517 commit 326a028
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 1 deletion.
2 changes: 1 addition & 1 deletion misc/plugin/rss.rb
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def rss
if_modified_since = nil
end

if if_modified_since and last_modified < if_modified_since
if if_modified_since and last_modified <= if_modified_since
header['status'] = 'NOT_MODIFIED'
return ::Hiki::Response.new('', 304, header)
else
Expand Down
48 changes: 48 additions & 0 deletions test/test_plugin_rss.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# To do: Handle Exception raised in Time.parse line 92

require 'test/unit'
require 'time'
require 'cgi'
require 'rack'
require File.join(File.dirname(__FILE__), *%w[.. hiki request])
require File.join(File.dirname(__FILE__), *%w[.. hiki response])

class Plugin_RSS_Unit_Tests < Test::Unit::TestCase
def setup
@now = Time.parse(CGI.rfc1123_date(Time.now))
@request = Object.new
class << @request
def params; {}; end
end
@conf = Object.new
class << @conf
def charset; end
def lang; end
end
plugin_file = File.expand_path(File.join(File.dirname(__FILE__), *%w{.. misc plugin rss.rb}))
instance_eval(File.read(plugin_file))
class << self
define_method(:rss_body) {|*page_num| ['', @now]}
end
end

def test_rss_returns_304_when_if_modified_since_is_same_to_last_modified
ENV['HTTP_IF_MODIFIED_SINCE'] = CGI.rfc1123_date(@now)
assert_equal 304, rss.status
end

def add_body_enter_proc(prcedure)
end

def add_header_proc(procedure)
end

def add_conf_proc(plugin_name, procedure)
end

def export_plugin_methods(*args)
end

def label_rss_config
end
end

0 comments on commit 326a028

Please sign in to comment.