module RSpec::Core::Pending

def self.mark_fixed!(example)

def self.mark_fixed!(example)
  example.metadata[:pending] = false
  example.metadata[:execution_result][:pending_fixed] = true
end

def self.mark_pending!(example, message_or_bool)

def self.mark_pending!(example, message_or_bool)
  message = if !message_or_bool || !(String === message_or_bool)
    NO_REASON_GIVEN
  else
    message_or_bool
  end
  example.metadata[:pending] = true
  example.metadata[:execution_result][:pending_message] = message
  example.execution_result[:pending_fixed] = false
end

def self.mark_skipped!(example, message_or_bool)

def self.mark_skipped!(example, message_or_bool)
  Pending.mark_pending! example, message_or_bool
  example.metadata[:skip] = true
end

def pending(*args)

Other tags:
    Note: - `before(:each)` hooks are eval'd when you use the `pending`

Parameters:
  • message (String) -- optional message to add to the summary report.

Overloads:
  • pending(message, &block)
  • pending(message)
  • pending()
def pending(*args)
  current_example = RSpec.current_example
  if current_example
    Pending.mark_pending! current_example, args.first
  else
    raise "`pending` may not be used outside of examples, such as in " +
          "before(:all). Maybe you want `skip`?"
  end
end

def skip(*args)

Parameters:
  • message (String) -- optional message to add to the summary report.

Overloads:
  • skip(message, &block)
  • skip(message)
  • skip()
def skip(*args)
  current_example = RSpec.current_example
  if current_example
    Pending.mark_skipped! current_example, args.first
  end
  raise SkipDeclaredInExample.new(args.first)
end