Sha256: e8f647fc51f1e5d5baaf67f0ab1c80347cb3dd8b84917d4fde9da4eb4dc10c38

Contents?: true

Size: 809 Bytes

Versions: 1

Compression:

Stored size: 809 Bytes

Contents

module EventedSpec
  # Including EventedSpec::CoolioSpec module into your example group, each example of this group
  # will run inside cool.io loop without the need to explicitly call 'coolio'.
  #
  module CoolioSpec
    def self.included(example_group)
      example_group.send(:include, SpecHelper)
      example_group.extend ClassMethods
    end

    # @private
    module ClassMethods
      def it(*args, &block)
        if block
          # Shared example groups seem to pass example group instance
          # to the actual example block
          new_block = lambda do |*args|
            coolio(&block)
          end
          super(*args, &new_block)
        else
          # pending example
          super
        end
      end # it
    end # ClassMethods
  end # EMSpec
end # module EventedSpec

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
evented-spec-1.0.0.beta1 lib/evented-spec/coolio_spec.rb