if @char_1.respond_to?(:force_encoding)
@char_1.force_encoding('UTF-8')
end
+
+ Setting.default_language = 'en'
end
if File.directory?(REPOSITORY_PATH)
assert_tag :tag => 'h2', :content => /2f9c0091/
end
+ def test_diff_truncated
+ @repository.fetch_changesets
+ @repository.reload
+ 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
+
def test_diff_two_revs
@repository.fetch_changesets
@repository.reload
"and Encoding.default_external is not UTF-8. " +
"Current value is '#{Encoding.default_external.to_s}'"
end
+
+ def test_revision
+ @repository.fetch_changesets
+ @repository.reload
+ ['61b685fbe55ab05b5ac68402d5720c1a6ac973d1', '61b685f'].each do |r|
+ get :revision, :id => 3, :rev => r
+ assert_response :success
+ assert_template 'revision'
+ end
+ end
+
+ def test_empty_revision
+ @repository.fetch_changesets
+ @repository.reload
+ ['', ' ', nil].each do |r|
+ get :revision, :id => 3, :rev => r
+ assert_response 404
+ assert_error_tag :content => /was not found/
+ end
+ end
else
puts "Git test repository NOT FOUND. Skipping functional tests !!!"
def test_fake; assert true end
end
+
+ private
+ def with_cache(&block)
+ before = ActionController::Base.perform_caching
+ ActionController::Base.perform_caching = true
+ block.call
+ ActionController::Base.perform_caching = before
+ end
end