diff options
author | Jarka Kadlecova <jarka@gitlab.com> | 2017-12-01 10:21:05 +0100 |
---|---|---|
committer | Jarka Kadlecova <jarka@gitlab.com> | 2017-12-06 19:16:22 +0100 |
commit | 0c2fdb1c342fa5eb64bb0ed02091af3c06b37c0e (patch) | |
tree | a488e21ef204801bf52521965cc9f82502f96155 /spec/lib/gitlab/reference_extractor_spec.rb | |
parent | 50eb125282ba83e71447161ee2add396fa5eef9b (diff) | |
download | gitlab-ce-0c2fdb1c342fa5eb64bb0ed02091af3c06b37c0e.tar.gz |
Refactor banzai to support referencing from group contextce-backport-3615
Diffstat (limited to 'spec/lib/gitlab/reference_extractor_spec.rb')
-rw-r--r-- | spec/lib/gitlab/reference_extractor_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/lib/gitlab/reference_extractor_spec.rb b/spec/lib/gitlab/reference_extractor_spec.rb index 476a3f1998d..ef874368077 100644 --- a/spec/lib/gitlab/reference_extractor_spec.rb +++ b/spec/lib/gitlab/reference_extractor_spec.rb @@ -250,4 +250,34 @@ describe Gitlab::ReferenceExtractor do subject { described_class.references_pattern } it { is_expected.to be_kind_of Regexp } end + + describe 'referables prefixes' do + def prefixes + described_class::REFERABLES.each_with_object({}) do |referable, result| + klass = referable.to_s.camelize.constantize + + next unless klass.respond_to?(:reference_prefix) + + prefix = klass.reference_prefix + result[prefix] ||= [] + result[prefix] << referable + end + end + + it 'returns all supported prefixes' do + expect(prefixes.keys.uniq).to match_array(%w(@ # ~ % ! $ &)) + end + + it 'does not allow one prefix for multiple referables if not allowed specificly' do + # make sure you are not overriding existing prefix before changing this hash + multiple_allowed = { + '@' => 3 + } + + prefixes.each do |prefix, referables| + expected_count = multiple_allowed[prefix] || 1 + expect(referables.count).to eq(expected_count) + end + end + end end |