Mercurial > hg > soundsoftware-site
diff test/functional/repositories_mercurial_controller_test.rb @ 909:cbb26bc654de redmine-1.3
Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author | Chris Cannam |
---|---|
date | Fri, 24 Feb 2012 19:09:32 +0000 |
parents | 0c939c159af4 |
children | 5e80956cc792 433d4f72a19b |
line wrap: on
line diff
--- a/test/functional/repositories_mercurial_controller_test.rb Fri Feb 24 18:36:29 2012 +0000 +++ b/test/functional/repositories_mercurial_controller_test.rb Fri Feb 24 19:09:32 2012 +0000 @@ -22,13 +22,13 @@ class RepositoriesController; def rescue_action(e) raise e end; end class RepositoriesMercurialControllerTest < ActionController::TestCase - fixtures :projects, :users, :roles, :members, :member_roles, :repositories, :enabled_modules + fixtures :projects, :users, :roles, :members, :member_roles, + :repositories, :enabled_modules - # No '..' in the repository path - REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + - '/tmp/test/mercurial_repository' + REPOSITORY_PATH = Rails.root.join('tmp/test/mercurial_repository').to_s CHAR_1_HEX = "\xc3\x9c" PRJ_ID = 3 + NUM_REV = 32 ruby19_non_utf8_pass = (RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8') @@ -65,8 +65,10 @@ def test_fake; assert true end elsif File.directory?(REPOSITORY_PATH) def test_show_root + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count get :show, :id => PRJ_ID assert_response :success assert_template 'show' @@ -76,12 +78,14 @@ assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'} assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'} assert_not_nil assigns(:changesets) - assigns(:changesets).size > 0 + assert assigns(:changesets).size > 0 end def test_show_directory + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count get :show, :id => PRJ_ID, :path => ['images'] assert_response :success assert_template 'show' @@ -92,12 +96,14 @@ assert_equal 'file', entry.kind assert_equal 'images/edit.png', entry.path assert_not_nil assigns(:changesets) - assigns(:changesets).size > 0 + assert assigns(:changesets).size > 0 end def test_show_at_given_revision + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [0, '0', '0885933ad4f6'].each do |r1| get :show, :id => PRJ_ID, :path => ['images'], :rev => r1 assert_response :success @@ -105,13 +111,15 @@ assert_not_nil assigns(:entries) assert_equal ['delete.png'], assigns(:entries).collect(&:name) assert_not_nil assigns(:changesets) - assigns(:changesets).size > 0 + assert assigns(:changesets).size > 0 end end def test_show_directory_sql_escape_percent + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [13, '13', '3a330eb32958'].each do |r1| get :show, :id => PRJ_ID, :path => ['sql_escape', 'percent%dir'], :rev => r1 @@ -123,14 +131,16 @@ assigns(:entries).collect(&:name) changesets = assigns(:changesets) assert_not_nil changesets - assigns(:changesets).size > 0 + assert assigns(:changesets).size > 0 assert_equal %w(13 11 10 9), changesets.collect(&:revision) end end def test_show_directory_latin_1_path + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [21, '21', 'adf805632193'].each do |r1| get :show, :id => PRJ_ID, :path => ['latin-1-dir'], :rev => r1 assert_response :success @@ -148,8 +158,10 @@ end def test_show_branch + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [ 'default', @branch_char_1, @@ -164,13 +176,15 @@ assert_not_nil assigns(:entries) assert assigns(:entries).size > 0 assert_not_nil assigns(:changesets) - assigns(:changesets).size > 0 + assert assigns(:changesets).size > 0 end end def test_show_tag + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [ @tag_char_1, 'tag_test.00', @@ -182,7 +196,7 @@ assert_not_nil assigns(:entries) assert assigns(:entries).size > 0 assert_not_nil assigns(:changesets) - assigns(:changesets).size > 0 + assert assigns(:changesets).size > 0 end end @@ -257,38 +271,49 @@ end def test_diff + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [4, '4', 'def6d2f1254a'].each do |r1| # Full diff of changeset 4 - get :diff, :id => PRJ_ID, :rev => r1 - assert_response :success - assert_template 'diff' - if @diff_c_support - # Line 22 removed - assert_tag :tag => 'th', - :content => '22', - :sibling => { :tag => 'td', - :attributes => { :class => /diff_out/ }, - :content => /def remove/ } - assert_tag :tag => 'h2', :content => /4:def6d2f1254a/ + ['inline', 'sbs'].each do |dt| + get :diff, :id => PRJ_ID, :rev => r1, :type => dt + assert_response :success + assert_template 'diff' + if @diff_c_support + # Line 22 removed + assert_tag :tag => 'th', + :content => '22', + :sibling => { :tag => 'td', + :attributes => { :class => /diff_out/ }, + :content => /def remove/ } + assert_tag :tag => 'h2', :content => /4:def6d2f1254a/ + end end end end def test_diff_two_revs + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [2, '400bb8672109', '400', 400].each do |r1| [4, 'def6d2f1254a'].each do |r2| - get :diff, :id => PRJ_ID, :rev => r1, - :rev_to => r2 - assert_response :success - assert_template 'diff' - - diff = assigns(:diff) - assert_not_nil diff - assert_tag :tag => 'h2', :content => /4:def6d2f1254a 2:400bb8672109/ + ['inline', 'sbs'].each do |dt| + get :diff, + :id => PRJ_ID, + :rev => r1, + :rev_to => r2, + :type => dt + assert_response :success + assert_template 'diff' + diff = assigns(:diff) + assert_not_nil diff + assert_tag :tag => 'h2', + :content => /4:def6d2f1254a 2:400bb8672109/ + end end end end @@ -296,23 +321,25 @@ def test_diff_latin_1_path with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do [21, 'adf805632193'].each do |r1| - get :diff, :id => PRJ_ID, :rev => r1 - assert_response :success - assert_template 'diff' - assert_tag :tag => 'thead', - :descendant => { - :tag => 'th', - :attributes => { :class => 'filename' } , - :content => /latin-1-dir\/test-#{@char_1}-2.txt/ , - }, - :sibling => { - :tag => 'tbody', + ['inline', 'sbs'].each do |dt| + get :diff, :id => PRJ_ID, :rev => r1, :type => dt + assert_response :success + assert_template 'diff' + assert_tag :tag => 'thead', :descendant => { - :tag => 'td', - :attributes => { :class => /diff_in/ }, - :content => /It is written in Python/ + :tag => 'th', + :attributes => { :class => 'filename' } , + :content => /latin-1-dir\/test-#{@char_1}-2.txt/ , + }, + :sibling => { + :tag => 'tbody', + :descendant => { + :tag => 'td', + :attributes => { :class => /diff_in/ }, + :content => /It is written in Python/ + } } - } + end end end end @@ -347,9 +374,10 @@ end def test_annotate_not_in_tip + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload - assert @repository.changesets.size > 0 + @project.reload + assert_equal NUM_REV, @repository.changesets.count get :annotate, :id => PRJ_ID, :path => ['sources', 'welcome_controller.rb'] @@ -358,8 +386,10 @@ end def test_annotate_at_given_revision + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count [2, '400bb8672109', '400', 400].each do |r1| get :annotate, :id => PRJ_ID, :rev => r1, :path => ['sources', 'watchers_controller.rb'] @@ -417,8 +447,10 @@ end def test_empty_revision + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload + @project.reload + assert_equal NUM_REV, @repository.changesets.count ['', ' ', nil].each do |r| get :revision, :id => PRJ_ID, :rev => r assert_response 404 @@ -428,9 +460,10 @@ def test_destroy_valid_repository @request.session[:user_id] = 1 # admin + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload - assert @repository.changesets.count > 0 + @project.reload + assert_equal NUM_REV, @repository.changesets.count get :destroy, :id => PRJ_ID assert_response 302 @@ -440,9 +473,10 @@ def test_destroy_invalid_repository @request.session[:user_id] = 1 # admin + assert_equal 0, @repository.changesets.count @repository.fetch_changesets - @repository.reload - assert @repository.changesets.count > 0 + @project.reload + assert_equal NUM_REV, @repository.changesets.count get :destroy, :id => PRJ_ID assert_response 302 @@ -456,7 +490,7 @@ ) assert @repository @repository.fetch_changesets - @repository.reload + @project.reload assert_equal 0, @repository.changesets.count get :destroy, :id => PRJ_ID