diff --git a/app/views/repositories/_link_to_functions.html.erb b/app/views/repositories/_link_to_functions.html.erb index 9c89561c3..bfdc99cc4 100644 --- a/app/views/repositories/_link_to_functions.html.erb +++ b/app/views/repositories/_link_to_functions.html.erb @@ -8,7 +8,7 @@ tabs << { name: 'entry', label: :button_view, tabs << { name: 'changes', label: :label_history, url: {:action => 'changes', :id => @project, :repository_id => @repository.identifier_param, :path => to_path_param(@path), :rev => @rev } - } + } if @repository.supports_all_revisions? tabs << { name: 'annotate', label: :button_annotate, url: {:action => 'annotate', :id => @project, :repository_id => @repository.identifier_param, :path => to_path_param(@path), :rev => @rev } } if @repository.supports_annotate? diff --git a/test/functional/repositories_filesystem_controller_test.rb b/test/functional/repositories_filesystem_controller_test.rb index 42c1f7dec..92f0edf8f 100644 --- a/test/functional/repositories_filesystem_controller_test.rb +++ b/test/functional/repositories_filesystem_controller_test.rb @@ -202,6 +202,24 @@ class RepositoriesFilesystemControllerTest < Redmine::RepositoryControllerTest @project.reload assert_nil @project.repository end + + def test_show_should_only_show_view_tab + get( + :entry, + :params => { + :id => PRJ_ID, + :repository_id => @repository.id, + :path => repository_path_hash(['test'])[:param] + } + ) + assert_response :success + assert @repository.supports_cat? + assert_select 'a#tab-entry', :text => /View/ + assert_not @repository.supports_all_revisions? + assert_select 'a#tab-changes', 0 + assert_not @repository.supports_annotate? + assert_select 'a#tab-annotate', 0 + end else puts "Filesystem test repository NOT FOUND. Skipping functional tests !!!" def test_fake; assert true end