##// END OF EJS Templates
Rails3: scm: darcs: fix error of test_cat at unit model test...
Toshi MARUYAMA -
r7001:8ebb5b61e8b5
parent child
Show More
@@ -1,93 +1,96
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
2 # Copyright (C) 2006-2011 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 REPOSITORY_PATH = Rails.root.join('tmp/test/darcs_repository').to_s
23 REPOSITORY_PATH = Rails.root.join('tmp/test/darcs_repository').to_s
24 NUM_REV = 6
24 NUM_REV = 6
25
25
26 def setup
26 def setup
27 @project = Project.find(3)
27 @project = Project.find(3)
28 @repository = Repository::Darcs.create(
28 @repository = Repository::Darcs.create(
29 :project => @project,
29 :project => @project,
30 :url => REPOSITORY_PATH,
30 :url => REPOSITORY_PATH,
31 :log_encoding => 'UTF-8'
31 :log_encoding => 'UTF-8'
32 )
32 )
33 assert @repository
33 assert @repository
34 end
34 end
35
35
36 if File.directory?(REPOSITORY_PATH)
36 if File.directory?(REPOSITORY_PATH)
37 def test_fetch_changesets_from_scratch
37 def test_fetch_changesets_from_scratch
38 assert_equal 0, @repository.changesets.count
38 assert_equal 0, @repository.changesets.count
39 @repository.fetch_changesets
39 @repository.fetch_changesets
40 @project.reload
40 @project.reload
41
41
42 assert_equal NUM_REV, @repository.changesets.count
42 assert_equal NUM_REV, @repository.changesets.count
43 assert_equal 13, @repository.changes.count
43 assert_equal 13, @repository.changes.count
44 assert_equal "Initial commit.", @repository.changesets.find_by_revision('1').comments
44 assert_equal "Initial commit.", @repository.changesets.find_by_revision('1').comments
45 end
45 end
46
46
47 def test_fetch_changesets_incremental
47 def test_fetch_changesets_incremental
48 assert_equal 0, @repository.changesets.count
48 assert_equal 0, @repository.changesets.count
49 @repository.fetch_changesets
49 @repository.fetch_changesets
50 @project.reload
50 @project.reload
51 assert_equal NUM_REV, @repository.changesets.count
51 assert_equal NUM_REV, @repository.changesets.count
52
52
53 # Remove changesets with revision > 3
53 # Remove changesets with revision > 3
54 @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 3}
54 @repository.changesets.find(:all).each {|c| c.destroy if c.revision.to_i > 3}
55 @project.reload
55 @project.reload
56 assert_equal 3, @repository.changesets.count
56 assert_equal 3, @repository.changesets.count
57
57
58 @repository.fetch_changesets
58 @repository.fetch_changesets
59 @project.reload
59 @project.reload
60 assert_equal NUM_REV, @repository.changesets.count
60 assert_equal NUM_REV, @repository.changesets.count
61 end
61 end
62
62
63 def test_entries_invalid_revision
63 def test_entries_invalid_revision
64 assert_equal 0, @repository.changesets.count
64 assert_equal 0, @repository.changesets.count
65 @repository.fetch_changesets
65 @repository.fetch_changesets
66 @project.reload
66 @project.reload
67 assert_equal NUM_REV, @repository.changesets.count
67 assert_equal NUM_REV, @repository.changesets.count
68 assert_nil @repository.entries('', '123')
68 assert_nil @repository.entries('', '123')
69 end
69 end
70
70
71 def test_deleted_files_should_not_be_listed
71 def test_deleted_files_should_not_be_listed
72 assert_equal 0, @repository.changesets.count
72 assert_equal 0, @repository.changesets.count
73 @repository.fetch_changesets
73 @repository.fetch_changesets
74 @project.reload
74 @project.reload
75 assert_equal NUM_REV, @repository.changesets.count
75 assert_equal NUM_REV, @repository.changesets.count
76 entries = @repository.entries('sources')
76 entries = @repository.entries('sources')
77 assert entries.detect {|e| e.name == 'watchers_controller.rb'}
77 assert entries.detect {|e| e.name == 'watchers_controller.rb'}
78 assert_nil entries.detect {|e| e.name == 'welcome_controller.rb'}
78 assert_nil entries.detect {|e| e.name == 'welcome_controller.rb'}
79 end
79 end
80
80
81 def test_cat
81 def test_cat
82 if @repository.scm.supports_cat?
82 if @repository.scm.supports_cat?
83 assert_equal 0, @repository.changesets.count
83 @repository.fetch_changesets
84 @repository.fetch_changesets
85 @project.reload
86 assert_equal NUM_REV, @repository.changesets.count
84 cat = @repository.cat("sources/welcome_controller.rb", 2)
87 cat = @repository.cat("sources/welcome_controller.rb", 2)
85 assert_not_nil cat
88 assert_not_nil cat
86 assert cat.include?('class WelcomeController < ApplicationController')
89 assert cat.include?('class WelcomeController < ApplicationController')
87 end
90 end
88 end
91 end
89 else
92 else
90 puts "Darcs test repository NOT FOUND. Skipping unit tests !!!"
93 puts "Darcs test repository NOT FOUND. Skipping unit tests !!!"
91 def test_fake; assert true end
94 def test_fake; assert true end
92 end
95 end
93 end
96 end
General Comments 0
You need to be logged in to leave comments. Login now