added branches, more log stuff, better tests, changed the log api a bit
[rubygit.git] / tests / units / test_log.rb
blobb62c5449dee7b3f6b490cdc9a898da4efa1de573
1 #!/usr/bin/env ruby
3 require File.dirname(__FILE__) + '/../test_helper'
5 class TestLog < Test::Unit::TestCase
6   def setup
7     set_file_paths
8     @git = Git.open(@wdir)
9   end
11   def test_get_log_entries
12     log = @git.log
13     assert(log.first.is_a?(Git::Object::Commit))
14   end
15   
16   def test_get_log_entries    
17     assert_equal(30, @git.log.size)
18     assert_equal(50, @git.log(50).size)
19     assert_equal(10, @git.log(10).size)
20   end
22   def test_get_log_to_s
23     assert_equal(@git.log.to_s.split("\n").first, @git.log.first.sha)
24   end
25   
26   def test_get_log_since
27     l = @git.log.since("2 seconds ago")
28     assert_equal(0, l.size)
29     
30     l = @git.log.since("2 years ago")
31     assert_equal(30, l.size)
32   end
33   
34   def test_get_log_since_file
35     l = @git.log.object('example.txt')
36     assert_equal(30, l.size)
37     
38     l = @git.log.between('v2.5').object('example.txt')
39     assert_equal(2, l.size)
40   
41     l = @git.log.between('v2.5', 'test').object('example.txt')
42     assert_equal(1, l.size)
43   end
44   
45   def test_log_file_noexist
46     assert_raise Git::GitExecuteError do
47       @git.log.object('no-exist.txt').size
48     end
49   end
50   
51 end