1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
# frozen_string_literal: true
require 'rubocop_spec_helper'
require_relative '../../../rubocop/cop/feature_flag_usage'
RSpec.describe RuboCop::Cop::FeatureFlagUsage, feature_category: :scalability do
let(:msg) { described_class::MSG }
context 'when calling Feature.enabled?' do
it 'registers offence' do
expect_offense(<<~PATTERN)
Feature.enabled?(:fflag)
^^^^^^^^^^^^^^^^^^^^^^^^ #{msg}
PATTERN
end
it 'registers offence when called with type parameter' do
expect_offense(<<~PATTERN)
Feature.enabled?(:fflag, type: :ops)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #{msg}
PATTERN
end
it 'registers offence when called under global namespace' do
expect_offense(<<~PATTERN)
::Feature.enabled?(:fflag, type: :ops)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #{msg}
PATTERN
end
end
context 'when calling Feature.disabled?' do
it 'registers offence' do
expect_offense(<<~PATTERN)
Feature.disabled?(:fflag)
^^^^^^^^^^^^^^^^^^^^^^^^^ #{msg}
PATTERN
end
it 'registers offence when called with type parameter' do
expect_offense(<<~PATTERN)
Feature.disabled?(:fflag, type: :ops)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #{msg}
PATTERN
end
it 'registers offence when called under global namespace' do
expect_offense(<<~PATTERN)
::Feature.disabled?(:fflag, type: :ops)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #{msg}
PATTERN
end
end
end
|