From 30255b8054d5c228141a873c277fa2103c6bc533 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 3 Jul 2011 10:18:18 +0000 Subject: [PATCH 1/1] Merged r6073 from trunk. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@6162 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/repositories_controller.rb | 2 +- .../functional/repositories_git_controller_test.rb | 31 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index b660408f..a30353eb 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -208,7 +208,7 @@ class RepositoriesController < ApplicationController User.current.preference.save end @cache_key = "repositories/diff/#{@repository.id}/" + - Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}") + Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}-#{current_language}") unless read_fragment(@cache_key) @diff = @repository.diff(@path, @rev, @rev_to) show_error_not_found unless @diff diff --git a/test/functional/repositories_git_controller_test.rb b/test/functional/repositories_git_controller_test.rb index fa013d90..36d0c2a5 100644 --- a/test/functional/repositories_git_controller_test.rb +++ b/test/functional/repositories_git_controller_test.rb @@ -48,6 +48,8 @@ class RepositoriesGitControllerTest < ActionController::TestCase if @char_1.respond_to?(:force_encoding) @char_1.force_encoding('UTF-8') end + + Setting.default_language = 'en' end if File.directory?(REPOSITORY_PATH) @@ -204,6 +206,27 @@ class RepositoriesGitControllerTest < ActionController::TestCase 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 @@ -336,4 +359,12 @@ class RepositoriesGitControllerTest < ActionController::TestCase 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 -- 2.11.0