##// END OF EJS Templates
add unit test to set project if project is nil at unit time entry test...
add unit test to set project if project is nil at unit time entry test git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7452 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r7026:5bf47d1eb83d
r7332:5778c264349e
Show More
repositories_git_controller_test.rb
461 lines | 16.5 KiB | text/x-ruby | RubyLexer
/ test / functional / repositories_git_controller_test.rb
Toshi MARUYAMA
scm: git: remove trailing white-spaces from functional test....
r5573 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
scm: git: remove trailing white-spaces from functional test....
r5573 #
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
scm: git: remove trailing white-spaces from functional test....
r5573 #
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 require 'repositories_controller'
# Re-raise errors caught by the controller.
class RepositoriesController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class RepositoriesGitControllerTest < ActionController::TestCase
Toshi MARUYAMA
scm: git: replace RAILS_ROOT to Rails.root in functional test....
r5923 fixtures :projects, :users, :roles, :members, :member_roles,
:repositories, :enabled_modules
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222
Toshi MARUYAMA
scm: git: replace RAILS_ROOT to Rails.root in functional test....
r5923 REPOSITORY_PATH = Rails.root.join('tmp/test/git_repository').to_s
Jean-Philippe Lang
Fixes platform determination under JRuby (#1804)....
r1752 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 PRJ_ID = 3
Toshi MARUYAMA
scm: git: add test of showing non ASCII contents of non ASCII path in functional test....
r5577 CHAR_1_HEX = "\xc3\x9c"
Toshi MARUYAMA
scm: git: define NUM_REV as the number of test repository revisions at functional test...
r6989 NUM_REV = 21
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of functional test in JRuby (#5251)....
r5883 ## Git, Mercurial and CVS path encodings are binary.
## Subversion supports URL encoding for path.
## Redmine Mercurial adapter and extension use URL encoding.
## Git accepts only binary path in command line parameter.
## So, there is no way to use binary command line parameter in JRuby.
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def setup
Toshi MARUYAMA
scm: git: add test of showing non ASCII contents of non ASCII path in functional test....
r5577 @ruby19_non_utf8_pass =
(RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8')
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 @controller = RepositoriesController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = nil
Toshi MARUYAMA
scm: git: add instance variable @project at functional test....
r6128 @project = Project.find(PRJ_ID)
Toshi MARUYAMA
scm: git: fix PortgreSQL functional test fails (#5251)....
r4950 @repository = Repository::Git.create(
Toshi MARUYAMA
scm: git: add instance variable @project at functional test....
r6128 :project => @project,
:url => REPOSITORY_PATH,
Toshi MARUYAMA
scm: git: fix PortgreSQL functional test fails (#5251)....
r4950 :path_encoding => 'ISO-8859-1'
)
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545 assert @repository
Toshi MARUYAMA
scm: git: add test of showing non ASCII contents of non ASCII path in functional test....
r5577 @char_1 = CHAR_1_HEX.dup
if @char_1.respond_to?(:force_encoding)
@char_1.force_encoding('UTF-8')
end
Jean-Baptiste Barth
Do not cache I18n strings when truncating a long diff (#5089)....
r5953
Setting.default_language = 'en'
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 end
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 if File.directory?(REPOSITORY_PATH)
def test_browse_root
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_root at functional test...
r6990 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_root at functional test...
r6990 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :show, :id => PRJ_ID
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_not_nil assigns(:entries)
Eric Davis
Support leading and trailing spaces in filenames or directories in the git adapter. #6499...
r4075 assert_equal 9, assigns(:entries).size
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'}
Eric Davis
Extend changes.path and changes.from_path to support longer paths. #5771...
r3714 assert assigns(:entries).detect {|e| e.name == 'this_is_a_really_long_and_verbose_directory_name' && e.kind == 'dir'}
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'}
assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'}
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert assigns(:entries).detect {|e| e.name == 'copied_README' && e.kind == 'file'}
assert assigns(:entries).detect {|e| e.name == 'new_file.txt' && e.kind == 'file'}
assert assigns(:entries).detect {|e| e.name == 'renamed_test.txt' && e.kind == 'file'}
Eric Davis
Support spaces in the files or directories in the git adapter. #6054...
r4074 assert assigns(:entries).detect {|e| e.name == 'filemane with spaces.txt' && e.kind == 'file'}
Eric Davis
Support leading and trailing spaces in filenames or directories in the git adapter. #6499...
r4075 assert assigns(:entries).detect {|e| e.name == ' filename with a leading space.txt ' && e.kind == 'file'}
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 assert_not_nil assigns(:changesets)
Toshi MARUYAMA
scm: git: add missing "assert" changesets and entries size at functional test....
r6102 assert assigns(:changesets).size > 0
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 end
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735
def test_browse_branch
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_branch at functional test...
r7004 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_branch at functional test...
r7004 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :show, :id => PRJ_ID, :rev => 'test_branch'
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_response :success
assert_template 'show'
assert_not_nil assigns(:entries)
assert_equal 4, assigns(:entries).size
assert assigns(:entries).detect {|e| e.name == 'images' && e.kind == 'dir'}
assert assigns(:entries).detect {|e| e.name == 'sources' && e.kind == 'dir'}
assert assigns(:entries).detect {|e| e.name == 'README' && e.kind == 'file'}
assert assigns(:entries).detect {|e| e.name == 'test.txt' && e.kind == 'file'}
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 assert_not_nil assigns(:changesets)
Toshi MARUYAMA
scm: git: add missing "assert" changesets and entries size at functional test....
r6102 assert assigns(:changesets).size > 0
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 end
Toshi MARUYAMA
scm: git: add browsing tag test in functional test....
r5001 def test_browse_tag
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_tag at functional test...
r7005 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add browsing tag test in functional test....
r5001 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_tag at functional test...
r7005 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add browsing tag test in functional test....
r5001 [
"tag00.lightweight",
"tag01.annotated",
].each do |t1|
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :show, :id => PRJ_ID, :rev => t1
Toshi MARUYAMA
scm: git: add browsing tag test in functional test....
r5001 assert_response :success
assert_template 'show'
assert_not_nil assigns(:entries)
Toshi MARUYAMA
scm: git: add missing "assert" changesets and entries size at functional test....
r6102 assert assigns(:entries).size > 0
Toshi MARUYAMA
scm: git: add browsing tag test in functional test....
r5001 assert_not_nil assigns(:changesets)
Toshi MARUYAMA
scm: git: add missing "assert" changesets and entries size at functional test....
r6102 assert assigns(:changesets).size > 0
Toshi MARUYAMA
scm: git: add browsing tag test in functional test....
r5001 end
end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_browse_directory
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_directory at functional test...
r7010 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_directory at functional test...
r7010 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :show, :id => PRJ_ID, :path => ['images']
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_not_nil assigns(:entries)
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_equal ['edit.png'], assigns(:entries).collect(&:name)
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 entry = assigns(:entries).detect {|e| e.name == 'edit.png'}
assert_not_nil entry
assert_equal 'file', entry.kind
assert_equal 'images/edit.png', entry.path
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 assert_not_nil assigns(:changesets)
Toshi MARUYAMA
scm: git: add missing "assert" changesets and entries size at functional test....
r6102 assert assigns(:changesets).size > 0
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 end
Toshi MARUYAMA
scm: git: code clean up functional test....
r4999
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 def test_browse_at_given_revision
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_at_given_revision at functional test...
r7018 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_browse_at_given_revision at functional test...
r7018 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :show, :id => PRJ_ID, :path => ['images'],
:rev => '7234cb2750b63f47bff735edc50a1c0a433c2518'
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 assert_not_nil assigns(:entries)
assert_equal ['delete.png'], assigns(:entries).collect(&:name)
Toshi MARUYAMA
scm: git: check entries and changesets size are greater than 0 in browse test in functional test....
r5000 assert_not_nil assigns(:changesets)
Toshi MARUYAMA
scm: git: add missing "assert" changesets and entries size at functional test....
r6102 assert assigns(:changesets).size > 0
Jean-Philippe Lang
Fix repository browsing at given revision for various scm and add tests for this....
r1314 end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_changes
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :changes, :id => PRJ_ID, :path => ['images', 'edit.png']
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_response :success
assert_template 'changes'
assert_tag :tag => 'h2', :content => 'edit.png'
end
Toshi MARUYAMA
scm: git: code clean up functional test....
r4999
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_entry_show
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :entry, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb']
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_response :success
assert_template 'entry'
# Line 19
assert_tag :tag => 'th',
Toshi MARUYAMA
scm: git: more strict functional test....
r5333 :content => '11',
:attributes => { :class => 'line-num' },
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 :sibling => { :tag => 'td', :content => /WITHOUT ANY WARRANTY/ }
end
Toshi MARUYAMA
scm: git: code clean up functional test....
r4999
Toshi MARUYAMA
scm: git: add test of showing non ASCII contents of non ASCII path in functional test....
r5577 def test_entry_show_latin_1
if @ruby19_non_utf8_pass
puts_ruby19_non_utf8_pass()
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of functional test in JRuby (#5251)....
r5883 elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
Toshi MARUYAMA
scm: git: add test of showing non ASCII contents of non ASCII path in functional test....
r5577 else
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
get :entry, :id => PRJ_ID,
:path => ['latin-1-dir', "test-#{@char_1}.txt"], :rev => r1
assert_response :success
assert_template 'entry'
assert_tag :tag => 'th',
:content => '1',
:attributes => { :class => 'line-num' },
:sibling => { :tag => 'td',
:content => /test-#{@char_1}.txt/ }
end
end
end
end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_entry_download
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :entry, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb'],
:format => 'raw'
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_response :success
# File content
assert @response.body.include?('WITHOUT ANY WARRANTY')
end
Toshi MARUYAMA
scm: git: code clean up functional test....
r4999
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 def test_directory_entry
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :entry, :id => PRJ_ID, :path => ['sources']
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 assert_response :success
Eric Davis
Added branch and tag support to the git repository viewer. (#1406)...
r2735 assert_template 'show'
Jean-Philippe Lang
Fixed: Links to repository directories don't work (#1119)....
r1350 assert_not_nil assigns(:entry)
assert_equal 'sources', assigns(:entry).name
end
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_diff
Toshi MARUYAMA
Rails3: scm: git: fix error of test_diff at functional test...
r7019 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_diff at functional test...
r7019 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 # Full diff of changeset 2f9c0091
Toshi MARUYAMA
scm: git: run both "inline" and "side by side" diff in functional test_diff test....
r5852 ['inline', 'sbs'].each do |dt|
get :diff,
:id => PRJ_ID,
:rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
:type => dt
assert_response :success
assert_template 'diff'
# Line 22 removed
assert_tag :tag => 'th',
:content => /22/,
:sibling => { :tag => 'td',
:attributes => { :class => /diff_out/ },
:content => /def remove/ }
assert_tag :tag => 'h2', :content => /2f9c0091/
end
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545 end
Jean-Baptiste Barth
Do not cache I18n strings when truncating a long diff (#5089)....
r5953 def test_diff_truncated
Toshi MARUYAMA
Rails3: scm: git: fix error of test_diff_truncated at functional test...
r7020 assert_equal 0, @repository.changesets.count
Jean-Baptiste Barth
Do not cache I18n strings when truncating a long diff (#5089)....
r5953 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_diff_truncated at functional test...
r7020 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Jean-Baptiste Barth
Do not cache I18n strings when truncating a long diff (#5089)....
r5953 Setting.diff_max_lines_displayed = 5
# Truncated diff of changeset 2f9c0091
with_cache do
get :diff, :id => PRJ_ID, :type => 'inline',
:rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
assert_response :success
assert @response.body.include?("... This diff was truncated")
Setting.default_language = 'fr'
get :diff, :id => PRJ_ID, :type => 'inline',
:rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
assert_response :success
assert ! @response.body.include?("... This diff was truncated")
assert @response.body.include?("... Ce diff")
end
end
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545 def test_diff_two_revs
Toshi MARUYAMA
Rails3: scm: git: fix error of test_diff_two_revs at functional test...
r7021 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_diff_two_revs at functional test...
r7021 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: run both "inline" and "side by side" diff in functional test_diff_two_revs test....
r5853 ['inline', 'sbs'].each do |dt|
get :diff,
:id => PRJ_ID,
:rev => '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
:rev_to => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
:type => dt
assert_response :success
assert_template 'diff'
diff = assigns(:diff)
assert_not_nil diff
assert_tag :tag => 'h2', :content => /2f9c0091:61b685fb/
end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 end
Toshi MARUYAMA
scm: git: add test of diff non ASCII path and non ASCII content in functional test....
r5578 def test_diff_latin_1
if @ruby19_non_utf8_pass
puts_ruby19_non_utf8_pass()
else
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
Toshi MARUYAMA
scm: git: run both "inline" and "side by side" diff in functional test_diff_latin_1 test....
r5854 ['inline', 'sbs'].each do |dt|
get :diff, :id => PRJ_ID, :rev => r1, :type => dt
assert_response :success
assert_template 'diff'
assert_tag :tag => 'thead',
Toshi MARUYAMA
scm: git: add test of diff non ASCII path and non ASCII content in functional test....
r5578 :descendant => {
Toshi MARUYAMA
scm: git: run both "inline" and "side by side" diff in functional test_diff_latin_1 test....
r5854 :tag => 'th',
:attributes => { :class => 'filename' } ,
:content => /latin-1-dir\/test-#{@char_1}.txt/ ,
},
:sibling => {
:tag => 'tbody',
:descendant => {
:tag => 'td',
:attributes => { :class => /diff_in/ },
:content => /test-#{@char_1}.txt/
}
Toshi MARUYAMA
scm: git: add test of diff non ASCII path and non ASCII content in functional test....
r5578 }
Toshi MARUYAMA
scm: git: run both "inline" and "side by side" diff in functional test_diff_latin_1 test....
r5854 end
Toshi MARUYAMA
scm: git: add test of diff non ASCII path and non ASCII content in functional test....
r5578 end
end
end
end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_annotate
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :annotate, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb']
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 assert_response :success
assert_template 'annotate'
Toshi MARUYAMA
scm: git: fix a comment of functional annotate test....
r5790 # Line 24, changeset 2f9c0091
Toshi MARUYAMA
scm: git: more strict functional test....
r5333 assert_tag :tag => 'th', :content => '24',
:sibling => {
:tag => 'td',
:child => {
:tag => 'a',
Jean-Philippe Lang
Fixes git annotate test failure....
r5870 :content => /2f9c0091/
Toshi MARUYAMA
scm: git: more strict functional test....
r5333 }
Toshi MARUYAMA
scm: git: fix functional test_annotate test....
r5855 }
assert_tag :tag => 'th', :content => '24',
Toshi MARUYAMA
scm: git: fix functional annotate test....
r5574 :sibling => { :tag => 'td', :content => /jsmith/ }
assert_tag :tag => 'th', :content => '24',
:sibling => {
:tag => 'td',
:child => {
:tag => 'a',
Jean-Philippe Lang
Fixes git annotate test failure....
r5870 :content => /2f9c0091/
Toshi MARUYAMA
scm: git: fix functional annotate test....
r5574 }
Toshi MARUYAMA
scm: git: fix functional test_annotate test....
r5855 }
assert_tag :tag => 'th', :content => '24',
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 :sibling => { :tag => 'td', :content => /watcher =/ }
end
Toshi MARUYAMA
scm: add compatible functional test fof changing diff revisions label at SCM adapter level....
r4545
Toshi MARUYAMA
scm: functional test of using format_revision() for annotate (#3724)....
r4614 def test_annotate_at_given_revision
Toshi MARUYAMA
Rails3: scm: git: fix error of test_annotate_at_given_revision at functional test...
r7022 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: functional test of using format_revision() for annotate (#3724)....
r4614 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_annotate_at_given_revision at functional test...
r7022 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :annotate, :id => PRJ_ID, :rev => 'deff7',
:path => ['sources', 'watchers_controller.rb']
Toshi MARUYAMA
scm: functional test of using format_revision() for annotate (#3724)....
r4614 assert_response :success
assert_template 'annotate'
assert_tag :tag => 'h2', :content => /@ deff712f/
end
Jean-Philippe Lang
Always show 'View' and 'Annotate' links on repository files (download will be forced when clicking 'View' if the file is binary)....
r1259 def test_annotate_binary_file
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :annotate, :id => PRJ_ID, :path => ['images', 'edit.png']
Jean-Philippe Lang
Always show 'View' and 'Annotate' links on repository files (download will be forced when clicking 'View' if the file is binary)....
r1259 assert_response 500
Eric Davis
Fix the tests that were broken by r4286:...
r4175 assert_tag :tag => 'p', :attributes => { :id => /errorExplanation/ },
Toshi MARUYAMA
scm: git: fix annotate test due to changing en.yml (#8035, #7855)....
r5148 :content => /cannot be annotated/
Jean-Philippe Lang
Always show 'View' and 'Annotate' links on repository files (download will be forced when clicking 'View' if the file is binary)....
r1259 end
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583
Toshi MARUYAMA
scm: git: add test of annotate non ASCII content of non ASCII path in functional test....
r5579 def test_annotate_latin_1
if @ruby19_non_utf8_pass
puts_ruby19_non_utf8_pass()
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of functional test in JRuby (#5251)....
r5883 elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
Toshi MARUYAMA
scm: git: add test of annotate non ASCII content of non ASCII path in functional test....
r5579 else
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
get :annotate, :id => PRJ_ID,
:path => ['latin-1-dir', "test-#{@char_1}.txt"], :rev => r1
assert_tag :tag => 'th',
:content => '1',
:attributes => { :class => 'line-num' },
:sibling => { :tag => 'td',
:content => /test-#{@char_1}.txt/ }
end
end
end
end
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 def test_revision
Toshi MARUYAMA
Rails3: scm: git: fix error of test_revision at functional test...
r7023 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_revision at functional test...
r7023 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 ['61b685fbe55ab05b5ac68402d5720c1a6ac973d1', '61b685f'].each do |r|
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :revision, :id => PRJ_ID, :rev => r
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 assert_response :success
assert_template 'revision'
end
end
def test_empty_revision
Toshi MARUYAMA
Rails3: scm: git: fix error of test_empty_revision at functional test...
r7024 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_empty_revision at functional test...
r7024 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 ['', ' ', nil].each do |r|
Toshi MARUYAMA
scm: git: use constant value for project id in functional test....
r5576 get :revision, :id => PRJ_ID, :rev => r
Jean-Philippe Lang
Respond with 404 instead of 500 when revision/entry is not found in the repository (#7307)....
r4590 assert_response 404
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 assert_error_tag :content => /was not found/
end
end
Toshi MARUYAMA
scm: git: add test of showing non ASCII contents of non ASCII path in functional test....
r5577
Toshi MARUYAMA
scm: git: add functional test of destroying valid repository (#6713, #4725)....
r6129 def test_destroy_valid_repository
@request.session[:user_id] = 1 # admin
Toshi MARUYAMA
Rails3: scm: git: fix error of test_destroy_valid_repository at functional test...
r7025 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add functional test of destroying valid repository (#6713, #4725)....
r6129 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_destroy_valid_repository at functional test...
r7025 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add functional test of destroying valid repository (#6713, #4725)....
r6129
get :destroy, :id => PRJ_ID
assert_response 302
@project.reload
assert_nil @project.repository
end
Toshi MARUYAMA
scm: git: add functional test of destroying invalid repository (#6713, #4725)....
r6130 def test_destroy_invalid_repository
@request.session[:user_id] = 1 # admin
Toshi MARUYAMA
Rails3: scm: git: fix error of test_destroy_invalid_repository at functional test...
r7026 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add functional test of destroying invalid repository (#6713, #4725)....
r6130 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_destroy_invalid_repository at functional test...
r7026 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add functional test of destroying invalid repository (#6713, #4725)....
r6130
get :destroy, :id => PRJ_ID
assert_response 302
@project.reload
assert_nil @project.repository
@repository = Repository::Git.create(
:project => @project,
:url => "/invalid",
:path_encoding => 'ISO-8859-1'
)
assert @repository
@repository.fetch_changesets
@repository.reload
assert_equal 0, @repository.changesets.count
get :destroy, :id => PRJ_ID
assert_response 302
@project.reload
assert_nil @project.repository
end
Toshi MARUYAMA
scm: git: add test of showing non ASCII contents of non ASCII path in functional test....
r5577 private
def puts_ruby19_non_utf8_pass
puts "TODO: This test fails in Ruby 1.9 " +
"and Encoding.default_external is not UTF-8. " +
"Current value is '#{Encoding.default_external.to_s}'"
end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 else
puts "Git test repository NOT FOUND. Skipping functional tests !!!"
def test_fake; assert true end
end
Jean-Baptiste Barth
Do not cache I18n strings when truncating a long diff (#5089)....
r5953
private
def with_cache(&block)
before = ActionController::Base.perform_caching
ActionController::Base.perform_caching = true
block.call
ActionController::Base.perform_caching = before
end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 end