From 584b86da3408826f776ee5e179af91ab61459a46 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 25 Jan 2017 21:13:01 -0600 Subject: Add keyboard shortcut to move to file permalink Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/8082 --- .../features/projects/blobs/shortcuts_blob_spec.rb | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 spec/features/projects/blobs/shortcuts_blob_spec.rb (limited to 'spec/features/projects/blobs') diff --git a/spec/features/projects/blobs/shortcuts_blob_spec.rb b/spec/features/projects/blobs/shortcuts_blob_spec.rb new file mode 100644 index 00000000000..30e2d587267 --- /dev/null +++ b/spec/features/projects/blobs/shortcuts_blob_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' + +feature 'Blob shortcuts', feature: true do + include TreeHelper + let(:project) { create(:project, :public, :repository) } + let(:path) { project.repository.ls_files(project.repository.root_ref)[0] } + let(:sha) { project.repository.commit.sha } + + describe 'On a file(blob)', js: true do + def get_absolute_url(path = "") + "http://#{page.server.host}:#{page.server.port}#{path}" + end + + def visit_blob(fragment = nil) + visit namespace_project_blob_path(project.namespace, project, tree_join('master', path), anchor: fragment) + end + + describe 'pressing "y"' do + it 'redirects to permalink with commit sha' do + visit_blob + + find('body').native.send_key('y') + + expect(page).to have_current_path(get_absolute_url(namespace_project_blob_path(project.namespace, project, tree_join(sha, path))), url: true) + end + + it 'maintains fragment hash when redirecting' do + fragment = "L1" + visit_blob(fragment) + + find('body').native.send_key('y') + + expect(page).to have_current_path(get_absolute_url(namespace_project_blob_path(project.namespace, project, tree_join(sha, path), anchor: fragment)), url: true) + end + end + end +end -- cgit v1.2.1