Sha256: 68ec563bdaf231529ce07bd9c52b9a7918e0faf08f5e2d9cc93da3d9b5c20432
Contents?: true
Size: 1.08 KB
Versions: 10
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module RSpec # `context` should not be used for specifying methods. # # @example # # bad # context '#foo_bar' do # # ... # end # # context '.foo_bar' do # # ... # end # # # good # describe '#foo_bar' do # # ... # end # # describe '.foo_bar' do # # ... # end class ContextMethod < Base extend AutoCorrector MSG = 'Use `describe` for testing methods.' def_node_matcher :context_method, <<-PATTERN (block (send #rspec? :context $(str #method_name?) ...) ...) PATTERN def on_block(node) context_method(node) do |context| add_offense(context) do |corrector| corrector.replace(node.send_node.loc.selector, 'describe') end end end private def method_name?(description) description.start_with?('.', '#') end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems