@@ -208,7 +208,7 class RepositoriesController < ApplicationController | |||
|
208 | 208 | User.current.preference.save |
|
209 | 209 | end |
|
210 | 210 | @cache_key = "repositories/diff/#{@repository.id}/" + |
|
211 | Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}") | |
|
211 | Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}-#{current_language}") | |
|
212 | 212 | unless read_fragment(@cache_key) |
|
213 | 213 | @diff = @repository.diff(@path, @rev, @rev_to) |
|
214 | 214 | show_error_not_found unless @diff |
@@ -48,6 +48,8 class RepositoriesGitControllerTest < ActionController::TestCase | |||
|
48 | 48 | if @char_1.respond_to?(:force_encoding) |
|
49 | 49 | @char_1.force_encoding('UTF-8') |
|
50 | 50 | end |
|
51 | ||
|
52 | Setting.default_language = 'en' | |
|
51 | 53 | end |
|
52 | 54 | |
|
53 | 55 | if File.directory?(REPOSITORY_PATH) |
@@ -204,6 +206,27 class RepositoriesGitControllerTest < ActionController::TestCase | |||
|
204 | 206 | assert_tag :tag => 'h2', :content => /2f9c0091/ |
|
205 | 207 | end |
|
206 | 208 | |
|
209 | def test_diff_truncated | |
|
210 | @repository.fetch_changesets | |
|
211 | @repository.reload | |
|
212 | Setting.diff_max_lines_displayed = 5 | |
|
213 | ||
|
214 | # Truncated diff of changeset 2f9c0091 | |
|
215 | with_cache do | |
|
216 | get :diff, :id => PRJ_ID, :type => 'inline', | |
|
217 | :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7' | |
|
218 | assert_response :success | |
|
219 | assert @response.body.include?("... This diff was truncated") | |
|
220 | ||
|
221 | Setting.default_language = 'fr' | |
|
222 | get :diff, :id => PRJ_ID, :type => 'inline', | |
|
223 | :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7' | |
|
224 | assert_response :success | |
|
225 | assert ! @response.body.include?("... This diff was truncated") | |
|
226 | assert @response.body.include?("... Ce diff") | |
|
227 | end | |
|
228 | end | |
|
229 | ||
|
207 | 230 | def test_diff_two_revs |
|
208 | 231 | @repository.fetch_changesets |
|
209 | 232 | @repository.reload |
@@ -336,4 +359,12 class RepositoriesGitControllerTest < ActionController::TestCase | |||
|
336 | 359 | puts "Git test repository NOT FOUND. Skipping functional tests !!!" |
|
337 | 360 | def test_fake; assert true end |
|
338 | 361 | end |
|
362 | ||
|
363 | private | |
|
364 | def with_cache(&block) | |
|
365 | before = ActionController::Base.perform_caching | |
|
366 | ActionController::Base.perform_caching = true | |
|
367 | block.call | |
|
368 | ActionController::Base.perform_caching = before | |
|
369 | end | |
|
339 | 370 | end |
General Comments 0
You need to be logged in to leave comments.
Login now