Sha256: d8ce4effdd25cc78c7c5bcd0ef1912ff6b33b13659c8fb9e4cff610fe146ea4e

Contents?: true

Size: 857 Bytes

Versions: 6

Compression:

Stored size: 857 Bytes

Contents

module RSpec
  module Core
    module Pending
      DEFAULT_MESSAGE = 'No reason given'

      def pending(*args)
        return self.class.before(:each) { pending(*args) } unless example

        options = args.last.is_a?(Hash) ? args.pop : {}
        message = args.first || DEFAULT_MESSAGE

        if options[:unless] || (options.has_key?(:if) && !options[:if])
          return block_given? ? yield : nil
        end

        example.metadata[:pending] = true
        example.metadata[:execution_result][:pending_message] = message
        if block_given?
          begin
            result = yield
            example.metadata[:pending] = false
          rescue Exception => e
          end
          raise RSpec::Core::PendingExampleFixedError.new if result
        end
        throw :pending_declared_in_example, message
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
messagebus_ruby_api-0.4.7 spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/pending.rb
messagebus_ruby_api-0.4.4 spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/pending.rb
rspec-core-2.5.2 lib/rspec/core/pending.rb
rspec-core-2.5.1 lib/rspec/core/pending.rb
rspec-core-2.5.0 lib/rspec/core/pending.rb
rspec-core-2.4.0 lib/rspec/core/pending.rb