Commit dfeef6c2 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Fixed API file raw functionality, Fixed tree controller tests. Added BlobController specs

parent 413a310f
...@@ -12,30 +12,27 @@ ...@@ -12,30 +12,27 @@
= link_to title, '#' = link_to title, '#'
%div#tree-content-holder.tree-content-holder %div#tree-content-holder.tree-content-holder
- if tree.is_blob? %table#tree-slider{class: "table_#{@hex_path} tree-table" }
= render "tree/blob", blob: tree %thead
- else %tr
%table#tree-slider{class: "table_#{@hex_path} tree-table" } %th Name
%thead %th Last Update
%tr %th Last Commit
%th Name %th= link_to "history", project_commits_path(@project, @id), class: "btn btn-tiny pull-right"
%th Last Update
%th Last Commit
%th= link_to "history", project_commits_path(@project, @id), class: "btn btn-tiny pull-right"
- if tree.up_dir? - if tree.up_dir?
%tr.tree-item %tr.tree-item
%td.tree-item-file-name %td.tree-item-file-name
= image_tag "file_empty.png", size: '16x16' = image_tag "file_empty.png", size: '16x16'
= link_to "..", project_tree_path(@project, up_dir_path(tree)) = link_to "..", project_tree_path(@project, up_dir_path(tree))
%td %td
%td %td
%td %td
= render_tree(tree) = render_tree(tree)
- if tree.readme - if tree.readme
= render "tree/readme", readme: tree.readme = render "tree/readme", readme: tree.readme
%div.tree_progress %div.tree_progress
......
...@@ -493,14 +493,16 @@ module Gitlab ...@@ -493,14 +493,16 @@ module Gitlab
ref = params[:sha] ref = params[:sha]
commit = user_project.repository.commit ref repo = user_project.repository
commit = repo.commit(ref)
not_found! "Commit" unless commit not_found! "Commit" unless commit
tree = Tree.new commit.tree, ref, params[:filepath] blob = Gitlab::Git::Blob.new(repo, commit.id, ref, params[:filepath])
not_found! "File" unless tree.try(:tree) not_found! "File" unless blob.exists?
content_type tree.mime_type content_type blob.mime_type
present tree.data present blob.data
end end
# Get a specific project's keys # Get a specific project's keys
......
require 'spec_helper'
describe BlobController do
let(:project) { create(:project_with_code) }
let(:user) { create(:user) }
before do
sign_in(user)
project.team << [user, :master]
project.stub(:branches).and_return(['master', 'foo/bar/baz'])
project.stub(:tags).and_return(['v1.0.0', 'v2.0.0'])
controller.instance_variable_set(:@project, project)
end
describe "GET show" do
render_views
before { get :show, project_id: project.code, id: id }
context "valid branch, valid file" do
let(:id) { 'master/README.md' }
it { should respond_with(:success) }
end
context "valid branch, invalid file" do
let(:id) { 'master/invalid-path.rb' }
it { should respond_with(:not_found) }
end
context "invalid branch, valid file" do
let(:id) { 'invalid-branch/README.md' }
it { should respond_with(:not_found) }
end
end
end
...@@ -26,17 +26,17 @@ describe TreeController do ...@@ -26,17 +26,17 @@ describe TreeController do
end end
context "valid branch, valid path" do context "valid branch, valid path" do
let(:id) { 'master/README.md' } let(:id) { 'master/app/' }
it { should respond_with(:success) } it { should respond_with(:success) }
end end
context "valid branch, invalid path" do context "valid branch, invalid path" do
let(:id) { 'master/invalid-path.rb' } let(:id) { 'master/invalid-path/' }
it { should respond_with(:not_found) } it { should respond_with(:not_found) }
end end
context "invalid branch, valid path" do context "invalid branch, valid path" do
let(:id) { 'invalid-branch/README.md' } let(:id) { 'invalid-branch/app/' }
it { should respond_with(:not_found) } it { should respond_with(:not_found) }
end end
end end
......
...@@ -38,10 +38,10 @@ describe Commit do ...@@ -38,10 +38,10 @@ describe Commit do
it { should respond_to(:message) } it { should respond_to(:message) }
it { should respond_to(:authored_date) } it { should respond_to(:authored_date) }
it { should respond_to(:committed_date) } it { should respond_to(:committed_date) }
it { should respond_to(:committer_email) }
it { should respond_to(:author_email) }
it { should respond_to(:parents) } it { should respond_to(:parents) }
it { should respond_to(:date) } it { should respond_to(:date) }
it { should respond_to(:committer) }
it { should respond_to(:author) }
it { should respond_to(:diffs) } it { should respond_to(:diffs) }
it { should respond_to(:tree) } it { should respond_to(:tree) }
it { should respond_to(:id) } it { should respond_to(:id) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment