diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-16 03:06:12 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-16 03:06:12 +0000 |
commit | f155cc9034f2247c5d368f9b0212ad44248b0c5e (patch) | |
tree | 902480293b665d74a337aeae6a0521104f561988 /spec/rubocop | |
parent | c920712fab6abdc37de9444e6bbcd170c295b21a (diff) | |
download | gitlab-ce-f155cc9034f2247c5d368f9b0212ad44248b0c5e.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/rubocop')
-rw-r--r-- | spec/rubocop/cop/gitlab/const_get_inherit_false_spec.rb | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/spec/rubocop/cop/gitlab/const_get_inherit_false_spec.rb b/spec/rubocop/cop/gitlab/const_get_inherit_false_spec.rb new file mode 100644 index 00000000000..0ff06b431eb --- /dev/null +++ b/spec/rubocop/cop/gitlab/const_get_inherit_false_spec.rb @@ -0,0 +1,80 @@ +# frozen_string_literal: true + +require 'spec_helper' +require 'rubocop' +require 'rubocop/rspec/support' +require_relative '../../../../rubocop/cop/gitlab/const_get_inherit_false' + +describe RuboCop::Cop::Gitlab::ConstGetInheritFalse do + include CopHelper + + subject(:cop) { described_class.new } + + context 'Object.const_get' do + it 'registers an offense with no 2nd argument' do + expect_offense(<<~PATTERN.strip_indent) + Object.const_get(:CONSTANT) + ^^^^^^^^^ Use inherit=false when using const_get. + PATTERN + end + + it 'autocorrects' do + expect(autocorrect_source('Object.const_get(:CONSTANT)')).to eq('Object.const_get(:CONSTANT, false)') + end + + context 'inherit=false' do + it 'does not register an offense' do + expect_no_offenses(<<~PATTERN.strip_indent) + Object.const_get(:CONSTANT, false) + PATTERN + end + end + + context 'inherit=true' do + it 'registers an offense' do + expect_offense(<<~PATTERN.strip_indent) + Object.const_get(:CONSTANT, true) + ^^^^^^^^^ Use inherit=false when using const_get. + PATTERN + end + + it 'autocorrects' do + expect(autocorrect_source('Object.const_get(:CONSTANT, true)')).to eq('Object.const_get(:CONSTANT, false)') + end + end + end + + context 'const_get for a nested class' do + it 'registers an offense on reload usage' do + expect_offense(<<~PATTERN.strip_indent) + Nested::Blog.const_get(:CONSTANT) + ^^^^^^^^^ Use inherit=false when using const_get. + PATTERN + end + + it 'autocorrects' do + expect(autocorrect_source('Nested::Blag.const_get(:CONSTANT)')).to eq('Nested::Blag.const_get(:CONSTANT, false)') + end + + context 'inherit=false' do + it 'does not register an offense' do + expect_no_offenses(<<~PATTERN.strip_indent) + Nested::Blog.const_get(:CONSTANT, false) + PATTERN + end + end + + context 'inherit=true' do + it 'registers an offense if inherit is true' do + expect_offense(<<~PATTERN.strip_indent) + Nested::Blog.const_get(:CONSTANT, true) + ^^^^^^^^^ Use inherit=false when using const_get. + PATTERN + end + + it 'autocorrects' do + expect(autocorrect_source('Nested::Blag.const_get(:CONSTANT, true)')).to eq('Nested::Blag.const_get(:CONSTANT, false)') + end + end + end +end |