123456789_123456789_123456789_123456789_123456789_

Class: RSpec::Core::Notifications::ExamplesNotification

Relationships & Source Files
Inherits: Object
Defined in: rspec-core/lib/rspec/core/notifications.rb

Overview

The ‘ExamplesNotification` represents notifications sent by the reporter which contain information about the suites examples.

Examples:

def stop(notification)
  puts "Hey I ran #{notification.examples.size}"
end

Class Method Summary

Instance Method Summary

Constructor Details

.new(reporter) ⇒ ExamplesNotification

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 70

def initialize(reporter)
  @reporter = reporter
end

Instance Method Details

#examplesArray<RSpec::Core::Example>

Returns:

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 75

def examples
  @reporter.examples
end

#failed_examplesArray<RSpec::Core::Example>

Returns:

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 80

def failed_examples
  @reporter.failed_examples
end

#failure_notificationsArray<RSpec::Core::Notifications::FailedExampleNotification>

Returns:

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 97

def failure_notifications
  @failed_notifications ||= format_examples(failed_examples)
end

#format_examples(examples) (private)

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 136

def format_examples(examples)
  examples.map do |example|
    ExampleNotification.for(example)
  end
end

#fully_formatted_failed_examples(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String

Returns:

  • (String)

    The list of failed examples, fully formatted in the way that RSpec’s built-in formatters emit.

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 110

def fully_formatted_failed_examples(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  formatted = "\nFailures:\n"

  failure_notifications.each_with_index do |failure, index|
    formatted += failure.fully_formatted(index.next, colorizer)
  end

  formatted
end

#fully_formatted_pending_examples(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String

Returns:

  • (String)

    The list of pending examples, fully formatted in the way that RSpec’s built-in formatters emit.

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 122

def fully_formatted_pending_examples(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  return if RSpec.configuration.pending_failure_output == :skip

  formatted = "\nPending: (Failures listed here are expected and do not affect your suite's status)\n".dup

  pending_notifications.each_with_index do |notification, index|
    formatted << notification.fully_formatted(index.next, colorizer)
  end

  formatted
end

#notificationsArray<RSpec::Core::Notifications::ExampleNotification>

Returns:

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 91

def notifications
  @notifications ||= format_examples(examples)
end

#pending_examplesArray<RSpec::Core::Example>

Returns:

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 85

def pending_examples
  @reporter.pending_examples
end

#pending_notificationsArray<RSpec::Core::Notifications::SkippedExampleNotification, RSpec::Core::Notifications::PendingExampleFailedAsExpectedNotification>

returns pending examples as notifications

[ GitHub ]

  
# File 'rspec-core/lib/rspec/core/notifications.rb', line 104

def pending_notifications
  @pending_notifications ||= format_examples(pending_examples)
end