Fix a "Wrong number of arguments" error in TreeHelper#flatten_tree

Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
Rémy Coutable 2017-09-07 19:31:40 +02:00
parent 4ae8e20c9c
commit 09d323dece
No known key found for this signature in database
GPG Key ID: 46DF07E5CD9E96AB
2 changed files with 21 additions and 1 deletions

View File

@ -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

View File

@ -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