diff options
author | Mike Greiling <mike@pixelcog.com> | 2018-05-25 21:20:49 +0000 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2018-05-25 21:20:49 +0000 |
commit | 50c8ed2bf498c69d3d52ba1451274e3fbf438429 (patch) | |
tree | 831d5a46a9adc9a5cc29f744ae78de221b62c8be /spec/features | |
parent | 74894a38779adb32a8b8a3cdad8358fc98693403 (diff) | |
parent | 0fb4239afaadd803897dc86c38e3934421a95af0 (diff) | |
download | gitlab-ce-50c8ed2bf498c69d3d52ba1451274e3fbf438429.tar.gz |
Merge branch 'winh-new-merge-request-encoding' into 'master'
Fix encoding of branch names on compare and new merge request page
Closes #46627
See merge request gitlab-org/gitlab-ce!19143
Diffstat (limited to 'spec/features')
-rw-r--r-- | spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb b/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb index 42c279af117..ed6e29335d1 100644 --- a/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb +++ b/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb @@ -4,6 +4,12 @@ describe 'Merge request > User selects branches for new MR', :js do let(:project) { create(:project, :public, :repository) } let(:user) { project.creator } + def select_source_branch(branch_name) + find('.js-source-branch', match: :first).click + find('.js-source-branch-dropdown .dropdown-input-field').native.send_keys branch_name + find('.js-source-branch-dropdown .dropdown-content a', text: branch_name, match: :first).click + end + before do project.add_master(user) sign_in(user) @@ -43,8 +49,7 @@ describe 'Merge request > User selects branches for new MR', :js do it 'generates a diff for an orphaned branch' do visit project_new_merge_request_path(project) - find('.js-source-branch', match: :first).click - find('.js-source-branch-dropdown .dropdown-content a', text: 'orphaned-branch', match: :first).click + select_source_branch('orphaned-branch') click_button "Compare branches" click_link "Changes" @@ -169,4 +174,31 @@ describe 'Merge request > User selects branches for new MR', :js do end end end + + context 'with special characters in branch names' do + it 'escapes quotes in branch names' do + special_branch_name = '"with-quotes"' + CreateBranchService.new(project, user) + .execute(special_branch_name, 'add-pdf-file') + + visit project_new_merge_request_path(project) + select_source_branch(special_branch_name) + + source_branch_input = find('[name="merge_request[source_branch]"]', visible: false) + expect(source_branch_input.value).to eq special_branch_name + end + + it 'does not escape unicode in branch names' do + special_branch_name = 'ʕ•ᴥ•ʔ' + CreateBranchService.new(project, user) + .execute(special_branch_name, 'add-pdf-file') + + visit project_new_merge_request_path(project) + select_source_branch(special_branch_name) + + click_button "Compare branches" + + expect(page).to have_button("Submit merge request") + end + end end |