2015-02-08 23:01:31 +00:00
|
|
|
|
# coding: utf-8
|
2014-07-08 15:15:23 +00:00
|
|
|
|
require 'spec_helper'
|
|
|
|
|
|
2017-07-10 14:24:02 +00:00
|
|
|
|
describe Gitlab::Regex do
|
2016-11-30 07:13:42 +00:00
|
|
|
|
describe '.project_name_regex' do
|
|
|
|
|
subject { described_class.project_name_regex }
|
|
|
|
|
|
|
|
|
|
it { is_expected.to match('gitlab-ce') }
|
|
|
|
|
it { is_expected.to match('GitLab CE') }
|
|
|
|
|
it { is_expected.to match('100 lines') }
|
|
|
|
|
it { is_expected.to match('gitlab.git') }
|
|
|
|
|
it { is_expected.to match('Český název') }
|
|
|
|
|
it { is_expected.to match('Dash – is this') }
|
|
|
|
|
it { is_expected.not_to match('?gitlab') }
|
2016-02-01 15:20:49 +00:00
|
|
|
|
end
|
|
|
|
|
|
2017-12-20 12:12:34 +00:00
|
|
|
|
describe '.environment_name_regex' do
|
2017-06-21 11:16:38 +00:00
|
|
|
|
subject { described_class.environment_name_regex }
|
|
|
|
|
|
|
|
|
|
it { is_expected.to match('foo') }
|
2017-11-19 03:01:01 +00:00
|
|
|
|
it { is_expected.to match('a') }
|
2017-06-21 11:16:38 +00:00
|
|
|
|
it { is_expected.to match('foo-1') }
|
|
|
|
|
it { is_expected.to match('FOO') }
|
|
|
|
|
it { is_expected.to match('foo/1') }
|
|
|
|
|
it { is_expected.to match('foo.1') }
|
|
|
|
|
it { is_expected.not_to match('9&foo') }
|
|
|
|
|
it { is_expected.not_to match('foo-^') }
|
2017-12-20 12:12:34 +00:00
|
|
|
|
it { is_expected.not_to match('!!()()') }
|
2017-11-19 03:01:01 +00:00
|
|
|
|
it { is_expected.not_to match('/foo') }
|
|
|
|
|
it { is_expected.not_to match('foo/') }
|
|
|
|
|
it { is_expected.not_to match('/foo/') }
|
|
|
|
|
it { is_expected.not_to match('/') }
|
2017-06-21 11:16:38 +00:00
|
|
|
|
end
|
|
|
|
|
|
2016-11-30 07:13:42 +00:00
|
|
|
|
describe '.environment_slug_regex' do
|
|
|
|
|
subject { described_class.environment_slug_regex }
|
2016-12-08 01:09:18 +00:00
|
|
|
|
|
2016-11-30 07:13:42 +00:00
|
|
|
|
it { is_expected.to match('foo') }
|
|
|
|
|
it { is_expected.to match('foo-1') }
|
|
|
|
|
it { is_expected.not_to match('FOO') }
|
|
|
|
|
it { is_expected.not_to match('foo/1') }
|
|
|
|
|
it { is_expected.not_to match('foo.1') }
|
|
|
|
|
it { is_expected.not_to match('foo*1') }
|
|
|
|
|
it { is_expected.not_to match('9foo') }
|
|
|
|
|
it { is_expected.not_to match('foo-') }
|
2016-12-08 01:09:18 +00:00
|
|
|
|
end
|
2017-07-19 08:52:03 +00:00
|
|
|
|
|
|
|
|
|
describe '.container_repository_name_regex' do
|
|
|
|
|
subject { described_class.container_repository_name_regex }
|
|
|
|
|
|
|
|
|
|
it { is_expected.to match('image') }
|
|
|
|
|
it { is_expected.to match('my/image') }
|
|
|
|
|
it { is_expected.to match('my/awesome/image-1') }
|
|
|
|
|
it { is_expected.to match('my/awesome/image.test') }
|
|
|
|
|
it { is_expected.not_to match('.my/image') }
|
|
|
|
|
it { is_expected.not_to match('my/image.') }
|
|
|
|
|
end
|
2014-07-08 15:15:23 +00:00
|
|
|
|
end
|