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.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.yardopts +8 -0
  4. data/Changelog.md +2232 -0
  5. data/LICENSE.md +26 -0
  6. data/README.md +384 -0
  7. data/exe/rspec +4 -0
  8. data/lib/rspec/autorun.rb +3 -0
  9. data/lib/rspec/core.rb +185 -0
  10. data/lib/rspec/core/backtrace_formatter.rb +65 -0
  11. data/lib/rspec/core/bisect/coordinator.rb +62 -0
  12. data/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  13. data/lib/rspec/core/bisect/fork_runner.rb +134 -0
  14. data/lib/rspec/core/bisect/server.rb +61 -0
  15. data/lib/rspec/core/bisect/shell_command.rb +126 -0
  16. data/lib/rspec/core/bisect/shell_runner.rb +73 -0
  17. data/lib/rspec/core/bisect/utilities.rb +58 -0
  18. data/lib/rspec/core/configuration.rb +2289 -0
  19. data/lib/rspec/core/configuration_options.rb +233 -0
  20. data/lib/rspec/core/drb.rb +113 -0
  21. data/lib/rspec/core/dsl.rb +98 -0
  22. data/lib/rspec/core/example.rb +653 -0
  23. data/lib/rspec/core/example_group.rb +885 -0
  24. data/lib/rspec/core/example_status_persister.rb +235 -0
  25. data/lib/rspec/core/filter_manager.rb +231 -0
  26. data/lib/rspec/core/flat_map.rb +20 -0
  27. data/lib/rspec/core/formatters.rb +269 -0
  28. data/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  29. data/lib/rspec/core/formatters/base_formatter.rb +70 -0
  30. data/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  31. data/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  32. data/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  33. data/lib/rspec/core/formatters/console_codes.rb +68 -0
  34. data/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  35. data/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
  36. data/lib/rspec/core/formatters/exception_presenter.rb +508 -0
  37. data/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  38. data/lib/rspec/core/formatters/helpers.rb +110 -0
  39. data/lib/rspec/core/formatters/html_formatter.rb +153 -0
  40. data/lib/rspec/core/formatters/html_printer.rb +414 -0
  41. data/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  42. data/lib/rspec/core/formatters/json_formatter.rb +102 -0
  43. data/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  44. data/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  45. data/lib/rspec/core/formatters/protocol.rb +182 -0
  46. data/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  47. data/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  48. data/lib/rspec/core/hooks.rb +624 -0
  49. data/lib/rspec/core/invocations.rb +87 -0
  50. data/lib/rspec/core/memoized_helpers.rb +554 -0
  51. data/lib/rspec/core/metadata.rb +499 -0
  52. data/lib/rspec/core/metadata_filter.rb +255 -0
  53. data/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  54. data/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  55. data/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  56. data/lib/rspec/core/mocking_adapters/null.rb +14 -0
  57. data/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  58. data/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  59. data/lib/rspec/core/notifications.rb +521 -0
  60. data/lib/rspec/core/option_parser.rb +309 -0
  61. data/lib/rspec/core/ordering.rb +158 -0
  62. data/lib/rspec/core/output_wrapper.rb +29 -0
  63. data/lib/rspec/core/pending.rb +165 -0
  64. data/lib/rspec/core/profiler.rb +34 -0
  65. data/lib/rspec/core/project_initializer.rb +48 -0
  66. data/lib/rspec/core/project_initializer/.rspec +1 -0
  67. data/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
  68. data/lib/rspec/core/rake_task.rb +168 -0
  69. data/lib/rspec/core/reporter.rb +257 -0
  70. data/lib/rspec/core/ruby_project.rb +53 -0
  71. data/lib/rspec/core/runner.rb +199 -0
  72. data/lib/rspec/core/sandbox.rb +37 -0
  73. data/lib/rspec/core/set.rb +54 -0
  74. data/lib/rspec/core/shared_context.rb +55 -0
  75. data/lib/rspec/core/shared_example_group.rb +269 -0
  76. data/lib/rspec/core/shell_escape.rb +49 -0
  77. data/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  78. data/lib/rspec/core/version.rb +9 -0
  79. data/lib/rspec/core/warnings.rb +40 -0
  80. data/lib/rspec/core/world.rb +275 -0
  81. 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,9 @@
1
+ module RSpec
2
+ module Core
3
+ # Version information for RSpec Core.
4
+ module Version
5
+ # Current version of RSpec Core, in semantic versioning format.
6
+ STRING = '3.8.0'
7
+ end
8
+ end
9
+ 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: []