class RuboCop::Cop::RSpec::EmptyExampleGroup

end
pending ‘will add tests later’
describe Bacon do
# good
end
end
expect(bacon.chunky?).to be_truthy
it ‘is chunky’ do
let(:chunkiness) { false }
let(:bacon) { Bacon.new(chunkiness) }
describe Bacon do
# good
end
end
expect(bacon.chunky?).to be_truthy
it ‘is chunky’ do
end
let(:chunkiness) { true }
context ‘extra chunky’ do # flagged by rubocop
let(:chunkiness) { false }
let(:bacon) { Bacon.new(chunkiness) }
describe Bacon do
# bad
@example usage
Checks if an example group does not include any tests.

def conditionals_with_examples?(body)

def conditionals_with_examples?(body)
  return unless body.begin_type?
  body.each_descendant(:if).any? do |if_node|
    examples_in_branches?(if_node)
  end
end

def examples_in_branches?(if_node)

def examples_in_branches?(if_node)
  if_node.branches.any? { |branch| examples?(branch) }
end

def offensive?(body)

def offensive?(body)
  return true unless body
  return false if conditionals_with_examples?(body)
  if body.if_type?
    !examples_in_branches?(body)
  else
    !examples?(body)
  end
end

def on_block(node)

def on_block(node)
  return if node.each_ancestor(:def, :defs).any?
  return if node.each_ancestor(:block).any? { |block| example?(block) }
  example_group_body(node) do |body|
    add_offense(node.send_node) if offensive?(body)
  end
end