diff options
author | Rémy Coutable <remy@rymai.me> | 2017-09-08 09:10:58 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-09-08 09:10:58 +0000 |
commit | 8db9d8ff0a62674d4a8ede126b638d06b43fa3da (patch) | |
tree | 0a369ef5f3f9f7e0097b04279b0c09bbd72ad129 | |
parent | d3efad453afa2e687494f29b7eeac80b421c0177 (diff) | |
parent | 09d323dece07c68db4d019f0c5b42061a76a8892 (diff) | |
download | gitlab-ce-8db9d8ff0a62674d4a8ede126b638d06b43fa3da.tar.gz |
Merge branch '37569-fix-wrong-number-of-arguments-in-tree_helper-flatten_tree' into 'master'
Fix a "Wrong number of arguments" error in TreeHelper#flatten_tree
Closes #37569
See merge request !14119
-rw-r--r-- | app/helpers/tree_helper.rb | 2 | ||||
-rw-r--r-- | spec/features/projects/user_browses_a_tree_with_a_folder_containing_only_a_folder.rb | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/app/helpers/tree_helper.rb b/app/helpers/tree_helper.rb index 95dbdc8ec46..c4ea0f5ac53 100644 --- a/app/helpers/tree_helper.rb +++ b/app/helpers/tree_helper.rb @@ -104,7 +104,7 @@ module TreeHelper subtree = Gitlab::Git::Tree.where(@repository, @commit.id, tree.path) if subtree.count == 1 && subtree.first.dir? - return tree_join(tree.name, flatten_tree(subtree.first)) + return tree_join(tree.name, flatten_tree(root_path, subtree.first)) else return tree.name end diff --git a/spec/features/projects/user_browses_a_tree_with_a_folder_containing_only_a_folder.rb b/spec/features/projects/user_browses_a_tree_with_a_folder_containing_only_a_folder.rb new file mode 100644 index 00000000000..a17e65cc5b9 --- /dev/null +++ b/spec/features/projects/user_browses_a_tree_with_a_folder_containing_only_a_folder.rb @@ -0,0 +1,20 @@ +require 'spec_helper' + +# This is a regression test for https://gitlab.com/gitlab-org/gitlab-ce/issues/37569 +describe 'User browses a tree with a folder containing only a folder' do + let(:project) { create(:project, :empty_repo) } + let(:user) { project.creator } + + before do + # We need to disable the tree.flat_path provided by Gitaly to reproduce the issue + allow(Gitlab::GitalyClient).to receive(:feature_enabled?).and_return(false) + + project.repository.create_dir(user, 'foo/bar', branch_name: 'master', message: 'Add the foo/bar folder') + sign_in(user) + visit(project_tree_path(project, project.repository.root_ref)) + end + + it 'shows the nested folder on a single row' do + expect(page).to have_content('foo/bar') + end +end |