Sha256: 83dbaf5b2c259b5779e7ddf8f9913bae17d4437590b55fe2ba0b741246c6ca1c
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module RSpec # Checks that only one `it_behaves_like` style is used. # # @example when configuration is `EnforcedStyle: it_behaves_like` # # bad # it_should_behave_like 'a foo' # # # good # it_behaves_like 'a foo' # # @example when configuration is `EnforcedStyle: it_should_behave_like` # # bad # it_behaves_like 'a foo' # # # good # it_should_behave_like 'a foo' class ItBehavesLike < Base extend AutoCorrector include ConfigurableEnforcedStyle MSG = 'Prefer `%<replacement>s` over `%<original>s` when including ' \ 'examples in a nested context.' RESTRICT_ON_SEND = %i[it_behaves_like it_should_behave_like].freeze def_node_matcher :example_inclusion_offense, '(send _ % ...)' def on_send(node) example_inclusion_offense(node, alternative_style) do add_offense(node) do |corrector| corrector.replace(node.loc.selector, style.to_s) end end end private def message(_node) format(MSG, replacement: style, original: alternative_style) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-rspec-2.2.0 | lib/rubocop/cop/rspec/it_behaves_like.rb |