Class: RuboCop::Cop::RSpec::SharedContext
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/rspec/shared_context.rb
Overview
Checks for proper shared_context and shared_examples usage.
If there are no examples defined, use shared_context. If there is no setup defined, use shared_examples.
Constant Summary collapse
- MSG_EXAMPLES =
"Use `shared_examples` when you don't define context."
- MSG_CONTEXT =
"Use `shared_context` when you don't define examples."
Instance Method Summary collapse
Methods inherited from Base
inherited, #on_new_investigation
Methods included from RSpec::Language::NodePattern
Instance Method Details
#on_block(node) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/rubocop/cop/rspec/shared_context.rb', line 78 def on_block(node) context_with_only_examples(node) do add_offense(node.send_node, message: MSG_EXAMPLES) do |corrector| corrector.replace(node.send_node.loc.selector, 'shared_examples') end end examples_with_only_context(node) do add_offense(node.send_node, message: MSG_CONTEXT) do |corrector| corrector.replace(node.send_node.loc.selector, 'shared_context') end end end |