diff options
author | Rémy Coutable <remy@rymai.me> | 2017-01-15 14:36:14 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-01-15 14:36:14 +0000 |
commit | 62f8cc11531da89a0fffb92e849b838ef845c368 (patch) | |
tree | 48ecb1af0df1e85856b21c19d67f4687a311a458 | |
parent | e3c46a008b56fe4f6949c9f75ce6269329d2b3bf (diff) | |
parent | ad977e8bb257db6ddfae022795a94a4ea95f9be3 (diff) | |
download | gitlab-ce-62f8cc11531da89a0fffb92e849b838ef845c368.tar.gz |
Merge branch 'allow_plus_sign_for_snippets' into 'master'
Allow to use '+' symbol in filenames
Closes #22859
See merge request !6644
-rw-r--r-- | changelogs/unreleased/allow_plus_sign_for_snippets.yml | 4 | ||||
-rw-r--r-- | lib/gitlab/regex.rb | 4 | ||||
-rw-r--r-- | spec/features/snippets/create_snippet_spec.rb | 14 |
3 files changed, 20 insertions, 2 deletions
diff --git a/changelogs/unreleased/allow_plus_sign_for_snippets.yml b/changelogs/unreleased/allow_plus_sign_for_snippets.yml new file mode 100644 index 00000000000..62d9dd74d07 --- /dev/null +++ b/changelogs/unreleased/allow_plus_sign_for_snippets.yml @@ -0,0 +1,4 @@ +--- +title: Allow to use + symbol in filenames +merge_request: 6644 +author: blackst0ne diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb index 9e0b0e5ea98..a3fa7c1331a 100644 --- a/lib/gitlab/regex.rb +++ b/lib/gitlab/regex.rb @@ -61,11 +61,11 @@ module Gitlab end def file_name_regex - @file_name_regex ||= /\A[[[:alnum:]]_\-\.\@]*\z/.freeze + @file_name_regex ||= /\A[[[:alnum:]]_\-\.\@\+]*\z/.freeze end def file_name_regex_message - "can contain only letters, digits, '_', '-', '@' and '.'." + "can contain only letters, digits, '_', '-', '@', '+' and '.'." end def file_path_regex diff --git a/spec/features/snippets/create_snippet_spec.rb b/spec/features/snippets/create_snippet_spec.rb index cb95e7828db..5470276bf06 100644 --- a/spec/features/snippets/create_snippet_spec.rb +++ b/spec/features/snippets/create_snippet_spec.rb @@ -17,4 +17,18 @@ feature 'Create Snippet', feature: true do expect(page).to have_content('My Snippet Title') expect(page).to have_content('Hello World!') end + + scenario 'Authenticated user creates a snippet with + in filename' do + fill_in 'personal_snippet_title', with: 'My Snippet Title' + page.within('.file-editor') do + find(:xpath, "//input[@id='personal_snippet_file_name']").set 'snippet+file+name' + find(:xpath, "//input[@id='personal_snippet_content']").set 'Hello World!' + end + + click_button 'Create snippet' + + expect(page).to have_content('My Snippet Title') + expect(page).to have_content('snippet+file+name') + expect(page).to have_content('Hello World!') + end end |