Fix (project_)name_regex to accept non-ASCII letters and dash
This commit is contained in:
parent
bb8c1cadf3
commit
a1c01bc19b
3 changed files with 8 additions and 4 deletions
|
@ -26,6 +26,7 @@ v 7.11.0 (unreleased)
|
||||||
- Prevent sending empty messages to HipChat (Chulki Lee)
|
- Prevent sending empty messages to HipChat (Chulki Lee)
|
||||||
- Improve UI for mobile phones on dashboard and project pages
|
- Improve UI for mobile phones on dashboard and project pages
|
||||||
- Add room notification and message color option for HipChat
|
- Add room notification and message color option for HipChat
|
||||||
|
- Allow to use non-ASCII letters and dashes in project and namespace name. (Jakub Jirutka)
|
||||||
|
|
||||||
v 7.10.0
|
v 7.10.0
|
||||||
- Ignore submodules that are defined in .gitmodules but are checked in as directories.
|
- Ignore submodules that are defined in .gitmodules but are checked in as directories.
|
||||||
|
|
|
@ -15,20 +15,20 @@ module Gitlab
|
||||||
|
|
||||||
|
|
||||||
def namespace_name_regex
|
def namespace_name_regex
|
||||||
@namespace_name_regex ||= /\A[a-zA-Z0-9_\-\. ]*\z/.freeze
|
@namespace_name_regex ||= /\A[\p{Alnum}\p{Pd}_\. ]*\z/.freeze
|
||||||
end
|
end
|
||||||
|
|
||||||
def namespace_name_regex_message
|
def namespace_name_regex_message
|
||||||
"can contain only letters, digits, '_', '-', '.' and space."
|
"can contain only letters, digits, '_', '.', dash and space."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def project_name_regex
|
def project_name_regex
|
||||||
@project_name_regex ||= /\A[a-zA-Z0-9_.][a-zA-Z0-9_\-\. ]*\z/.freeze
|
@project_name_regex ||= /\A[\p{Alnum}_][\p{Alnum}\p{Pd}_\. ]*\z/.freeze
|
||||||
end
|
end
|
||||||
|
|
||||||
def project_name_regex_message
|
def project_name_regex_message
|
||||||
"can contain only letters, digits, '_', '-', '.' and space. " \
|
"can contain only letters, digits, '_', '.', dash and space. " \
|
||||||
"It must start with letter, digit or '_'."
|
"It must start with letter, digit or '_'."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# coding: utf-8
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Gitlab::Regex do
|
describe Gitlab::Regex do
|
||||||
|
@ -16,6 +17,8 @@ describe Gitlab::Regex do
|
||||||
it { expect('GitLab CE').to match(Gitlab::Regex.project_name_regex) }
|
it { expect('GitLab CE').to match(Gitlab::Regex.project_name_regex) }
|
||||||
it { expect('100 lines').to match(Gitlab::Regex.project_name_regex) }
|
it { expect('100 lines').to match(Gitlab::Regex.project_name_regex) }
|
||||||
it { expect('gitlab.git').to match(Gitlab::Regex.project_name_regex) }
|
it { expect('gitlab.git').to match(Gitlab::Regex.project_name_regex) }
|
||||||
|
it { expect('Český název').to match(Gitlab::Regex.project_name_regex) }
|
||||||
|
it { expect('Dash – is this').to match(Gitlab::Regex.project_name_regex) }
|
||||||
it { expect('?gitlab').not_to match(Gitlab::Regex.project_name_regex) }
|
it { expect('?gitlab').not_to match(Gitlab::Regex.project_name_regex) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue