Commit 25e9142c authored by Aishwarya Subramanian's avatar Aishwarya Subramanian

Allow parenthesis to be included in group name

The current validation for group name prevents parenthesis.
Parenthesis is a commonly used character, thereby this commit
adds changes to include them.
parent 41bc9d6a
...@@ -17,11 +17,12 @@ module Gitlab ...@@ -17,11 +17,12 @@ module Gitlab
end end
def group_name_regex def group_name_regex
project_name_regex @group_name_regex ||= /\A[\p{Alnum}\u{00A9}-\u{1f9ff}_][\p{Alnum}\p{Pd}\u{00A9}-\u{1f9ff}_()\. ]*\z/.freeze
end end
def group_name_regex_message def group_name_regex_message
project_name_regex_message "can contain only letters, digits, emojis, '_', '.', dash, space, parenthesis. " \
"It must start with letter, digit, emoji or '_'."
end end
## ##
......
...@@ -13,10 +13,6 @@ describe Gitlab::Regex do ...@@ -13,10 +13,6 @@ describe Gitlab::Regex do
it { is_expected.not_to match('?gitlab') } it { is_expected.not_to match('?gitlab') }
end end
shared_examples_for 'project/group name error message' do
it { is_expected.to eq("can contain only letters, digits, emojis, '_', '.', dash, space. It must start with letter, digit, emoji or '_'.") }
end
describe '.project_name_regex' do describe '.project_name_regex' do
subject { described_class.project_name_regex } subject { described_class.project_name_regex }
...@@ -27,18 +23,26 @@ describe Gitlab::Regex do ...@@ -27,18 +23,26 @@ describe Gitlab::Regex do
subject { described_class.group_name_regex } subject { described_class.group_name_regex }
it_behaves_like 'project/group name regex' it_behaves_like 'project/group name regex'
it 'allows parenthesis' do
is_expected.to match('Group One (Test)')
end
it 'does not start with parenthesis' do
is_expected.not_to match('(Invalid Group name)')
end
end end
describe '.project_name_regex_message' do describe '.project_name_regex_message' do
subject { described_class.project_name_regex_message } subject { described_class.project_name_regex_message }
it_behaves_like 'project/group name error message' it { is_expected.to eq("can contain only letters, digits, emojis, '_', '.', dash, space. It must start with letter, digit, emoji or '_'.") }
end end
describe '.group_name_regex_message' do describe '.group_name_regex_message' do
subject { described_class.group_name_regex_message } subject { described_class.group_name_regex_message }
it_behaves_like 'project/group name error message' it { is_expected.to eq("can contain only letters, digits, emojis, '_', '.', dash, space, parenthesis. It must start with letter, digit, emoji or '_'.") }
end end
describe '.environment_name_regex' do describe '.environment_name_regex' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment