aboutsummaryrefslogtreecommitdiff
path: root/log.rb
diff options
context:
space:
mode:
authorBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2009-11-24 09:52:41 +0100
committerBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2009-11-24 09:52:41 +0100
commit8da3d5d0ea69aa9fc991c136ba6274cfc5f459ba (patch)
tree1cac3d9e59957b3e6b9fc0250ed0bb65406fc635 /log.rb
parente4d1de4f78d03bb3d9b5b759f2950c99f368ae6b (diff)
bugfix for empty history
Diffstat (limited to 'log.rb')
-rw-r--r--log.rb11
1 files changed, 8 insertions, 3 deletions
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 = "<table summary='Historytable' ><tr><th>Version</th><th>Date</th><th>Comment</th></tr>"
- self.each do |l|
+ self.each{|l|
ret += l.to_html(unlinkedrevision != l.rev,history)
- end
+ }
ret += "</table>"
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