sspec-core 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.yardopts +8 -0
- data/Changelog.md +2232 -0
- data/LICENSE.md +26 -0
- data/README.md +384 -0
- data/exe/rspec +4 -0
- data/lib/rspec/autorun.rb +3 -0
- data/lib/rspec/core.rb +185 -0
- data/lib/rspec/core/backtrace_formatter.rb +65 -0
- data/lib/rspec/core/bisect/coordinator.rb +62 -0
- data/lib/rspec/core/bisect/example_minimizer.rb +173 -0
- data/lib/rspec/core/bisect/fork_runner.rb +134 -0
- data/lib/rspec/core/bisect/server.rb +61 -0
- data/lib/rspec/core/bisect/shell_command.rb +126 -0
- data/lib/rspec/core/bisect/shell_runner.rb +73 -0
- data/lib/rspec/core/bisect/utilities.rb +58 -0
- data/lib/rspec/core/configuration.rb +2289 -0
- data/lib/rspec/core/configuration_options.rb +233 -0
- data/lib/rspec/core/drb.rb +113 -0
- data/lib/rspec/core/dsl.rb +98 -0
- data/lib/rspec/core/example.rb +653 -0
- data/lib/rspec/core/example_group.rb +885 -0
- data/lib/rspec/core/example_status_persister.rb +235 -0
- data/lib/rspec/core/filter_manager.rb +231 -0
- data/lib/rspec/core/flat_map.rb +20 -0
- data/lib/rspec/core/formatters.rb +269 -0
- data/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
- data/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
- data/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
- data/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
- data/lib/rspec/core/formatters/console_codes.rb +68 -0
- data/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
- data/lib/rspec/core/formatters/exception_presenter.rb +508 -0
- data/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/lib/rspec/core/formatters/helpers.rb +110 -0
- data/lib/rspec/core/formatters/html_formatter.rb +153 -0
- data/lib/rspec/core/formatters/html_printer.rb +414 -0
- data/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
- data/lib/rspec/core/formatters/json_formatter.rb +102 -0
- data/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/lib/rspec/core/formatters/progress_formatter.rb +29 -0
- data/lib/rspec/core/formatters/protocol.rb +182 -0
- data/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
- data/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
- data/lib/rspec/core/hooks.rb +624 -0
- data/lib/rspec/core/invocations.rb +87 -0
- data/lib/rspec/core/memoized_helpers.rb +554 -0
- data/lib/rspec/core/metadata.rb +499 -0
- data/lib/rspec/core/metadata_filter.rb +255 -0
- data/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/lib/rspec/core/notifications.rb +521 -0
- data/lib/rspec/core/option_parser.rb +309 -0
- data/lib/rspec/core/ordering.rb +158 -0
- data/lib/rspec/core/output_wrapper.rb +29 -0
- data/lib/rspec/core/pending.rb +165 -0
- data/lib/rspec/core/profiler.rb +34 -0
- data/lib/rspec/core/project_initializer.rb +48 -0
- data/lib/rspec/core/project_initializer/.rspec +1 -0
- data/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
- data/lib/rspec/core/rake_task.rb +168 -0
- data/lib/rspec/core/reporter.rb +257 -0
- data/lib/rspec/core/ruby_project.rb +53 -0
- data/lib/rspec/core/runner.rb +199 -0
- data/lib/rspec/core/sandbox.rb +37 -0
- data/lib/rspec/core/set.rb +54 -0
- data/lib/rspec/core/shared_context.rb +55 -0
- data/lib/rspec/core/shared_example_group.rb +269 -0
- data/lib/rspec/core/shell_escape.rb +49 -0
- data/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/lib/rspec/core/version.rb +9 -0
- data/lib/rspec/core/warnings.rb +40 -0
- data/lib/rspec/core/world.rb +275 -0
- metadata +257 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'test/unit/assertions'
|
2
|
+
|
3
|
+
module RSpec
|
4
|
+
module Core
|
5
|
+
# @private
|
6
|
+
module TestUnitAssertionsAdapter
|
7
|
+
include ::Test::Unit::Assertions
|
8
|
+
|
9
|
+
# If using test/unit from Ruby core with Ruby 1.9+, it includes
|
10
|
+
# MiniTest::Assertions by default. Note the upcasing of 'Test'.
|
11
|
+
#
|
12
|
+
# If the test/unit gem is being loaded, it will not include any minitest
|
13
|
+
# assertions.
|
14
|
+
#
|
15
|
+
# Only if Minitest 5.x is included / loaded do we need to worry about
|
16
|
+
# adding a shim for the new updates. Thus instead of checking on the
|
17
|
+
# RUBY_VERSION we need to check ancestors.
|
18
|
+
begin
|
19
|
+
# MiniTest is 4.x.
|
20
|
+
# Minitest is 5.x.
|
21
|
+
if ancestors.include?(::Minitest::Assertions)
|
22
|
+
require 'rspec/core/minitest_assertions_adapter'
|
23
|
+
include ::RSpec::Core::MinitestAssertionsAdapter
|
24
|
+
end
|
25
|
+
rescue NameError
|
26
|
+
# No-op. Minitest 5.x was not loaded.
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "rspec/support/warnings"
|
2
|
+
|
3
|
+
module RSpec
|
4
|
+
module Core
|
5
|
+
# @private
|
6
|
+
module Warnings
|
7
|
+
# @private
|
8
|
+
#
|
9
|
+
# Used internally to print deprecation warnings.
|
10
|
+
def deprecate(deprecated, data={})
|
11
|
+
RSpec.configuration.reporter.deprecation(
|
12
|
+
{
|
13
|
+
:deprecated => deprecated,
|
14
|
+
:call_site => CallerFilter.first_non_rspec_line
|
15
|
+
}.merge(data)
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
# @private
|
20
|
+
#
|
21
|
+
# Used internally to print deprecation warnings.
|
22
|
+
def warn_deprecation(message, opts={})
|
23
|
+
RSpec.configuration.reporter.deprecation opts.merge(:message => message)
|
24
|
+
end
|
25
|
+
|
26
|
+
# @private
|
27
|
+
def warn_with(message, options={})
|
28
|
+
if options[:use_spec_location_as_call_site]
|
29
|
+
message += "." unless message.end_with?(".")
|
30
|
+
|
31
|
+
if RSpec.current_example
|
32
|
+
message += " Warning generated from spec at `#{RSpec.current_example.location}`."
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
super(message, options)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,275 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
# @api private
|
4
|
+
#
|
5
|
+
# Internal container for global non-configuration data.
|
6
|
+
class World
|
7
|
+
# @private
|
8
|
+
attr_reader :example_groups, :filtered_examples
|
9
|
+
|
10
|
+
# Used internally to determine what to do when a SIGINT is received.
|
11
|
+
attr_accessor :wants_to_quit
|
12
|
+
|
13
|
+
# Used internally to signal that a failure outside of an example
|
14
|
+
# has occurred, and that therefore the exit status should indicate
|
15
|
+
# the run failed.
|
16
|
+
# @private
|
17
|
+
attr_accessor :non_example_failure
|
18
|
+
|
19
|
+
def initialize(configuration=RSpec.configuration)
|
20
|
+
@configuration = configuration
|
21
|
+
configuration.world = self
|
22
|
+
@example_groups = []
|
23
|
+
@example_group_counts_by_spec_file = Hash.new(0)
|
24
|
+
prepare_example_filtering
|
25
|
+
end
|
26
|
+
|
27
|
+
# @api public
|
28
|
+
#
|
29
|
+
# Prepares filters so that they apply to example groups when they run.
|
30
|
+
#
|
31
|
+
# This is a separate method so that filters can be modified/replaced and
|
32
|
+
# examples refiltered during a process's lifetime, which can be useful for
|
33
|
+
# a custom runner.
|
34
|
+
def prepare_example_filtering
|
35
|
+
@filtered_examples = Hash.new do |hash, group|
|
36
|
+
hash[group] = filter_manager.prune(group.examples)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# @api private
|
41
|
+
#
|
42
|
+
# Apply ordering strategy from configuration to example groups.
|
43
|
+
def ordered_example_groups
|
44
|
+
ordering_strategy = @configuration.ordering_registry.fetch(:global)
|
45
|
+
ordering_strategy.order(@example_groups)
|
46
|
+
end
|
47
|
+
|
48
|
+
# @api private
|
49
|
+
#
|
50
|
+
# Reset world to 'scratch' before running suite.
|
51
|
+
def reset
|
52
|
+
RSpec::ExampleGroups.remove_all_constants
|
53
|
+
example_groups.clear
|
54
|
+
@sources_by_path.clear if defined?(@sources_by_path)
|
55
|
+
@syntax_highlighter = nil
|
56
|
+
end
|
57
|
+
|
58
|
+
# @private
|
59
|
+
def filter_manager
|
60
|
+
@configuration.filter_manager
|
61
|
+
end
|
62
|
+
|
63
|
+
# @private
|
64
|
+
def registered_example_group_files
|
65
|
+
@example_group_counts_by_spec_file.keys
|
66
|
+
end
|
67
|
+
|
68
|
+
# @api private
|
69
|
+
#
|
70
|
+
# Records an example group.
|
71
|
+
def record(example_group)
|
72
|
+
@configuration.on_example_group_definition_callbacks.each { |block| block.call(example_group) }
|
73
|
+
@example_group_counts_by_spec_file[example_group.metadata[:absolute_file_path]] += 1
|
74
|
+
end
|
75
|
+
|
76
|
+
# @private
|
77
|
+
def num_example_groups_defined_in(file)
|
78
|
+
@example_group_counts_by_spec_file[file]
|
79
|
+
end
|
80
|
+
|
81
|
+
# @private
|
82
|
+
def shared_example_group_registry
|
83
|
+
@shared_example_group_registry ||= SharedExampleGroup::Registry.new
|
84
|
+
end
|
85
|
+
|
86
|
+
# @private
|
87
|
+
def inclusion_filter
|
88
|
+
@configuration.inclusion_filter
|
89
|
+
end
|
90
|
+
|
91
|
+
# @private
|
92
|
+
def exclusion_filter
|
93
|
+
@configuration.exclusion_filter
|
94
|
+
end
|
95
|
+
|
96
|
+
# @api private
|
97
|
+
#
|
98
|
+
# Get count of examples to be run.
|
99
|
+
def example_count(groups=example_groups)
|
100
|
+
FlatMap.flat_map(groups) { |g| g.descendants }.
|
101
|
+
inject(0) { |a, e| a + e.filtered_examples.size }
|
102
|
+
end
|
103
|
+
|
104
|
+
# @private
|
105
|
+
def all_example_groups
|
106
|
+
FlatMap.flat_map(example_groups) { |g| g.descendants }
|
107
|
+
end
|
108
|
+
|
109
|
+
# @private
|
110
|
+
def all_examples
|
111
|
+
FlatMap.flat_map(all_example_groups) { |g| g.examples }
|
112
|
+
end
|
113
|
+
|
114
|
+
# @private
|
115
|
+
# Traverses the tree of each top level group.
|
116
|
+
# For each it yields the group, then the children, recursively.
|
117
|
+
# Halts the traversal of a branch of the tree as soon as the passed block returns true.
|
118
|
+
# Note that siblings groups and their sub-trees will continue to be explored.
|
119
|
+
# This is intended to make it easy to find the top-most group that satisfies some
|
120
|
+
# condition.
|
121
|
+
def traverse_example_group_trees_until(&block)
|
122
|
+
example_groups.each do |group|
|
123
|
+
group.traverse_tree_until(&block)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
# @api private
|
128
|
+
#
|
129
|
+
# Find line number of previous declaration.
|
130
|
+
def preceding_declaration_line(absolute_file_name, filter_line)
|
131
|
+
line_numbers = descending_declaration_line_numbers_by_file.fetch(absolute_file_name) do
|
132
|
+
return nil
|
133
|
+
end
|
134
|
+
|
135
|
+
line_numbers.find { |num| num <= filter_line }
|
136
|
+
end
|
137
|
+
|
138
|
+
# @private
|
139
|
+
def reporter
|
140
|
+
@configuration.reporter
|
141
|
+
end
|
142
|
+
|
143
|
+
# @private
|
144
|
+
def source_from_file(path)
|
145
|
+
unless defined?(@sources_by_path)
|
146
|
+
RSpec::Support.require_rspec_support 'source'
|
147
|
+
@sources_by_path = {}
|
148
|
+
end
|
149
|
+
|
150
|
+
@sources_by_path[path] ||= Support::Source.from_file(path)
|
151
|
+
end
|
152
|
+
|
153
|
+
# @private
|
154
|
+
def syntax_highlighter
|
155
|
+
@syntax_highlighter ||= Formatters::SyntaxHighlighter.new(@configuration)
|
156
|
+
end
|
157
|
+
|
158
|
+
# @api private
|
159
|
+
#
|
160
|
+
# Notify reporter of filters.
|
161
|
+
def announce_filters
|
162
|
+
fail_if_config_and_cli_options_invalid
|
163
|
+
filter_announcements = []
|
164
|
+
|
165
|
+
announce_inclusion_filter filter_announcements
|
166
|
+
announce_exclusion_filter filter_announcements
|
167
|
+
|
168
|
+
unless filter_manager.empty?
|
169
|
+
if filter_announcements.length == 1
|
170
|
+
report_filter_message("Run options: #{filter_announcements[0]}")
|
171
|
+
else
|
172
|
+
report_filter_message("Run options:\n #{filter_announcements.join("\n ")}")
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
if @configuration.run_all_when_everything_filtered? && example_count.zero? && !@configuration.only_failures?
|
177
|
+
report_filter_message("#{everything_filtered_message}; ignoring #{inclusion_filter.description}")
|
178
|
+
filtered_examples.clear
|
179
|
+
inclusion_filter.clear
|
180
|
+
end
|
181
|
+
|
182
|
+
return unless example_count.zero?
|
183
|
+
|
184
|
+
example_groups.clear
|
185
|
+
if filter_manager.empty?
|
186
|
+
report_filter_message("No examples found.")
|
187
|
+
elsif exclusion_filter.empty? || inclusion_filter.empty?
|
188
|
+
report_filter_message(everything_filtered_message)
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
# @private
|
193
|
+
def report_filter_message(message)
|
194
|
+
reporter.message(message) unless @configuration.silence_filter_announcements?
|
195
|
+
end
|
196
|
+
|
197
|
+
# @private
|
198
|
+
def everything_filtered_message
|
199
|
+
"\nAll examples were filtered out"
|
200
|
+
end
|
201
|
+
|
202
|
+
# @api private
|
203
|
+
#
|
204
|
+
# Add inclusion filters to announcement message.
|
205
|
+
def announce_inclusion_filter(announcements)
|
206
|
+
return if inclusion_filter.empty?
|
207
|
+
|
208
|
+
announcements << "include #{inclusion_filter.description}"
|
209
|
+
end
|
210
|
+
|
211
|
+
# @api private
|
212
|
+
#
|
213
|
+
# Add exclusion filters to announcement message.
|
214
|
+
def announce_exclusion_filter(announcements)
|
215
|
+
return if exclusion_filter.empty?
|
216
|
+
|
217
|
+
announcements << "exclude #{exclusion_filter.description}"
|
218
|
+
end
|
219
|
+
|
220
|
+
private
|
221
|
+
|
222
|
+
def descending_declaration_line_numbers_by_file
|
223
|
+
@descending_declaration_line_numbers_by_file ||= begin
|
224
|
+
declaration_locations = FlatMap.flat_map(example_groups, &:declaration_locations)
|
225
|
+
hash_of_arrays = Hash.new { |h, k| h[k] = [] }
|
226
|
+
|
227
|
+
# TODO: change `inject` to `each_with_object` when we drop 1.8.7 support.
|
228
|
+
line_nums_by_file = declaration_locations.inject(hash_of_arrays) do |hash, (file_name, line_number)|
|
229
|
+
hash[file_name] << line_number
|
230
|
+
hash
|
231
|
+
end
|
232
|
+
|
233
|
+
line_nums_by_file.each_value do |list|
|
234
|
+
list.sort!
|
235
|
+
list.reverse!
|
236
|
+
end
|
237
|
+
end
|
238
|
+
end
|
239
|
+
|
240
|
+
def fail_if_config_and_cli_options_invalid
|
241
|
+
return unless @configuration.only_failures_but_not_configured?
|
242
|
+
|
243
|
+
reporter.abort_with(
|
244
|
+
"\nTo use `--only-failures`, you must first set " \
|
245
|
+
"`config.example_status_persistence_file_path`.",
|
246
|
+
1 # exit code
|
247
|
+
)
|
248
|
+
end
|
249
|
+
|
250
|
+
# @private
|
251
|
+
# Provides a null implementation for initial use by configuration.
|
252
|
+
module Null
|
253
|
+
def self.non_example_failure; end
|
254
|
+
def self.non_example_failure=(_); end
|
255
|
+
|
256
|
+
def self.registered_example_group_files
|
257
|
+
[]
|
258
|
+
end
|
259
|
+
|
260
|
+
def self.traverse_example_group_trees_until
|
261
|
+
end
|
262
|
+
|
263
|
+
# :nocov:
|
264
|
+
def self.example_groups
|
265
|
+
[]
|
266
|
+
end
|
267
|
+
|
268
|
+
def self.all_example_groups
|
269
|
+
[]
|
270
|
+
end
|
271
|
+
# :nocov:
|
272
|
+
end
|
273
|
+
end
|
274
|
+
end
|
275
|
+
end
|
metadata
ADDED
@@ -0,0 +1,257 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sspec-core
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.8.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Steven Baker
|
8
|
+
- David Chelimsky
|
9
|
+
- Chad Humphries
|
10
|
+
- Myron Marston
|
11
|
+
autorequire:
|
12
|
+
bindir: exe
|
13
|
+
cert_chain: []
|
14
|
+
date: 2019-04-11 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: sspec-support
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - "~>"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.8.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.8.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: cucumber
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - "~>"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '1.3'
|
37
|
+
type: :development
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.3'
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: minitest
|
46
|
+
requirement: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '5.3'
|
51
|
+
type: :development
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '5.3'
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: aruba
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - "~>"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 0.6.2
|
65
|
+
type: :development
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 0.6.2
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: coderay
|
74
|
+
requirement: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - "~>"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.1.1
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - "~>"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.1.1
|
86
|
+
- !ruby/object:Gem::Dependency
|
87
|
+
name: mocha
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 0.13.0
|
93
|
+
type: :development
|
94
|
+
prerelease: false
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 0.13.0
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: rr
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 1.0.4
|
107
|
+
type: :development
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 1.0.4
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: flexmock
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 0.9.0
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 0.9.0
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: thread_order
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - "~>"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.1.0
|
135
|
+
type: :development
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 1.1.0
|
142
|
+
description: BDD for Ruby. RSpec runner and example groups.
|
143
|
+
email: sspec@googlegroups.com
|
144
|
+
executables:
|
145
|
+
- rspec
|
146
|
+
extensions: []
|
147
|
+
extra_rdoc_files: []
|
148
|
+
files:
|
149
|
+
- ".document"
|
150
|
+
- ".yardopts"
|
151
|
+
- Changelog.md
|
152
|
+
- LICENSE.md
|
153
|
+
- README.md
|
154
|
+
- exe/rspec
|
155
|
+
- lib/rspec/autorun.rb
|
156
|
+
- lib/rspec/core.rb
|
157
|
+
- lib/rspec/core/backtrace_formatter.rb
|
158
|
+
- lib/rspec/core/bisect/coordinator.rb
|
159
|
+
- lib/rspec/core/bisect/example_minimizer.rb
|
160
|
+
- lib/rspec/core/bisect/fork_runner.rb
|
161
|
+
- lib/rspec/core/bisect/server.rb
|
162
|
+
- lib/rspec/core/bisect/shell_command.rb
|
163
|
+
- lib/rspec/core/bisect/shell_runner.rb
|
164
|
+
- lib/rspec/core/bisect/utilities.rb
|
165
|
+
- lib/rspec/core/configuration.rb
|
166
|
+
- lib/rspec/core/configuration_options.rb
|
167
|
+
- lib/rspec/core/drb.rb
|
168
|
+
- lib/rspec/core/dsl.rb
|
169
|
+
- lib/rspec/core/example.rb
|
170
|
+
- lib/rspec/core/example_group.rb
|
171
|
+
- lib/rspec/core/example_status_persister.rb
|
172
|
+
- lib/rspec/core/filter_manager.rb
|
173
|
+
- lib/rspec/core/flat_map.rb
|
174
|
+
- lib/rspec/core/formatters.rb
|
175
|
+
- lib/rspec/core/formatters/base_bisect_formatter.rb
|
176
|
+
- lib/rspec/core/formatters/base_formatter.rb
|
177
|
+
- lib/rspec/core/formatters/base_text_formatter.rb
|
178
|
+
- lib/rspec/core/formatters/bisect_drb_formatter.rb
|
179
|
+
- lib/rspec/core/formatters/bisect_progress_formatter.rb
|
180
|
+
- lib/rspec/core/formatters/console_codes.rb
|
181
|
+
- lib/rspec/core/formatters/deprecation_formatter.rb
|
182
|
+
- lib/rspec/core/formatters/documentation_formatter.rb
|
183
|
+
- lib/rspec/core/formatters/exception_presenter.rb
|
184
|
+
- lib/rspec/core/formatters/fallback_message_formatter.rb
|
185
|
+
- lib/rspec/core/formatters/helpers.rb
|
186
|
+
- lib/rspec/core/formatters/html_formatter.rb
|
187
|
+
- lib/rspec/core/formatters/html_printer.rb
|
188
|
+
- lib/rspec/core/formatters/html_snippet_extractor.rb
|
189
|
+
- lib/rspec/core/formatters/json_formatter.rb
|
190
|
+
- lib/rspec/core/formatters/profile_formatter.rb
|
191
|
+
- lib/rspec/core/formatters/progress_formatter.rb
|
192
|
+
- lib/rspec/core/formatters/protocol.rb
|
193
|
+
- lib/rspec/core/formatters/snippet_extractor.rb
|
194
|
+
- lib/rspec/core/formatters/syntax_highlighter.rb
|
195
|
+
- lib/rspec/core/hooks.rb
|
196
|
+
- lib/rspec/core/invocations.rb
|
197
|
+
- lib/rspec/core/memoized_helpers.rb
|
198
|
+
- lib/rspec/core/metadata.rb
|
199
|
+
- lib/rspec/core/metadata_filter.rb
|
200
|
+
- lib/rspec/core/minitest_assertions_adapter.rb
|
201
|
+
- lib/rspec/core/mocking_adapters/flexmock.rb
|
202
|
+
- lib/rspec/core/mocking_adapters/mocha.rb
|
203
|
+
- lib/rspec/core/mocking_adapters/null.rb
|
204
|
+
- lib/rspec/core/mocking_adapters/rr.rb
|
205
|
+
- lib/rspec/core/mocking_adapters/rspec.rb
|
206
|
+
- lib/rspec/core/notifications.rb
|
207
|
+
- lib/rspec/core/option_parser.rb
|
208
|
+
- lib/rspec/core/ordering.rb
|
209
|
+
- lib/rspec/core/output_wrapper.rb
|
210
|
+
- lib/rspec/core/pending.rb
|
211
|
+
- lib/rspec/core/profiler.rb
|
212
|
+
- lib/rspec/core/project_initializer.rb
|
213
|
+
- lib/rspec/core/project_initializer/.rspec
|
214
|
+
- lib/rspec/core/project_initializer/spec/spec_helper.rb
|
215
|
+
- lib/rspec/core/rake_task.rb
|
216
|
+
- lib/rspec/core/reporter.rb
|
217
|
+
- lib/rspec/core/ruby_project.rb
|
218
|
+
- lib/rspec/core/runner.rb
|
219
|
+
- lib/rspec/core/sandbox.rb
|
220
|
+
- lib/rspec/core/set.rb
|
221
|
+
- lib/rspec/core/shared_context.rb
|
222
|
+
- lib/rspec/core/shared_example_group.rb
|
223
|
+
- lib/rspec/core/shell_escape.rb
|
224
|
+
- lib/rspec/core/test_unit_assertions_adapter.rb
|
225
|
+
- lib/rspec/core/version.rb
|
226
|
+
- lib/rspec/core/warnings.rb
|
227
|
+
- lib/rspec/core/world.rb
|
228
|
+
homepage: https://github.com/sspec/sspec-core
|
229
|
+
licenses:
|
230
|
+
- MIT
|
231
|
+
metadata:
|
232
|
+
bug_tracker_uri: https://github.com/sspec/sspec-core/issues
|
233
|
+
changelog_uri: https://github.com/sspec/sspec-core/blob/v3.8.0/Changelog.md
|
234
|
+
documentation_uri: https://sspec.info/documentation/
|
235
|
+
mailing_list_uri: https://groups.google.com/forum/#!forum/sspec
|
236
|
+
source_code_uri: https://github.com/sspec/sspec-core
|
237
|
+
post_install_message:
|
238
|
+
rdoc_options:
|
239
|
+
- "--charset=UTF-8"
|
240
|
+
require_paths:
|
241
|
+
- lib
|
242
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
243
|
+
requirements:
|
244
|
+
- - ">="
|
245
|
+
- !ruby/object:Gem::Version
|
246
|
+
version: 1.8.7
|
247
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
248
|
+
requirements:
|
249
|
+
- - ">="
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
version: '0'
|
252
|
+
requirements: []
|
253
|
+
rubygems_version: 3.0.3
|
254
|
+
signing_key:
|
255
|
+
specification_version: 4
|
256
|
+
summary: sspec-core-3.8.0
|
257
|
+
test_files: []
|