class RuboCop::Cop::RSpec::Pending

Checks for any pending or skipped examples.

@example

# bad
describe MyClass do
  it "should be true"
end

describe MyClass do
  it "should be true" do
    pending
  end
end

describe MyClass do
  xit "should be true" do
  end
end

# good
describe MyClass do
end

Constants

MSG
PENDING_EXAMPLES
PENDING_SYMBOL
SKIPPABLE_EXAMPLES
SKIPPABLE_SELECTORS
SKIP_SYMBOL

Public Instance Methods

on_send(node) click to toggle source
# File lib/rubocop/cop/rspec/pending.rb, line 46
def on_send(node)
  return unless pending_block?(node) || skipped_from_metadata?(node)

  add_offense(node, location: :expression)
end

Private Instance Methods

skip_node?(node) click to toggle source
# File lib/rubocop/cop/rspec/pending.rb, line 58
def skip_node?(node)
  if node.respond_to?(:key)
    skip_symbol?(node.key) && node.value.truthy_literal?
  else
    skip_symbol?(node)
  end
end
skip_symbol?(symbol_node) click to toggle source
# File lib/rubocop/cop/rspec/pending.rb, line 66
def skip_symbol?(symbol_node)
  [SKIP_SYMBOL, PENDING_SYMBOL].include?(symbol_node)
end
skipped_from_metadata?(node) click to toggle source
# File lib/rubocop/cop/rspec/pending.rb, line 54
def skipped_from_metadata?(node)
  (metadata(node) || []).any? { |n| skip_node?(n) }
end