1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
|
module RSpec
module Core
module Formatters
# This class isn't loaded at runtime but serves to document all of the
# notifications implemented as part of the standard interface. The
# reporter will issue these during a normal test suite run, but a
# formatter will only receive those notifications it has registered
# itself to receive. To register a formatter call:
#
# `::RSpec::Core::Formatters.register class, :list, :of, :notifications`
#
# e.g.
#
# `::RSpec::Core::Formatters.register self, :start, :example_started`
#
# @see RSpec::Core::Formatters::BaseFormatter
# @see RSpec::Core::Formatters::BaseTextFormatter
# @see RSpec::Core::Reporter
class Protocol
# @method initialize
# @api public
#
# @param output [IO] the formatter output
# @method start
# @api public
# @group Suite Notifications
#
# This method is invoked before any examples are run, right after
# they have all been collected. This can be useful for special
# formatters that need to provide progress on feedback (graphical ones).
#
# This will only be invoked once, and the next one to be invoked
# is {#example_group_started}.
#
# @param notification [StartNotification]
# @method example_group_started
# @api public
# @group Group Notifications
#
# This method is invoked at the beginning of the execution of each
# example group.
#
# The next method to be invoked after this is {#example_passed},
# {#example_pending}, or {#example_group_finished}.
#
# @param notification [GroupNotification] containing example_group
# subclass of `RSpec::Core::ExampleGroup`
# @method example_group_finished
# @api public
# @group Group Notifications
#
# Invoked at the end of the execution of each example group.
#
# @param notification [GroupNotification] containing example_group
# subclass of `RSpec::Core::ExampleGroup`
# @method example_started
# @api public
# @group Example Notifications
#
# Invoked at the beginning of the execution of each example.
#
# @param notification [ExampleNotification] containing example subclass
# of `RSpec::Core::Example`
# @method example_finished
# @api public
# @group Example Notifications
#
# Invoked at the end of the execution of each example.
#
# @param notification [ExampleNotification] containing example subclass
# of `RSpec::Core::Example`
# @method example_passed
# @api public
# @group Example Notifications
#
# Invoked when an example passes.
#
# @param notification [ExampleNotification] containing example subclass
# of `RSpec::Core::Example`
# @method example_pending
# @api public
# @group Example Notifications
#
# Invoked when an example is pending.
#
# @param notification [ExampleNotification] containing example subclass
# of `RSpec::Core::Example`
# @method example_failed
# @api public
# @group Example Notifications
#
# Invoked when an example fails.
#
# @param notification [ExampleNotification] containing example subclass
# of `RSpec::Core::Example`
# @method message
# @api public
# @group Suite Notifications
#
# Used by the reporter to send messages to the output stream.
#
# @param notification [MessageNotification] containing message
# @method stop
# @api public
# @group Suite Notifications
#
# Invoked after all examples have executed, before dumping post-run
# reports.
#
# @param notification [NullNotification]
# @method start_dump
# @api public
# @group Suite Notifications
#
# This method is invoked after all of the examples have executed. The
# next method to be invoked after this one is {#dump_failures}
# (BaseTextFormatter then calls {#dump_failures} once for each failed
# example).
#
# @param notification [NullNotification]
# @method dump_failures
# @api public
# @group Suite Notifications
#
# Dumps detailed information about each example failure.
#
# @param notification [NullNotification]
# @method dump_summary
# @api public
# @group Suite Notifications
#
# This method is invoked after the dumping of examples and failures.
# Each parameter is assigned to a corresponding attribute.
#
# @param summary [SummaryNotification] containing duration,
# example_count, failure_count and pending_count
# @method dump_profile
# @api public
# @group Suite Notifications
#
# This method is invoked after the dumping the summary if profiling is
# enabled.
#
# @param profile [ProfileNotification] containing duration,
# slowest_examples and slowest_example_groups
# @method dump_pending
# @api public
# @group Suite Notifications
#
# Outputs a report of pending examples. This gets invoked
# after the summary if option is set to do so.
#
# @param notification [NullNotification]
# @method close
# @api public
# @group Suite Notifications
#
# Invoked at the very end, `close` allows the formatter to clean
# up resources, e.g. open streams, etc.
#
# @param notification [NullNotification]
end
end
end
end
|