From 8da3d5d0ea69aa9fc991c136ba6274cfc5f459ba Mon Sep 17 00:00:00 2001 From: Benjamin Kellermann Date: Tue, 24 Nov 2009 09:52:41 +0100 Subject: bugfix for empty history --- log.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'log.rb') diff --git a/log.rb b/log.rb index a02e7ec..c98e9b4 100644 --- a/log.rb +++ b/log.rb @@ -53,7 +53,7 @@ end class Log attr_reader :log def initialize(a = []) - @log = a + @log = a.compact.sort end def min @log.sort! @@ -72,6 +72,7 @@ class Log return @log[i] else # no revision found, search the nearest dist = revisions.collect{|e| (e - revision).abs }.sort[0] + return nil unless dist i = revisions.index(revision + dist) || revisions.index(revision - dist) return @log[i] end @@ -107,9 +108,9 @@ class Log end def to_html(unlinkedrevision,history) ret = "" - self.each do |l| + self.each{|l| ret += l.to_html(unlinkedrevision != l.rev,history) - end + } ret += "
VersionDateComment
" ret end @@ -172,6 +173,10 @@ require "pp" def test_indexes l = Log.new + + l.each{flunk("this should not happen")} + assert_equal(nil,l[2]) + l.add(10,Time.now,"baz 10") 20.times{|i| l.add(i,Time.now,"foo #{i}") unless i == 10 -- cgit v1.2.3