class RuboCop::Cop::RSpec::Focused
end
expect(foo).to be_empty
it ‘does something’ do
# good
end
expect(foo).to be_empty
it ‘does something’, focus: true do
end
expect(foo).to be_empty
fit ‘does something’ do
# bad
@example
Tests should not be focused.
def autocorrect(node)
def autocorrect(node) method, _args, _body = *node method_source = method.loc.selector.source return if method_source == 'focus' range = Parser::Source::Range.new(node.source_range.source_buffer, method.loc.selector.begin_pos, method.loc.selector.end_pos) -> (corrector) do corrector.replace(range, method_source[1..-1]) end end
def focus_set_to_true?(metadata)
def focus_set_to_true?(metadata) return unless metadata metadata.include?(s(:sym, :focus)) || ( metadata.last && metadata.last.children.any? do |pair| pair == s(:pair, s(:sym, :focus), s(:true)) end ) end
def on_block(node)
def on_block(node) method, _args, _body = *node _receiver, method_name, _object, *metadata = *method if FOCUSED_METHODS.include?(method_name) || focus_set_to_true?(metadata) add_offense(node, location: :expression, message: MESSAGE) end end