OSDN Git Service

Fixed: invalid browse code for commit. Perfomance test added
authorgitlabhq <m@gitlabhq.com>
Fri, 14 Oct 2011 19:43:25 +0000 (22:43 +0300)
committergitlabhq <m@gitlabhq.com>
Fri, 14 Oct 2011 19:43:25 +0000 (22:43 +0300)
app/controllers/projects_controller.rb
app/views/projects/_tree_file.html.haml
app/views/projects/_tree_item.html.haml
spec/requests/projects_tree_perfomance_spec.rb [new file with mode: 0644]

index 0985680..7dd6eef 100644 (file)
@@ -34,6 +34,8 @@ class ProjectsController < ApplicationController
   def tree
     load_refs # load @branch, @tag & @ref
 
+
+
     @repo = project.repo
 
     if params[:commit_id]
index 08927fc..3463bfc 100644 (file)
@@ -3,7 +3,6 @@
   .view_file_header
     %strong
       = name
-      -#= file.mime_type
       = link_to "raw", blob_project_path(@project, :commit_id => @commit.id, :path => params[:path] ), :class => "right", :target => "_blank"
       = link_to "history", project_commits_path(@project, :path => params[:path]), :class => "right", :style => "margin-right:10px;"
       %br/
index 533c148..9ba33c1 100644 (file)
@@ -1,5 +1,5 @@
 - file = params[:path] ? File.join(params[:path], content.name) : content.name
-- content_commit = @project.repo.log(@branch, file, :max_count => 1).last
+- content_commit = @project.repo.log(@commit.id, file, :max_count => 1).last
 - return unless content_commit
 %tr{ :class => "tree-item", :url => tree_file_project_path(@project, @commit.id, file) }
   %td.tree-item-file-name
diff --git a/spec/requests/projects_tree_perfomance_spec.rb b/spec/requests/projects_tree_perfomance_spec.rb
new file mode 100644 (file)
index 0000000..5b4facb
--- /dev/null
@@ -0,0 +1,37 @@
+require 'spec_helper'
+require 'benchmark'
+
+describe "Projects" do
+  before { login_as :user }
+
+  describe "GET /projects/tree" do
+    describe "head" do
+      before do 
+        @project = Factory :project
+        @project.add_access(@user, :read)
+
+      end
+
+      it "should be fast" do 
+        time = Benchmark.realtime do
+          visit tree_project_path(@project)
+        end
+        (time < 1.0).should be_true
+      end
+    end
+
+    describe ValidCommit::ID do
+      before do 
+        @project = Factory :project
+        @project.add_access(@user, :read)
+      end
+
+      it "should be fast" do 
+        time = Benchmark.realtime do
+          visit tree_project_path(@project, :commit_id => ValidCommit::ID)
+        end
+        (time < 1.0).should be_true
+      end
+    end
+  end
+end