##// END OF EJS Templates
scm: darcs: change project id of unit app test from 1 to 3....
Toshi MARUYAMA -
r4858:984283dde99a
parent child
Show More
@@ -1,70 +1,73
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006-2008 Jean-Philippe Lang
2 # Copyright (C) 2006-2008 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require File.expand_path('../../test_helper', __FILE__)
18 require File.expand_path('../../test_helper', __FILE__)
19
19
20 class RepositoryDarcsTest < ActiveSupport::TestCase
20 class RepositoryDarcsTest < ActiveSupport::TestCase
21 fixtures :projects
21 fixtures :projects
22
22
23 # No '..' in the repository path
23 # No '..' in the repository path
24 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/darcs_repository'
24 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/darcs_repository'
25
25
26 def setup
26 def setup
27 @project = Project.find(1)
27 @project = Project.find(3)
28 assert @repository = Repository::Darcs.create(:project => @project, :url => REPOSITORY_PATH)
28 @repository = Repository::Darcs.create(:project => @project, :url => REPOSITORY_PATH)
29 assert @repository
29 end
30 end
30
31
31 if File.directory?(REPOSITORY_PATH)
32 if File.directory?(REPOSITORY_PATH)
32 def test_fetch_changesets_from_scratch
33 def test_fetch_changesets_from_scratch
33 @repository.fetch_changesets
34 @repository.fetch_changesets
34 @repository.reload
35 @repository.reload
35
36
36 assert_equal 6, @repository.changesets.count
37 assert_equal 6, @repository.changesets.count
37 assert_equal 13, @repository.changes.count
38 assert_equal 13, @repository.changes.count
38 assert_equal "Initial commit.", @repository.changesets.find_by_revision('1').comments
39 assert_equal "Initial commit.", @repository.changesets.find_by_revision('1').comments
39 end
40 end
40
41
41 def test_fetch_changesets_incremental
42 def test_fetch_changesets_incremental
42 @repository.fetch_changesets
43 @repository.fetch_changesets
43 # Remove changesets with revision > 3
44 # Remove changesets with revision > 3
44 @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 3}
45 @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 3}
45 @repository.reload
46 @repository.reload
46 assert_equal 3, @repository.changesets.count
47 assert_equal 3, @repository.changesets.count
47
48
48 @repository.fetch_changesets
49 @repository.fetch_changesets
49 assert_equal 6, @repository.changesets.count
50 assert_equal 6, @repository.changesets.count
50 end
51 end
51
52
52 def test_deleted_files_should_not_be_listed
53 def test_deleted_files_should_not_be_listed
54 @repository.fetch_changesets
55 @repository.reload
53 entries = @repository.entries('sources')
56 entries = @repository.entries('sources')
54 assert entries.detect {|e| e.name == 'watchers_controller.rb'}
57 assert entries.detect {|e| e.name == 'watchers_controller.rb'}
55 assert_nil entries.detect {|e| e.name == 'welcome_controller.rb'}
58 assert_nil entries.detect {|e| e.name == 'welcome_controller.rb'}
56 end
59 end
57
60
58 def test_cat
61 def test_cat
59 if @repository.scm.supports_cat?
62 if @repository.scm.supports_cat?
60 @repository.fetch_changesets
63 @repository.fetch_changesets
61 cat = @repository.cat("sources/welcome_controller.rb", 2)
64 cat = @repository.cat("sources/welcome_controller.rb", 2)
62 assert_not_nil cat
65 assert_not_nil cat
63 assert cat.include?('class WelcomeController < ApplicationController')
66 assert cat.include?('class WelcomeController < ApplicationController')
64 end
67 end
65 end
68 end
66 else
69 else
67 puts "Darcs test repository NOT FOUND. Skipping unit tests !!!"
70 puts "Darcs test repository NOT FOUND. Skipping unit tests !!!"
68 def test_fake; assert true end
71 def test_fake; assert true end
69 end
72 end
70 end
73 end
General Comments 0
You need to be logged in to leave comments. Login now