Sha256: 8d8240a39e11cce60f67e97b35b0919cd041c7a271b4e8119e58531c74d1da7c

Contents?: true

Size: 1.58 KB

Versions: 18

Compression:

Stored size: 1.58 KB

Contents

module RSpec::Core
  class Reporter
    def initialize(*formatters)
      @formatters = formatters
      @example_count = @failure_count = @pending_count = 0
      @duration = @start = nil
    end

    def report(count)
      start(count)
      begin
        yield self
      ensure
        conclude
      end
    end

    def conclude
      begin
        stop
        notify :start_dump
        notify :dump_pending
        notify :dump_failures
        notify :dump_summary, @duration, @example_count, @failure_count, @pending_count
      ensure
        notify :close
      end
    end

    alias_method :abort, :conclude

    def start(expected_example_count)
      @start = Time.now
      notify :start, expected_example_count
    end

    def message(message)
      notify :message, message
    end

    def example_group_started(group)
      notify :example_group_started, group
    end

    def example_group_finished(group)
      notify :example_group_finished, group
    end

    def example_started(example)
      @example_count += 1
      notify :example_started, example
    end

    def example_passed(example)
      notify :example_passed, example
    end

    def example_failed(example)
      @failure_count += 1
      notify :example_failed, example
    end

    def example_pending(example)
      @pending_count += 1
      notify :example_pending, example
    end

    def stop
      @duration = Time.now - @start if @start
      notify :stop
    end

    def notify(method, *args, &block)
      @formatters.each do |formatter|
        formatter.send method, *args, &block
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
messagebus_ruby_api-0.4.7 spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/reporter.rb
messagebus_ruby_api-0.4.4 spec/ruby/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/reporter.rb
rspec-core-2.5.2 lib/rspec/core/reporter.rb
rspec-core-2.5.1 lib/rspec/core/reporter.rb
rspec-core-2.5.0 lib/rspec/core/reporter.rb
vim-jar-0.1.2.0001 bundler/ruby/1.8/gems/rspec-core-2.1.0/lib/rspec/core/reporter.rb
rspec-core-2.4.0 lib/rspec/core/reporter.rb
vim-jar-0.1.2 bundler/ruby/1.8/gems/rspec-core-2.1.0/lib/rspec/core/reporter.rb
vim-jar-0.1.1 bundler/ruby/1.8/gems/rspec-core-2.1.0/lib/rspec/core/reporter.rb
vim-jar-0.1.0 bundler/ruby/1.8/gems/rspec-core-2.1.0/lib/rspec/core/reporter.rb
rspec-core-2.3.1 lib/rspec/core/reporter.rb
rspec-core-2.3.0 lib/rspec/core/reporter.rb
vim-jar-0.0.3 bundler/ruby/1.8/gems/rspec-core-2.1.0/lib/rspec/core/reporter.rb
rspec-core-2.2.1 lib/rspec/core/reporter.rb
vim-jar-0.0.2 bundler/ruby/1.8/gems/rspec-core-2.1.0/lib/rspec/core/reporter.rb
vim-jar-0.0.1 bundler/ruby/1.8/gems/rspec-core-2.1.0/lib/rspec/core/reporter.rb
rspec-core-2.2.0 lib/rspec/core/reporter.rb
rspec-core-2.1.0 lib/rspec/core/reporter.rb