Skip to content
Snippets Groups Projects
Commit ab478f2a authored by Ryan Mendivil's avatar Ryan Mendivil Committed by Wes Gurney
Browse files

Fix bug with rendering changing images in commits

When viewing the diff for a changed image file, two bugs occur:

- Both the 'before' and 'after' images link to the 'after' commit
- Visiting the link for either image will cause a error

The first is caused by both image links referencing '@commit.id' rather
than '@commit.parent_id'.  The second is caused by the use of
'project_tree_path' which is used for creating links to directories in
the git file tree. 'project_blob_path' which links to files should be
used instead.
parent 4204ce74
No related branches found
No related tags found
1 merge request!4954Add support to configure webhook_timeout in gitlab.yaml
Loading
Loading
@@ -9,7 +9,7 @@
%div.two-up.view
%span.wrap
.frame.deleted
%a{href: project_tree_path(@project, tree_join(@commit.id, diff.old_path))}
%a{href: project_blob_path(@project, tree_join(@commit.parent_id, diff.old_path))}
%img{src: "data:#{old_file.mime_type};base64,#{Base64.encode64(old_file.data)}"}
%p.image-info.hide
%span.meta-filesize= "#{number_to_human_size old_file.size}"
Loading
Loading
@@ -21,7 +21,7 @@
%span.meta-height
%span.wrap
.frame.added
%a{href: project_tree_path(@project, tree_join(@commit.id, diff.new_path))}
%a{href: project_blob_path(@project, tree_join(@commit.id, diff.new_path))}
%img{src: "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}
%p.image-info.hide
%span.meta-filesize= "#{number_to_human_size file.size}"
Loading
Loading
Loading
Loading
@@ -35,3 +35,7 @@ Feature: Project Browse commits
Scenario: I browse huge commit
Given I visit huge commit page
Then I see huge commit message
Scenario: I browse a commit with an image
Given I visit a commit with an image that changed
Then The diff links to both the previous and current image
Loading
Loading
@@ -78,4 +78,14 @@ class ProjectBrowseCommits < Spinach::FeatureSteps
page.should have_content "Warning! This is a large diff"
page.should_not have_content "If you still want to see the diff"
end
Given 'I visit a commit with an image that changed' do
visit project_commit_path(@project, 'cc1ba255d6c5ffdce87a357ba7ccc397a4f4026b')
end
Then 'The diff links to both the previous and current image' do
links = page.all('.two-up span div a')
links[0]['href'].should =~ %r{blob/bc3735004cb45cec5e0e4fa92710897a910a5957}
links[1]['href'].should =~ %r{blob/cc1ba255d6c5ffdce87a357ba7ccc397a4f4026b}
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment