opal-rspec 0.8.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (682) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +7 -7
  3. data/.gitmodules +6 -0
  4. data/CHANGELOG.md +18 -0
  5. data/Gemfile +13 -0
  6. data/README.md +63 -59
  7. data/diff-lcs/spec/files_to_exclude.txt +1 -0
  8. data/diff-lcs/spec/requires.rb +4 -0
  9. data/diff-lcs/upstream/.autotest +5 -0
  10. data/diff-lcs/upstream/.fasterer.yml +3 -0
  11. data/{stubs/diff/lcs.rb → diff-lcs/upstream/.gemtest} +0 -0
  12. data/diff-lcs/upstream/.github/workflows/ci.yml +64 -0
  13. data/diff-lcs/upstream/.github/workflows/codeql-analysis.yml +70 -0
  14. data/diff-lcs/upstream/.gitignore +20 -0
  15. data/diff-lcs/upstream/.hoerc +52 -0
  16. data/diff-lcs/upstream/.rspec +1 -0
  17. data/diff-lcs/upstream/.standard.yml +6 -0
  18. data/diff-lcs/upstream/Code-of-Conduct.md +74 -0
  19. data/diff-lcs/upstream/Contributing.md +119 -0
  20. data/diff-lcs/upstream/Gemfile +28 -0
  21. data/diff-lcs/upstream/History.md +407 -0
  22. data/diff-lcs/upstream/License.md +41 -0
  23. data/diff-lcs/upstream/Manifest.txt +59 -0
  24. data/diff-lcs/upstream/README.rdoc +84 -0
  25. data/diff-lcs/upstream/Rakefile +127 -0
  26. data/diff-lcs/upstream/bin/htmldiff +35 -0
  27. data/diff-lcs/upstream/bin/ldiff +9 -0
  28. data/diff-lcs/upstream/diff-lcs.gemspec +48 -0
  29. data/diff-lcs/upstream/docs/COPYING.txt +339 -0
  30. data/diff-lcs/upstream/docs/artistic.txt +127 -0
  31. data/diff-lcs/upstream/lib/diff/lcs/array.rb +7 -0
  32. data/diff-lcs/upstream/lib/diff/lcs/backports.rb +9 -0
  33. data/diff-lcs/upstream/lib/diff/lcs/block.rb +37 -0
  34. data/diff-lcs/upstream/lib/diff/lcs/callbacks.rb +327 -0
  35. data/diff-lcs/upstream/lib/diff/lcs/change.rb +174 -0
  36. data/diff-lcs/upstream/lib/diff/lcs/htmldiff.rb +158 -0
  37. data/diff-lcs/upstream/lib/diff/lcs/hunk.rb +363 -0
  38. data/diff-lcs/upstream/lib/diff/lcs/internals.rb +308 -0
  39. data/diff-lcs/upstream/lib/diff/lcs/ldiff.rb +173 -0
  40. data/diff-lcs/upstream/lib/diff/lcs/string.rb +5 -0
  41. data/diff-lcs/upstream/lib/diff/lcs.rb +741 -0
  42. data/diff-lcs/upstream/lib/diff-lcs.rb +3 -0
  43. data/diff-lcs/upstream/spec/change_spec.rb +89 -0
  44. data/diff-lcs/upstream/spec/diff_spec.rb +51 -0
  45. data/diff-lcs/upstream/spec/fixtures/aX +1 -0
  46. data/diff-lcs/upstream/spec/fixtures/bXaX +1 -0
  47. data/diff-lcs/upstream/spec/fixtures/ds1.csv +50 -0
  48. data/diff-lcs/upstream/spec/fixtures/ds2.csv +51 -0
  49. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff +4 -0
  50. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-c +7 -0
  51. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-e +3 -0
  52. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-f +3 -0
  53. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff-u +5 -0
  54. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef +4 -0
  55. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  56. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  57. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  58. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  59. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  60. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  61. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  62. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  63. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  64. data/diff-lcs/upstream/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  65. data/diff-lcs/upstream/spec/fixtures/new-chef +4 -0
  66. data/diff-lcs/upstream/spec/fixtures/new-chef2 +17 -0
  67. data/diff-lcs/upstream/spec/fixtures/old-chef +4 -0
  68. data/diff-lcs/upstream/spec/fixtures/old-chef2 +14 -0
  69. data/diff-lcs/upstream/spec/hunk_spec.rb +83 -0
  70. data/diff-lcs/upstream/spec/issues_spec.rb +160 -0
  71. data/diff-lcs/upstream/spec/lcs_spec.rb +56 -0
  72. data/diff-lcs/upstream/spec/ldiff_spec.rb +89 -0
  73. data/diff-lcs/upstream/spec/patch_spec.rb +416 -0
  74. data/diff-lcs/upstream/spec/sdiff_spec.rb +216 -0
  75. data/diff-lcs/upstream/spec/spec_helper.rb +376 -0
  76. data/diff-lcs/upstream/spec/traverse_balanced_spec.rb +312 -0
  77. data/diff-lcs/upstream/spec/traverse_sequences_spec.rb +137 -0
  78. data/lib/opal/rspec/runner.rb +11 -0
  79. data/lib/opal/rspec/sprockets.rb +6 -0
  80. data/lib/opal/rspec/version.rb +1 -1
  81. data/lib/opal/rspec.rb +1 -2
  82. data/lib-opal/opal/rspec/async/configuration.rb +39 -0
  83. data/lib-opal/opal/rspec/async/example.rb +80 -168
  84. data/lib-opal/opal/rspec/async/example_group.rb +71 -81
  85. data/lib-opal/opal/rspec/async/hooks.rb +98 -8
  86. data/lib-opal/opal/rspec/async/memoized_helpers.rb +32 -0
  87. data/lib-opal/opal/rspec/async/reporter.rb +6 -3
  88. data/lib-opal/opal/rspec/async/runner.rb +33 -24
  89. data/lib-opal/opal/rspec/async.rb +4 -1
  90. data/lib-opal/opal/rspec/browser.rb +0 -8
  91. data/lib-opal/opal/rspec/browser_early.rb +5 -0
  92. data/lib-opal/opal/rspec/fixes/diff-lcs/hunk.rb +164 -0
  93. data/lib-opal/opal/rspec/fixes/diff-lcs/lcs.rb +112 -0
  94. data/lib-opal/opal/rspec/fixes/diff-lcs.rb +2 -0
  95. data/lib-opal/opal/rspec/fixes/opal.rb +4 -17
  96. data/lib-opal/opal/rspec/fixes/rspec/core/example_status_persister.rb +11 -0
  97. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/deprecation_formatter.rb +3 -12
  98. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/exception_presenter.rb +28 -0
  99. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/loader.rb +0 -32
  100. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/snippet_extractor.rb +17 -0
  101. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/syntax_highlighter.rb +17 -0
  102. data/lib-opal/opal/rspec/fixes/rspec/core/formatters.rb +3 -4
  103. data/lib-opal/opal/rspec/fixes/rspec/core/metadata.rb +24 -8
  104. data/lib-opal/opal/rspec/fixes/rspec/core/notifications/examples_notification.rb +3 -20
  105. data/lib-opal/opal/rspec/fixes/rspec/core/notifications.rb +0 -2
  106. data/lib-opal/opal/rspec/fixes/rspec/core.rb +1 -2
  107. data/lib-opal/opal/rspec/fixes/rspec/expectations.rb +0 -1
  108. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/base_matcher.rb +26 -0
  109. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in.rb +1 -3
  110. data/lib-opal/opal/rspec/fixes/rspec/matchers/expecteds_for_multiple_diffs.rb +13 -0
  111. data/lib-opal/opal/rspec/fixes/rspec/matchers.rb +1 -1
  112. data/lib-opal/opal/rspec/fixes/rspec/mocks/error_generator.rb +26 -10
  113. data/lib-opal/opal/rspec/fixes/rspec/mocks/proxy.rb +19 -0
  114. data/lib-opal/opal/rspec/fixes/rspec/mocks.rb +1 -3
  115. data/lib-opal/opal/rspec/fixes/rspec/support/differ.rb +29 -0
  116. data/lib-opal/opal/rspec/fixes/rspec/support/encoded_string.rb +9 -5
  117. data/lib-opal/opal/rspec/fixes/rspec/support/ruby_features.rb +22 -0
  118. data/lib-opal/opal/rspec/fixes/rspec/support/source.rb +15 -0
  119. data/lib-opal/opal/rspec/fixes/rspec/support.rb +3 -3
  120. data/lib-opal/opal/rspec/fixes/rspec.rb +0 -1
  121. data/lib-opal/opal/rspec/fixes.rb +1 -0
  122. data/lib-opal/opal/rspec/formatter/html_printer.rb +1 -1
  123. data/lib-opal/opal/rspec/pre_require_fixes.rb +1 -5
  124. data/lib-opal/opal/rspec/requires.rb +32 -19
  125. data/lib-opal/opal/rspec/sprockets_runner.rb.erb +1 -0
  126. data/lib-opal/opal/rspec.rb +3 -0
  127. data/opal-rspec.gemspec +1 -2
  128. data/rspec/upstream/.document +1 -1
  129. data/rspec/upstream/.github/FUNDING.yml +5 -0
  130. data/rspec/upstream/.gitignore +1 -0
  131. data/rspec/upstream/LICENSE.md +27 -0
  132. data/rspec/upstream/README.md +26 -26
  133. data/rspec/upstream/Rakefile +1 -1
  134. data/rspec/upstream/certs/rspec.pem +32 -20
  135. data/rspec/upstream/certs/samphippen.asc +18 -0
  136. data/rspec/upstream/code_of_conduct.md +59 -0
  137. data/rspec/upstream/lib/rspec/version.rb +1 -1
  138. data/rspec/upstream/rspec.gemspec +7 -2
  139. data/rspec-core/upstream/.document +1 -1
  140. data/rspec-core/upstream/.github/FUNDING.yml +5 -0
  141. data/rspec-core/upstream/.github/workflows/ci.yml +150 -0
  142. data/rspec-core/upstream/.gitignore +2 -0
  143. data/rspec-core/upstream/.rspec +1 -0
  144. data/rspec-core/upstream/.rubocop.yml +64 -12
  145. data/rspec-core/upstream/.rubocop_rspec_base.yml +224 -38
  146. data/rspec-core/upstream/.rubocop_todo.yml +1031 -0
  147. data/rspec-core/upstream/.yardopts +2 -1
  148. data/rspec-core/upstream/BUILD_DETAIL.md +149 -0
  149. data/rspec-core/upstream/CODE_OF_CONDUCT.md +59 -0
  150. data/rspec-core/upstream/CONTRIBUTING.md +86 -0
  151. data/rspec-core/upstream/Changelog.md +721 -2
  152. data/rspec-core/upstream/DEV-README.md +2 -2
  153. data/rspec-core/upstream/DEVELOPMENT.md +131 -0
  154. data/rspec-core/upstream/Filtering.md +173 -0
  155. data/rspec-core/upstream/Gemfile +78 -9
  156. data/rspec-core/upstream/ISSUE_TEMPLATE.md +24 -0
  157. data/rspec-core/upstream/{License.txt → LICENSE.md} +6 -5
  158. data/rspec-core/upstream/README.md +165 -24
  159. data/rspec-core/upstream/REPORT_TEMPLATE.md +43 -0
  160. data/rspec-core/upstream/Rakefile +1 -1
  161. data/rspec-core/upstream/benchmarks/allocations/1000_groups_1_example.rb +124 -0
  162. data/rspec-core/upstream/benchmarks/allocations/1_group_1000_examples.rb +63 -0
  163. data/rspec-core/upstream/benchmarks/allocations/helper.rb +30 -0
  164. data/rspec-core/upstream/benchmarks/allocations/running_1000_groups_1_example.rb +100 -0
  165. data/rspec-core/upstream/benchmarks/allocations/running_1_group_1000_examples.rb +60 -0
  166. data/rspec-core/upstream/benchmarks/capture_block_vs_yield.rb +208 -0
  167. data/rspec-core/upstream/benchmarks/flat_map_vs_inject.rb +55 -0
  168. data/rspec-core/upstream/benchmarks/hash_functions.rb +74 -0
  169. data/rspec-core/upstream/benchmarks/keys_each_vs_each_key.rb +43 -0
  170. data/rspec-core/upstream/benchmarks/module_inclusion_filtering.rb +89 -0
  171. data/rspec-core/upstream/benchmarks/precalculate_absolute_file_path_or_not.rb +29 -0
  172. data/rspec-core/upstream/benchmarks/shuffle_vs_sort_by_for_random_ordering.rb +131 -0
  173. data/rspec-core/upstream/benchmarks/singleton_example_groups/helper.rb +122 -0
  174. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_config_hooks.rb +28 -0
  175. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_config_hooks_module_inclusions_and_shared_context_inclusions.rb +35 -0
  176. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_module_inclusions.rb +28 -0
  177. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_no_config_hooks_or_inclusions.rb +22 -0
  178. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_shared_context_inclusions.rb +28 -0
  179. data/rspec-core/upstream/benchmarks/threadsafe_let_block.rb +312 -0
  180. data/rspec-core/upstream/cucumber.yml +7 -2
  181. data/rspec-core/upstream/features/.nav +5 -1
  182. data/rspec-core/upstream/features/README.md +2 -2
  183. data/rspec-core/upstream/features/clear_examples.feature +106 -0
  184. data/rspec-core/upstream/features/command_line/bisect.feature +178 -0
  185. data/rspec-core/upstream/features/command_line/example_matches_name_option.feature +131 -0
  186. data/rspec-core/upstream/features/command_line/example_name_option.feature +2 -0
  187. data/rspec-core/upstream/features/command_line/fail_fast.feature +21 -4
  188. data/rspec-core/upstream/features/command_line/init.feature +2 -2
  189. data/rspec-core/upstream/features/command_line/line_number_appended_to_path.feature +2 -2
  190. data/rspec-core/upstream/features/command_line/only_failures.feature +113 -0
  191. data/rspec-core/upstream/features/command_line/order.md +8 -1
  192. data/rspec-core/upstream/features/command_line/pattern_option.feature +6 -3
  193. data/rspec-core/upstream/features/command_line/rake_task.feature +3 -3
  194. data/rspec-core/upstream/features/command_line/randomization.feature +5 -2
  195. data/rspec-core/upstream/features/command_line/ruby.feature +6 -2
  196. data/rspec-core/upstream/features/command_line/tag.feature +13 -11
  197. data/rspec-core/upstream/features/command_line/warnings_option.feature +20 -3
  198. data/rspec-core/upstream/features/configuration/backtrace_exclusion_patterns.feature +45 -29
  199. data/rspec-core/upstream/features/configuration/color.feature +22 -0
  200. data/rspec-core/upstream/features/configuration/custom_settings.feature +9 -13
  201. data/rspec-core/upstream/features/configuration/default_path.feature +1 -1
  202. data/rspec-core/upstream/features/configuration/enable_global_dsl.feature +15 -1
  203. data/rspec-core/upstream/features/configuration/error_exit_code.feature +52 -0
  204. data/rspec-core/upstream/features/configuration/fail_fast.feature +42 -12
  205. data/rspec-core/upstream/features/configuration/fail_if_no_examples.feature +31 -0
  206. data/rspec-core/upstream/features/configuration/failure_exit_code.feature +26 -0
  207. data/rspec-core/upstream/features/configuration/overriding_global_ordering.feature +1 -1
  208. data/rspec-core/upstream/features/configuration/pattern.feature +1 -1
  209. data/rspec-core/upstream/features/configuration/profile.feature +25 -0
  210. data/rspec-core/upstream/features/configuration/read_options_from_file.feature +25 -19
  211. data/rspec-core/upstream/features/configuration/run_all_when_everything_filtered.feature +4 -0
  212. data/rspec-core/upstream/features/core_standalone.feature +2 -0
  213. data/rspec-core/upstream/features/example_groups/basic_structure.feature +1 -0
  214. data/rspec-core/upstream/features/example_groups/shared_context.feature +55 -5
  215. data/rspec-core/upstream/features/example_groups/shared_examples.feature +59 -15
  216. data/rspec-core/upstream/features/expectation_framework_integration/aggregating_failures.feature +602 -0
  217. data/rspec-core/upstream/features/expectation_framework_integration/configure_expectation_framework.feature +13 -5
  218. data/rspec-core/upstream/features/filtering/filter_run_when_matching.feature +75 -0
  219. data/rspec-core/upstream/features/formatters/configurable_colors.feature +23 -4
  220. data/rspec-core/upstream/features/helper_methods/let.feature +3 -0
  221. data/rspec-core/upstream/features/helper_methods/modules.feature +6 -0
  222. data/rspec-core/upstream/features/hooks/around_hooks.feature +36 -6
  223. data/rspec-core/upstream/features/hooks/before_and_after_hooks.feature +47 -5
  224. data/rspec-core/upstream/features/hooks/filtering.feature +199 -4
  225. data/rspec-core/upstream/features/hooks/when_first_matching_example_defined.feature +70 -0
  226. data/rspec-core/upstream/features/metadata/current_scope.feature +87 -0
  227. data/rspec-core/upstream/features/metadata/described_class.feature +12 -5
  228. data/rspec-core/upstream/features/metadata/user_defined.feature +3 -3
  229. data/rspec-core/upstream/features/mock_framework_integration/use_any_framework.feature +1 -1
  230. data/rspec-core/upstream/features/mock_framework_integration/use_flexmock.feature +5 -5
  231. data/rspec-core/upstream/features/mock_framework_integration/use_mocha.feature +5 -5
  232. data/rspec-core/upstream/features/mock_framework_integration/use_rr.feature +5 -5
  233. data/rspec-core/upstream/features/mock_framework_integration/use_rspec.feature +6 -6
  234. data/rspec-core/upstream/features/pending_and_skipped_examples/pending_examples.feature +8 -7
  235. data/rspec-core/upstream/features/pending_and_skipped_examples/skipped_examples.feature +49 -22
  236. data/rspec-core/upstream/features/step_definitions/additional_cli_steps.rb +142 -12
  237. data/rspec-core/upstream/features/step_definitions/core_standalone_steps.rb +6 -2
  238. data/rspec-core/upstream/features/subject/implicit_subject.feature +3 -2
  239. data/rspec-core/upstream/features/subject/one_liner_syntax.feature +9 -5
  240. data/rspec-core/upstream/features/support/diff_lcs_versions.rb +17 -0
  241. data/rspec-core/upstream/features/support/env.rb +20 -7
  242. data/rspec-core/upstream/features/support/jruby.rb +8 -0
  243. data/rspec-core/upstream/features/support/require_expect_syntax_in_aruba_specs.rb +6 -3
  244. data/rspec-core/upstream/features/support/rubinius.rb +5 -1
  245. data/rspec-core/upstream/features/support/ruby_27_support.rb +7 -0
  246. data/rspec-core/upstream/features/support/send_sigint_during_bisect.rb +21 -0
  247. data/rspec-core/upstream/lib/rspec/autorun.rb +1 -0
  248. data/rspec-core/upstream/lib/rspec/core/backtrace_formatter.rb +3 -4
  249. data/rspec-core/upstream/lib/rspec/core/bisect/coordinator.rb +62 -0
  250. data/rspec-core/upstream/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  251. data/rspec-core/upstream/lib/rspec/core/bisect/fork_runner.rb +138 -0
  252. data/rspec-core/upstream/lib/rspec/core/bisect/server.rb +61 -0
  253. data/rspec-core/upstream/lib/rspec/core/bisect/shell_command.rb +126 -0
  254. data/rspec-core/upstream/lib/rspec/core/bisect/shell_runner.rb +73 -0
  255. data/rspec-core/upstream/lib/rspec/core/bisect/utilities.rb +69 -0
  256. data/rspec-core/upstream/lib/rspec/core/configuration.rb +1157 -212
  257. data/rspec-core/upstream/lib/rspec/core/configuration_options.rb +82 -22
  258. data/rspec-core/upstream/lib/rspec/core/did_you_mean.rb +46 -0
  259. data/rspec-core/upstream/lib/rspec/core/drb.rb +10 -1
  260. data/rspec-core/upstream/lib/rspec/core/dsl.rb +10 -5
  261. data/rspec-core/upstream/lib/rspec/core/example.rb +271 -107
  262. data/rspec-core/upstream/lib/rspec/core/example_group.rb +426 -127
  263. data/rspec-core/upstream/lib/rspec/core/example_status_persister.rb +235 -0
  264. data/rspec-core/upstream/lib/rspec/core/filter_manager.rb +76 -104
  265. data/rspec-core/upstream/lib/rspec/core/flat_map.rb +6 -4
  266. data/rspec-core/upstream/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  267. data/rspec-core/upstream/lib/rspec/core/formatters/base_formatter.rb +7 -4
  268. data/rspec-core/upstream/lib/rspec/core/formatters/base_text_formatter.rb +15 -16
  269. data/rspec-core/upstream/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  270. data/rspec-core/upstream/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  271. data/rspec-core/upstream/lib/rspec/core/formatters/console_codes.rb +28 -16
  272. data/rspec-core/upstream/lib/rspec/core/formatters/deprecation_formatter.rb +14 -13
  273. data/rspec-core/upstream/lib/rspec/core/formatters/documentation_formatter.rb +47 -13
  274. data/rspec-core/upstream/lib/rspec/core/formatters/exception_presenter.rb +525 -0
  275. data/rspec-core/upstream/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  276. data/rspec-core/upstream/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  277. data/rspec-core/upstream/lib/rspec/core/formatters/helpers.rb +40 -9
  278. data/rspec-core/upstream/lib/rspec/core/formatters/html_formatter.rb +20 -16
  279. data/rspec-core/upstream/lib/rspec/core/formatters/html_printer.rb +27 -18
  280. data/rspec-core/upstream/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  281. data/rspec-core/upstream/lib/rspec/core/formatters/json_formatter.rb +15 -7
  282. data/rspec-core/upstream/lib/rspec/core/formatters/profile_formatter.rb +10 -7
  283. data/rspec-core/upstream/lib/rspec/core/formatters/progress_formatter.rb +1 -0
  284. data/rspec-core/upstream/lib/rspec/core/formatters/protocol.rb +62 -43
  285. data/rspec-core/upstream/lib/rspec/core/formatters/snippet_extractor.rb +115 -85
  286. data/rspec-core/upstream/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  287. data/rspec-core/upstream/lib/rspec/core/formatters.rb +71 -32
  288. data/rspec-core/upstream/lib/rspec/core/hooks.rb +303 -248
  289. data/rspec-core/upstream/lib/rspec/core/invocations.rb +87 -0
  290. data/rspec-core/upstream/lib/rspec/core/memoized_helpers.rb +155 -47
  291. data/rspec-core/upstream/lib/rspec/core/metadata.rb +102 -41
  292. data/rspec-core/upstream/lib/rspec/core/metadata_filter.rb +209 -49
  293. data/rspec-core/upstream/lib/rspec/core/minitest_assertions_adapter.rb +5 -2
  294. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/flexmock.rb +1 -1
  295. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/mocha.rb +8 -8
  296. data/rspec-core/upstream/lib/rspec/core/notifications.rb +180 -201
  297. data/rspec-core/upstream/lib/rspec/core/option_parser.rb +159 -58
  298. data/rspec-core/upstream/lib/rspec/core/ordering.rb +40 -26
  299. data/rspec-core/upstream/lib/rspec/core/output_wrapper.rb +29 -0
  300. data/rspec-core/upstream/lib/rspec/core/pending.rb +19 -25
  301. data/rspec-core/upstream/lib/rspec/core/profiler.rb +34 -0
  302. data/rspec-core/upstream/lib/rspec/core/project_initializer/.rspec +0 -1
  303. data/rspec-core/upstream/lib/rspec/core/project_initializer/spec/spec_helper.rb +31 -22
  304. data/rspec-core/upstream/lib/rspec/core/project_initializer.rb +1 -1
  305. data/rspec-core/upstream/lib/rspec/core/rake_task.rb +73 -72
  306. data/rspec-core/upstream/lib/rspec/core/reporter.rb +134 -18
  307. data/rspec-core/upstream/lib/rspec/core/ruby_project.rb +13 -5
  308. data/rspec-core/upstream/lib/rspec/core/runner.rb +99 -45
  309. data/rspec-core/upstream/lib/rspec/core/sandbox.rb +37 -0
  310. data/rspec-core/upstream/lib/rspec/core/set.rb +54 -0
  311. data/rspec-core/upstream/lib/rspec/core/shared_example_group.rb +126 -37
  312. data/rspec-core/upstream/lib/rspec/core/shell_escape.rb +49 -0
  313. data/rspec-core/upstream/lib/rspec/core/test_unit_assertions_adapter.rb +3 -3
  314. data/rspec-core/upstream/lib/rspec/core/version.rb +1 -1
  315. data/rspec-core/upstream/lib/rspec/core/warnings.rb +2 -2
  316. data/rspec-core/upstream/lib/rspec/core/world.rb +164 -60
  317. data/rspec-core/upstream/lib/rspec/core.rb +64 -21
  318. data/rspec-core/upstream/maintenance-branch +1 -1
  319. data/rspec-core/upstream/rspec-core.gemspec +16 -11
  320. data/rspec-core/upstream/script/ci_functions.sh +73 -0
  321. data/rspec-core/upstream/script/clone_all_rspec_repos +2 -2
  322. data/rspec-core/upstream/script/cucumber.sh +8 -0
  323. data/rspec-core/upstream/script/custom_build_functions.sh +22 -0
  324. data/rspec-core/upstream/script/functions.sh +125 -89
  325. data/rspec-core/upstream/script/legacy_setup.sh +20 -0
  326. data/rspec-core/upstream/script/predicate_functions.sh +162 -0
  327. data/rspec-core/upstream/script/rspec_with_simplecov +6 -6
  328. data/rspec-core/upstream/script/run_build +14 -9
  329. data/rspec-core/upstream/script/run_rubocop +14 -0
  330. data/rspec-core/upstream/script/update_rubygems_and_install_bundler +20 -0
  331. data/rspec-expectations/upstream/.document +1 -1
  332. data/rspec-expectations/upstream/.github/FUNDING.yml +5 -0
  333. data/rspec-expectations/upstream/.github/workflows/ci.yml +150 -0
  334. data/rspec-expectations/upstream/.gitignore +2 -0
  335. data/rspec-expectations/upstream/.rubocop.yml +126 -2
  336. data/rspec-expectations/upstream/.rubocop_rspec_base.yml +224 -38
  337. data/rspec-expectations/upstream/.rubocop_todo.yml +335 -0
  338. data/rspec-expectations/upstream/.yardopts +1 -1
  339. data/rspec-expectations/upstream/BUILD_DETAIL.md +149 -0
  340. data/rspec-expectations/upstream/CODE_OF_CONDUCT.md +59 -0
  341. data/rspec-expectations/upstream/CONTRIBUTING.md +86 -0
  342. data/rspec-expectations/upstream/Changelog.md +454 -4
  343. data/rspec-expectations/upstream/DEV-README.md +3 -3
  344. data/rspec-expectations/upstream/DEVELOPMENT.md +131 -0
  345. data/rspec-expectations/upstream/Gemfile +77 -9
  346. data/rspec-expectations/upstream/ISSUE_TEMPLATE.md +24 -0
  347. data/{rspec-mocks/upstream/License.txt → rspec-expectations/upstream/LICENSE.md} +5 -4
  348. data/rspec-expectations/upstream/README.md +73 -31
  349. data/rspec-expectations/upstream/REPORT_TEMPLATE.md +43 -0
  350. data/rspec-expectations/upstream/Rakefile +13 -10
  351. data/rspec-expectations/upstream/Should.md +13 -5
  352. data/rspec-expectations/upstream/benchmarks/2.x_vs_3.x_matcher_dsl_implementation.rb +1 -2
  353. data/rspec-expectations/upstream/benchmarks/caller_vs_raise_for_backtrace.rb +77 -0
  354. data/rspec-expectations/upstream/benchmarks/count_vs_select_size.rb +68 -0
  355. data/rspec-expectations/upstream/benchmarks/default_messages_as_methods_v_blocks.rb +1 -1
  356. data/rspec-expectations/upstream/benchmarks/gsub_vs_tr_single_character.rb +28 -0
  357. data/rspec-expectations/upstream/benchmarks/include_matcher.rb +249 -0
  358. data/rspec-expectations/upstream/benchmarks/include_v_superclass.rb +0 -1
  359. data/rspec-expectations/upstream/benchmarks/match_array/failing_with_duplicate_items.rb +1 -1
  360. data/rspec-expectations/upstream/benchmarks/output_stringio_vs_tempfile.rb +31 -0
  361. data/rspec-expectations/upstream/benchmarks/set_vs_array_include.rb +1 -3
  362. data/rspec-expectations/upstream/cucumber.yml +9 -4
  363. data/rspec-expectations/upstream/features/.nav +1 -0
  364. data/rspec-expectations/upstream/features/aggregating_failures.feature +56 -0
  365. data/rspec-expectations/upstream/features/built_in_matchers/README.md +3 -3
  366. data/rspec-expectations/upstream/features/built_in_matchers/all.feature +3 -2
  367. data/rspec-expectations/upstream/features/built_in_matchers/be_within.feature +1 -1
  368. data/rspec-expectations/upstream/features/built_in_matchers/change.feature +8 -6
  369. data/rspec-expectations/upstream/features/built_in_matchers/comparisons.feature +33 -1
  370. data/rspec-expectations/upstream/features/built_in_matchers/contain_exactly.feature +1 -0
  371. data/rspec-expectations/upstream/features/built_in_matchers/cover.feature +3 -3
  372. data/rspec-expectations/upstream/features/built_in_matchers/exist.feature +1 -1
  373. data/rspec-expectations/upstream/features/built_in_matchers/have_attributes.feature +1 -2
  374. data/rspec-expectations/upstream/features/built_in_matchers/include.feature +74 -17
  375. data/rspec-expectations/upstream/features/built_in_matchers/match.feature +2 -2
  376. data/rspec-expectations/upstream/features/built_in_matchers/output.feature +67 -4
  377. data/rspec-expectations/upstream/features/built_in_matchers/predicates.feature +56 -19
  378. data/rspec-expectations/upstream/features/built_in_matchers/raise_error.feature +16 -2
  379. data/rspec-expectations/upstream/features/built_in_matchers/respond_to.feature +191 -3
  380. data/rspec-expectations/upstream/features/built_in_matchers/satisfy.feature +17 -8
  381. data/rspec-expectations/upstream/features/built_in_matchers/throw_symbol.feature +1 -1
  382. data/rspec-expectations/upstream/features/built_in_matchers/types.feature +34 -34
  383. data/rspec-expectations/upstream/features/built_in_matchers/yield.feature +2 -2
  384. data/rspec-expectations/upstream/features/composing_matchers.feature +4 -4
  385. data/rspec-expectations/upstream/features/custom_matchers/define_block_matcher.feature +78 -0
  386. data/rspec-expectations/upstream/features/custom_matchers/define_diffable_matcher.feature +115 -3
  387. data/rspec-expectations/upstream/features/custom_matchers/define_matcher.feature +173 -21
  388. data/rspec-expectations/upstream/features/custom_matchers/define_matcher_with_fluent_interface.feature +21 -2
  389. data/rspec-expectations/upstream/features/define_negated_matcher.feature +2 -1
  390. data/rspec-expectations/upstream/features/diffing.feature +29 -1
  391. data/rspec-expectations/upstream/features/implicit_docstrings.feature +8 -8
  392. data/rspec-expectations/upstream/features/step_definitions/additional_cli_steps.rb +11 -7
  393. data/rspec-expectations/upstream/features/support/diff_lcs_versions.rb +25 -0
  394. data/rspec-expectations/upstream/features/support/disallow_certain_apis.rb +3 -3
  395. data/rspec-expectations/upstream/features/support/env.rb +11 -11
  396. data/rspec-expectations/upstream/features/support/rubinius.rb +1 -1
  397. data/rspec-expectations/upstream/features/support/ruby_features.rb +39 -0
  398. data/rspec-expectations/upstream/features/syntax_configuration.feature +9 -9
  399. data/rspec-expectations/upstream/features/test_frameworks/minitest.feature +69 -2
  400. data/rspec-expectations/upstream/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  401. data/rspec-expectations/upstream/lib/rspec/expectations/configuration.rb +84 -1
  402. data/rspec-expectations/upstream/lib/rspec/expectations/expectation_target.rb +82 -38
  403. data/rspec-expectations/upstream/lib/rspec/expectations/fail_with.rb +11 -6
  404. data/rspec-expectations/upstream/lib/rspec/expectations/failure_aggregator.rb +212 -0
  405. data/rspec-expectations/upstream/lib/rspec/expectations/handler.rb +27 -12
  406. data/rspec-expectations/upstream/lib/rspec/expectations/minitest_integration.rb +43 -2
  407. data/rspec-expectations/upstream/lib/rspec/expectations/syntax.rb +5 -5
  408. data/rspec-expectations/upstream/lib/rspec/expectations/version.rb +1 -1
  409. data/rspec-expectations/upstream/lib/rspec/expectations.rb +15 -1
  410. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/all.rb +1 -0
  411. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/base_matcher.rb +77 -11
  412. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be.rb +28 -114
  413. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_between.rb +1 -1
  414. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_instance_of.rb +5 -1
  415. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_kind_of.rb +5 -1
  416. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_within.rb +4 -4
  417. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/change.rb +168 -55
  418. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/compound.rb +61 -29
  419. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/contain_exactly.rb +73 -12
  420. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  421. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eq.rb +3 -38
  422. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eql.rb +2 -2
  423. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/equal.rb +3 -3
  424. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/exist.rb +7 -3
  425. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/has.rb +90 -24
  426. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/have_attributes.rb +37 -7
  427. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/include.rb +124 -23
  428. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/match.rb +79 -2
  429. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/operators.rb +14 -5
  430. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/output.rb +56 -1
  431. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/raise_error.rb +126 -29
  432. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/respond_to.rb +118 -9
  433. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/satisfy.rb +28 -7
  434. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/{start_and_end_with.rb → start_or_end_with.rb} +20 -8
  435. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/throw_symbol.rb +11 -5
  436. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/yield.rb +110 -155
  437. data/rspec-expectations/upstream/lib/rspec/matchers/built_in.rb +4 -3
  438. data/rspec-expectations/upstream/lib/rspec/matchers/composable.rb +23 -35
  439. data/rspec-expectations/upstream/lib/rspec/matchers/dsl.rb +179 -26
  440. data/rspec-expectations/upstream/lib/rspec/matchers/english_phrasing.rb +58 -0
  441. data/rspec-expectations/upstream/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  442. data/rspec-expectations/upstream/lib/rspec/matchers/fail_matchers.rb +42 -0
  443. data/rspec-expectations/upstream/lib/rspec/matchers/generated_descriptions.rb +1 -2
  444. data/rspec-expectations/upstream/lib/rspec/matchers/matcher_delegator.rb +2 -0
  445. data/rspec-expectations/upstream/lib/rspec/matchers/matcher_protocol.rb +72 -66
  446. data/rspec-expectations/upstream/lib/rspec/matchers.rb +227 -150
  447. data/rspec-expectations/upstream/maintenance-branch +1 -1
  448. data/rspec-expectations/upstream/rspec-expectations.gemspec +13 -8
  449. data/rspec-expectations/upstream/script/ci_functions.sh +73 -0
  450. data/rspec-expectations/upstream/script/clone_all_rspec_repos +2 -2
  451. data/rspec-expectations/upstream/script/cucumber.sh +8 -0
  452. data/rspec-expectations/upstream/script/functions.sh +125 -89
  453. data/rspec-expectations/upstream/script/legacy_setup.sh +20 -0
  454. data/rspec-expectations/upstream/script/predicate_functions.sh +162 -0
  455. data/rspec-expectations/upstream/script/run_build +14 -9
  456. data/rspec-expectations/upstream/script/run_rubocop +14 -0
  457. data/rspec-expectations/upstream/script/update_rubygems_and_install_bundler +20 -0
  458. data/rspec-mocks/upstream/.document +1 -1
  459. data/rspec-mocks/upstream/.github/FUNDING.yml +5 -0
  460. data/rspec-mocks/upstream/.github/workflows/ci.yml +150 -0
  461. data/rspec-mocks/upstream/.gitignore +2 -0
  462. data/rspec-mocks/upstream/.rubocop.yml +28 -9
  463. data/rspec-mocks/upstream/.rubocop_rspec_base.yml +224 -38
  464. data/rspec-mocks/upstream/.rubocop_todo.yml +573 -0
  465. data/rspec-mocks/upstream/.yardopts +1 -1
  466. data/rspec-mocks/upstream/BUILD_DETAIL.md +149 -0
  467. data/rspec-mocks/upstream/CODE_OF_CONDUCT.md +59 -0
  468. data/rspec-mocks/upstream/CONTRIBUTING.md +86 -0
  469. data/rspec-mocks/upstream/Changelog.md +398 -3
  470. data/rspec-mocks/upstream/DEV-README.md +3 -3
  471. data/rspec-mocks/upstream/DEVELOPMENT.md +131 -0
  472. data/rspec-mocks/upstream/Gemfile +77 -10
  473. data/rspec-mocks/upstream/ISSUE_TEMPLATE.md +24 -0
  474. data/{rspec-expectations/upstream/License.txt → rspec-mocks/upstream/LICENSE.md} +5 -4
  475. data/rspec-mocks/upstream/README.md +83 -17
  476. data/rspec-mocks/upstream/REPORT_TEMPLATE.md +43 -0
  477. data/rspec-mocks/upstream/Rakefile +3 -3
  478. data/rspec-mocks/upstream/benchmarks/accessing_configuration_via_method_vs_cache.rb +52 -0
  479. data/rspec-mocks/upstream/benchmarks/allocations/1_object_1000_mocks.rb +76 -0
  480. data/rspec-mocks/upstream/benchmarks/allocations/helper.rb +17 -0
  481. data/rspec-mocks/upstream/benchmarks/each_value_v_values_each.rb +4 -5
  482. data/rspec-mocks/upstream/benchmarks/find_original_method_early.rb +1 -1
  483. data/rspec-mocks/upstream/benchmarks/method_defined_at_any_visibility.rb +3 -3
  484. data/rspec-mocks/upstream/benchmarks/thread_safety.rb +1 -1
  485. data/rspec-mocks/upstream/benchmarks/transfer_nested_constants.rb +1 -1
  486. data/rspec-mocks/upstream/cucumber.yml +8 -1
  487. data/rspec-mocks/upstream/features/.nav +2 -0
  488. data/rspec-mocks/upstream/features/basics/allowing_messages.feature +1 -1
  489. data/rspec-mocks/upstream/features/basics/expecting_messages.feature +40 -1
  490. data/rspec-mocks/upstream/features/basics/null_object_doubles.feature +1 -1
  491. data/rspec-mocks/upstream/features/basics/partial_test_doubles.feature +1 -1
  492. data/rspec-mocks/upstream/features/basics/scope.feature +5 -5
  493. data/rspec-mocks/upstream/features/basics/spies.feature +17 -30
  494. data/rspec-mocks/upstream/features/basics/test_doubles.feature +4 -4
  495. data/rspec-mocks/upstream/features/configuring_responses/README.md +2 -0
  496. data/rspec-mocks/upstream/features/configuring_responses/calling_the_original_implementation.feature +2 -2
  497. data/rspec-mocks/upstream/features/configuring_responses/mixed_responses.feature +25 -0
  498. data/rspec-mocks/upstream/features/configuring_responses/raising_an_error.feature +1 -0
  499. data/rspec-mocks/upstream/features/configuring_responses/wrapping_the_original_implementation.feature +3 -3
  500. data/rspec-mocks/upstream/features/configuring_responses/yielding.feature +2 -2
  501. data/rspec-mocks/upstream/features/mutating_constants/README.md +1 -1
  502. data/rspec-mocks/upstream/features/old_syntax/any_instance.feature +3 -3
  503. data/rspec-mocks/upstream/features/old_syntax/should_receive.feature +3 -1
  504. data/rspec-mocks/upstream/features/outside_rspec/any_test_framework.feature +116 -0
  505. data/rspec-mocks/upstream/features/outside_rspec/minitest.feature +202 -46
  506. data/rspec-mocks/upstream/features/outside_rspec/standalone.feature +5 -5
  507. data/rspec-mocks/upstream/features/setting_constraints/matching_arguments.feature +54 -27
  508. data/rspec-mocks/upstream/features/setting_constraints/message_order.feature +2 -2
  509. data/rspec-mocks/upstream/features/setting_constraints/receive_counts.feature +18 -0
  510. data/rspec-mocks/upstream/features/step_definitions/additional_cli_steps.rb +4 -4
  511. data/rspec-mocks/upstream/features/support/disallow_certain_apis.rb +3 -2
  512. data/rspec-mocks/upstream/features/support/env.rb +12 -12
  513. data/rspec-mocks/upstream/features/support/rubinius.rb +1 -1
  514. data/rspec-mocks/upstream/features/verifying_doubles/README.md +2 -2
  515. data/rspec-mocks/upstream/features/verifying_doubles/class_doubles.feature +1 -1
  516. data/rspec-mocks/upstream/features/verifying_doubles/dynamic_classes.feature +41 -5
  517. data/rspec-mocks/upstream/features/verifying_doubles/instance_doubles.feature +5 -3
  518. data/rspec-mocks/upstream/features/working_with_legacy_code/any_instance.feature +8 -6
  519. data/rspec-mocks/upstream/features/working_with_legacy_code/message_chains.feature +16 -1
  520. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/chain.rb +3 -1
  521. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  522. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expect_chain_chain.rb +1 -5
  523. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expectation_chain.rb +7 -5
  524. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/message_chains.rb +1 -3
  525. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/recorder.rb +42 -14
  526. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain.rb +13 -7
  527. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain_chain.rb +1 -5
  528. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance.rb +1 -0
  529. data/rspec-mocks/upstream/lib/rspec/mocks/argument_list_matcher.rb +53 -10
  530. data/rspec-mocks/upstream/lib/rspec/mocks/argument_matchers.rb +66 -26
  531. data/rspec-mocks/upstream/lib/rspec/mocks/configuration.rb +59 -4
  532. data/rspec-mocks/upstream/lib/rspec/mocks/error_generator.rb +235 -108
  533. data/rspec-mocks/upstream/lib/rspec/mocks/example_methods.rb +82 -27
  534. data/rspec-mocks/upstream/lib/rspec/mocks/instance_method_stasher.rb +12 -1
  535. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/have_received.rb +30 -17
  536. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive.rb +28 -1
  537. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_message_chain.rb +17 -1
  538. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_messages.rb +6 -0
  539. data/rspec-mocks/upstream/lib/rspec/mocks/message_chain.rb +0 -4
  540. data/rspec-mocks/upstream/lib/rspec/mocks/message_expectation.rb +430 -304
  541. data/rspec-mocks/upstream/lib/rspec/mocks/method_double.rb +46 -15
  542. data/rspec-mocks/upstream/lib/rspec/mocks/method_reference.rb +78 -19
  543. data/rspec-mocks/upstream/lib/rspec/mocks/minitest_integration.rb +68 -0
  544. data/rspec-mocks/upstream/lib/rspec/mocks/mutate_const.rb +23 -8
  545. data/rspec-mocks/upstream/lib/rspec/mocks/object_reference.rb +81 -23
  546. data/rspec-mocks/upstream/lib/rspec/mocks/proxy.rb +135 -41
  547. data/rspec-mocks/upstream/lib/rspec/mocks/space.rb +33 -16
  548. data/rspec-mocks/upstream/lib/rspec/mocks/standalone.rb +1 -1
  549. data/rspec-mocks/upstream/lib/rspec/mocks/syntax.rb +18 -22
  550. data/rspec-mocks/upstream/lib/rspec/mocks/targets.rb +51 -24
  551. data/rspec-mocks/upstream/lib/rspec/mocks/test_double.rb +42 -6
  552. data/rspec-mocks/upstream/lib/rspec/mocks/verifying_double.rb +15 -21
  553. data/rspec-mocks/upstream/lib/rspec/mocks/{verifying_message_expecation.rb → verifying_message_expectation.rb} +11 -18
  554. data/rspec-mocks/upstream/lib/rspec/mocks/verifying_proxy.rb +60 -11
  555. data/rspec-mocks/upstream/lib/rspec/mocks/version.rb +1 -1
  556. data/rspec-mocks/upstream/lib/rspec/mocks.rb +8 -1
  557. data/rspec-mocks/upstream/maintenance-branch +1 -1
  558. data/rspec-mocks/upstream/rspec-mocks.gemspec +14 -6
  559. data/rspec-mocks/upstream/script/ci_functions.sh +73 -0
  560. data/rspec-mocks/upstream/script/clone_all_rspec_repos +2 -2
  561. data/rspec-mocks/upstream/script/cucumber.sh +8 -0
  562. data/rspec-mocks/upstream/script/functions.sh +125 -89
  563. data/rspec-mocks/upstream/script/legacy_setup.sh +20 -0
  564. data/rspec-mocks/upstream/script/predicate_functions.sh +162 -0
  565. data/rspec-mocks/upstream/script/run_build +14 -9
  566. data/rspec-mocks/upstream/script/run_rubocop +14 -0
  567. data/rspec-mocks/upstream/script/update_rubygems_and_install_bundler +20 -0
  568. data/{stubs/diff/lcs/assertions.rb → rspec-mocks/upstream/tmp/.gitkeep} +0 -0
  569. data/rspec-support/upstream/.github/FUNDING.yml +5 -0
  570. data/rspec-support/upstream/.github/workflows/ci.yml +150 -0
  571. data/rspec-support/upstream/.gitignore +4 -0
  572. data/rspec-support/upstream/.rubocop.yml +33 -1
  573. data/rspec-support/upstream/.rubocop_rspec_base.yml +224 -38
  574. data/rspec-support/upstream/.rubocop_todo.yml +424 -0
  575. data/rspec-support/upstream/BUILD_DETAIL.md +149 -0
  576. data/rspec-support/upstream/CODE_OF_CONDUCT.md +59 -0
  577. data/rspec-support/upstream/CONTRIBUTING.md +86 -0
  578. data/rspec-support/upstream/Changelog.md +287 -0
  579. data/rspec-support/upstream/DEVELOPMENT.md +131 -0
  580. data/rspec-support/upstream/Gemfile +52 -4
  581. data/rspec-support/upstream/ISSUE_TEMPLATE.md +24 -0
  582. data/rspec-support/upstream/{LICENSE.txt → LICENSE.md} +3 -2
  583. data/rspec-support/upstream/README.md +29 -6
  584. data/rspec-support/upstream/REPORT_TEMPLATE.md +43 -0
  585. data/rspec-support/upstream/Rakefile +9 -5
  586. data/rspec-support/upstream/benchmarks/caller_vs_caller_locations.rb +19 -0
  587. data/rspec-support/upstream/benchmarks/caller_vs_caller_locations_vs_raise.rb +153 -0
  588. data/rspec-support/upstream/benchmarks/class_exec_vs_klass_exec.rb +43 -0
  589. data/rspec-support/upstream/benchmarks/map_hash.rb +70 -0
  590. data/rspec-support/upstream/benchmarks/ripper.rb +44 -0
  591. data/rspec-support/upstream/benchmarks/skip_frames_for_caller_filter.rb +27 -0
  592. data/rspec-support/upstream/lib/rspec/support/caller_filter.rb +35 -15
  593. data/rspec-support/upstream/lib/rspec/support/comparable_version.rb +46 -0
  594. data/rspec-support/upstream/lib/rspec/support/differ.rb +35 -34
  595. data/rspec-support/upstream/lib/rspec/support/directory_maker.rb +3 -1
  596. data/rspec-support/upstream/lib/rspec/support/encoded_string.rb +103 -11
  597. data/rspec-support/upstream/lib/rspec/support/fuzzy_matcher.rb +5 -5
  598. data/rspec-support/upstream/lib/rspec/support/matcher_definition.rb +11 -0
  599. data/rspec-support/upstream/lib/rspec/support/method_signature_verifier.rb +192 -26
  600. data/rspec-support/upstream/lib/rspec/support/mutex.rb +73 -0
  601. data/rspec-support/upstream/lib/rspec/support/object_formatter.rb +275 -0
  602. data/rspec-support/upstream/lib/rspec/support/recursive_const_methods.rb +1 -1
  603. data/rspec-support/upstream/lib/rspec/support/reentrant_mutex.rb +78 -0
  604. data/rspec-support/upstream/lib/rspec/support/ruby_features.rb +168 -15
  605. data/rspec-support/upstream/lib/rspec/support/source/location.rb +21 -0
  606. data/rspec-support/upstream/lib/rspec/support/source/node.rb +110 -0
  607. data/rspec-support/upstream/lib/rspec/support/source/token.rb +94 -0
  608. data/rspec-support/upstream/lib/rspec/support/source.rb +85 -0
  609. data/rspec-support/upstream/lib/rspec/support/spec/deprecation_helpers.rb +17 -29
  610. data/rspec-support/upstream/lib/rspec/support/spec/diff_helpers.rb +31 -0
  611. data/rspec-support/upstream/lib/rspec/support/spec/in_sub_process.rb +41 -17
  612. data/rspec-support/upstream/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  613. data/rspec-support/upstream/lib/rspec/support/spec/shell_out.rb +39 -3
  614. data/rspec-support/upstream/lib/rspec/support/spec/stderr_splitter.rb +27 -4
  615. data/rspec-support/upstream/lib/rspec/support/spec/string_matcher.rb +45 -0
  616. data/rspec-support/upstream/lib/rspec/support/spec/with_isolated_directory.rb +5 -1
  617. data/rspec-support/upstream/lib/rspec/support/spec.rb +17 -7
  618. data/rspec-support/upstream/lib/rspec/support/version.rb +1 -1
  619. data/rspec-support/upstream/lib/rspec/support/warnings.rb +3 -3
  620. data/rspec-support/upstream/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  621. data/rspec-support/upstream/lib/rspec/support.rb +81 -3
  622. data/rspec-support/upstream/maintenance-branch +1 -1
  623. data/rspec-support/upstream/rspec-support.gemspec +10 -4
  624. data/rspec-support/upstream/script/ci_functions.sh +73 -0
  625. data/rspec-support/upstream/script/clone_all_rspec_repos +2 -2
  626. data/rspec-support/upstream/script/cucumber.sh +8 -0
  627. data/rspec-support/upstream/script/functions.sh +125 -89
  628. data/rspec-support/upstream/script/legacy_setup.sh +20 -0
  629. data/rspec-support/upstream/script/predicate_functions.sh +162 -0
  630. data/rspec-support/upstream/script/run_build +14 -9
  631. data/rspec-support/upstream/script/run_rubocop +14 -0
  632. data/rspec-support/upstream/script/update_rubygems_and_install_bundler +20 -0
  633. data/stubs/{diff/lcs/block.rb → coderay.rb} +0 -0
  634. data/stubs/{diff/lcs/callbacks.rb → drb/acl.rb} +0 -0
  635. data/stubs/{diff/lcs/change.rb → erb/version.rb} +0 -0
  636. data/stubs/{diff/lcs/hunk.rb → open3.rb} +0 -0
  637. data/stubs/{diff/lcs/internals.rb → psych.rb} +0 -0
  638. data/stubs/{optparse.rb → ripper.rb} +0 -0
  639. data/stubs/{prettyprint.rb → thread_order.rb} +0 -0
  640. data/tasks/testing.rake +7 -3
  641. metadata +270 -75
  642. data/gemfiles/.bundle/config +0 -2
  643. data/gemfiles/opal_0.11.gemfile +0 -14
  644. data/gemfiles/opal_master.gemfile +0 -14
  645. data/lib-opal/opal/rspec/async/core_ext.rb +0 -23
  646. data/lib-opal/opal/rspec/async/legacy.rb +0 -49
  647. data/lib-opal/opal/rspec/fixes/rspec/caller_filter.rb +0 -6
  648. data/lib-opal/opal/rspec/fixes/rspec/core/example.rb +0 -20
  649. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/backtrace_formatter.rb +0 -20
  650. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/console_codes.rb +0 -11
  651. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/generated_deprecation_message.rb +0 -15
  652. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/json_formatter.rb +0 -15
  653. data/lib-opal/opal/rspec/fixes/rspec/core/notifications/failed_example_notification.rb +0 -20
  654. data/lib-opal/opal/rspec/fixes/rspec/core/notifications/summary_notification.rb +0 -21
  655. data/lib-opal/opal/rspec/fixes/rspec/core/warnings.rb +0 -27
  656. data/lib-opal/opal/rspec/fixes/rspec/expectations/fail_with.rb +0 -21
  657. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/all.rb +0 -10
  658. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/compound.rb +0 -15
  659. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/yield.rb +0 -21
  660. data/lib-opal/opal/rspec/fixes/rspec/matchers/pretty.rb +0 -15
  661. data/lib-opal/opal/rspec/fixes/rspec/mocks/space.rb +0 -41
  662. data/lib-opal/opal/rspec/fixes/rspec/mocks/test_double.rb +0 -39
  663. data/lib-opal/opal/rspec/fixes/rspec/mocks/verifying_double.rb +0 -29
  664. data/lib-opal/opal/rspec/fixes/rspec/support/recursive_const_methods.rb +0 -7
  665. data/lib-opal/opal/rspec/fixes/rspec/support/spec/stderr_splitter.rb +0 -13
  666. data/lib-opal/opal/rspec/fixes/rspec/support/spec.rb +0 -1
  667. data/lib-opal/opal/rspec/fixes/rspec/support/warnings.rb +0 -16
  668. data/rspec/upstream/License.txt +0 -24
  669. data/rspec-core/upstream/.travis.yml +0 -35
  670. data/rspec-core/upstream/benchmarks/sort_by_v_shuffle.rb +0 -83
  671. data/rspec-core/upstream/features/Upgrade.md +0 -352
  672. data/rspec-core/upstream/lib/rspec/core/backport_random.rb +0 -336
  673. data/rspec-expectations/upstream/.travis.yml +0 -35
  674. data/rspec-expectations/upstream/lib/rspec/matchers/pretty.rb +0 -77
  675. data/rspec-mocks/upstream/.travis.yml +0 -35
  676. data/rspec-support/upstream/.travis.yml +0 -35
  677. data/rspec-support/upstream/lib/rspec/support/os.rb +0 -18
  678. data/rspec-support/upstream/lib/rspec/support/spec/prevent_load_time_warnings.rb +0 -44
  679. data/rspec-support/upstream/lib/rspec/support/version_checker.rb +0 -53
  680. data/stubs/shellwords.rb +0 -0
  681. data/stubs/uri.rb +0 -0
  682. data/vendor/spec_runner.js +0 -64
@@ -1,3 +1,718 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.12.0...main)
3
+
4
+ ### 3.12.0 / 2022-10-26
5
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.11.0...v3.12.0)
6
+
7
+ * No changes, released to support other gems.
8
+
9
+ ### 3.11.0 / 2022-02-09
10
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.2...v3.11.0)
11
+
12
+ Enhancements:
13
+
14
+ * Improve pluralisation of words ending with `s` (like process). (Joshua Pinter, #2779)
15
+ * Add ordering by file modification time (most recent first). (Matheus Richard, #2778)
16
+ * Add `to_s` to reserved names for #let and #subject. (Nick Flückiger, #2886)
17
+ * Introduce `RSpec.current_scope` to expose the current scope in which
18
+ RSpec is executing. e.g. `:before_example_hook`, `:example` etc. (@odinhb, #2895)
19
+ * Add named bold colours as options for custom colours. (#2913, #2914)
20
+ * Warn when (but not prevent) a `SystemExit` occurs. (Jared Beck, #2926)
21
+
22
+ ### 3.10.2 / 2022-01-27
23
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.1...v3.10.2)
24
+
25
+ Bug fixes:
26
+
27
+ * Ensure bisect communication uses consistent encoding. (Mike Jarema, #2852)
28
+ * Fix exception presenter when the root cause exception has nil backtrace.
29
+ (Zinovyev Ivan, #2903)
30
+ * Fix `inspect` output of `RSpec::Core::Example::Procsy` to namespace correctly.
31
+ (Keiko Kaneko, #2915)
32
+ * Ensure formatters not exposing `#output` will not crash duplicate check.
33
+ (@niceking, #2916)
34
+
35
+ ### 3.10.1 / 2020-12-27
36
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.0...v3.10.1)
37
+
38
+ Bug fixes:
39
+
40
+ * RSpec warning output was missing deprecations from Ruby, these are now included.
41
+ (Jon Rowe, #2811)
42
+
43
+ ### 3.10.0 / 2020-10-30
44
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.3...v3.10.0)
45
+
46
+ Enhancements:
47
+
48
+ * Memoize `RSpec::Core::Formatters::ExceptionPresenter#exception_lines` to improve performance
49
+ with slow exception messages. (Maxime Lapointe, #2743)
50
+ * Add configuration for an error exit code (to disambiguate errored builds from failed builds
51
+ by exit status). (Dana Sherson, #2749)
52
+
53
+ ### 3.9.3 / 2020-09-30
54
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.2...v3.9.3)
55
+
56
+ Bug Fixes:
57
+
58
+ * Declare `ruby2_keywords` on `method_missing` for other gems. (Jon Rowe, #2731)
59
+ * Ensure custom error codes are returned from bisect runs. (Jon Rowe, #2732)
60
+ * Ensure `RSpec::Core::Configuration` predicate config methods return booleans.
61
+ (Marc-André Lafortune, #2736)
62
+ * Prevent `rspec --bisect` from generating zombie processes while executing
63
+ bisect runs. (Benoit Tigeot, Jon Rowe, #2739)
64
+ * Predicates for pending examples, (in `RSpec::Core::Example`, `#pending?`, `#skipped?` and
65
+ `#pending_fixed?`) now return boolean values rather than truthy values.
66
+ (Marc-André Lafortune, #2756, #2758)
67
+ * Exceptions which have a message which cannot be cast to a string will no longer
68
+ cause a crash. (Jon Rowe, #2761)
69
+
70
+ ### 3.9.2 / 2020-05-02
71
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.1...v3.9.2)
72
+
73
+ Bug Fixes:
74
+
75
+ * Emit a warning when `around` hook is used with `:context` scope
76
+ (Phil Pirozhkov, #2687)
77
+ * Prevent invalid implementations of `Exception#cause` from being treated as a
78
+ valid cause (and causing strange errors) in `RSpec::Core::Formatters::ExceptionPresenter`.
79
+ (Jon Rowe, #2703)
80
+ * Correctly detect patterns when `rspec_opts` is an array in `RSpec::Core::RakeTask`.
81
+ (Marc-André Lafortune, #2704)
82
+ * Make `RSpec.clear_examples` reset example counts for example groups. This fixes
83
+ an issue with re-running specs not matching ids. (Agis Anastasopoulos, #2723)
84
+
85
+ ### 3.9.1 / 2019-12-28
86
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.0...v3.9.1)
87
+
88
+ Bug Fixes:
89
+
90
+ * Prevent bisect command from blocking when number of specs exceeds file
91
+ descriptor limit on OSX or Linux. (Benoit Tigeot, #2669)
92
+ * Prevent warnings being issued on Ruby 2.7.0. (Jon Rowe, #2680)
93
+
94
+ ### 3.9.0 / 2019-10-07
95
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.2...v3.9.0)
96
+
97
+ Enhancements:
98
+
99
+ * Improve the handling of errors during loading support files, if a file
100
+ errors before loading specs, RSpec will now skip loading the specs.
101
+ (David Rodríguez, #2568)
102
+ * Add support for --example-matches to run examples by regular expression.
103
+ (Sam Joseph, Matt Rider, @okothkongo1, #2586)
104
+ * Add `did_you_mean` suggestions for file names encountering a `LoadError`
105
+ outside of examples. (@obromios, #2601)
106
+ * Add a minimalist quick fix style formatter, only outputs failures as
107
+ `file:line:message`. (Romain Tartière, #2614)
108
+ * Convert string number values to integer when used for `RSpec::Configuration#fail_fast`
109
+ (Viktor Fonic, #2634)
110
+ * Issue warning when invalid values are used for `RSpec::Configuration#fail_fast`
111
+ (Viktor Fonic, #2634)
112
+ * Add support for running the Rake task in a clean environment.
113
+ (Jon Rowe, #2632)
114
+ * Indent messages by there example group / example in the documentation formatter.
115
+ (Samuel Williams, #2649)
116
+
117
+ ### 3.8.2 / 2019-06-29
118
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.1...v3.8.2)
119
+
120
+ Bug Fixes:
121
+
122
+ * Fix `config.define_derived_metadata` so that cascades are not triggered
123
+ until metadata has been assigned to the example or example group
124
+ (Myron Marston, #2635).
125
+
126
+ ### 3.8.1 / 2019-06-13
127
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.0...v3.8.1)
128
+
129
+ Bug Fixes:
130
+
131
+ * Handle RSpec description(s) with japanese chars in CP932 encoded files.
132
+ (Benoit Tigeot, #2575)
133
+ * When defining `let` methods that overwrite an existing method, prevent
134
+ a warning being issued by removing the old definition. (Jon Rowe, #2593)
135
+ * Prevent warning on Ruby 2.6.0-rc1 (Keiji Yoshimi, #2582)
136
+ * Fix `config.define_derived_metadata` so that it supports cascades.
137
+ (Myron Marston, #2630).
138
+
139
+ ### 3.8.0 / 2018-08-04
140
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.7.1...v3.8.0)
141
+
142
+ Enhancements:
143
+
144
+ * Improve shell escaping used by `RSpec::Core::RakeTask` and `--bisect` so
145
+ that it works on `Pathname` objects. (Andrew Vit, #2479)
146
+ * Nicely format errors encountered while loading files specified
147
+ by `--require` option. (Myron Marston, #2504)
148
+ * Significantly improve the performance of `--bisect` on platforms that
149
+ support forking by replacing the shell-based runner with one that uses
150
+ forking so that RSpec and the application environment can be booted only
151
+ once, instead of once per spec run. (Myron Marston, #2511)
152
+ * Provide a configuration API to pick which bisect runner is used for
153
+ `--bisect`. Pick a runner via `config.bisect_runner = :shell` or
154
+ `config.bisect_runner = :fork` in a file loaded by a `--require`
155
+ option passed at the command line or set in `.rspec`. (Myron Marston, #2511)
156
+ * Support the [XDG Base Directory
157
+ Specification](https://specifications.freedesktop.org/basedir-spec/latest/)
158
+ for the global options file. `~/.rspec` is still supported when no
159
+ options file is found in `$XDG_CONFIG_HOME/rspec/options` (Magnus Bergmark, #2538)
160
+ * Extract `RSpec.world.prepare_example_filtering` that sets up the
161
+ example filtering for custom RSpec runners. (Oleg Pudeyev, #2552)
162
+
163
+ Bug Fixes:
164
+
165
+ * Prevent an `ArgumentError` when truncating backtraces with two identical
166
+ backtraces. (Systho, #2515, Benoit Tigeot, #2539)
167
+
168
+ ### 3.7.1 / 2018-01-02
169
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.7.0...v3.7.1)
170
+
171
+ Bug Fixes:
172
+
173
+ * Work around duplicate config hook regression introduced
174
+ by Ruby 2.5's lazy proc allocation. (Myron Marston, #2497)
175
+
176
+ ### 3.7.0 / 2017-10-17
177
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.6.0...v3.7.0)
178
+
179
+ Enhancements:
180
+
181
+ * Add `-n` alias for `--next-failure`. (Ian Ker-Seymer, #2434)
182
+ * Improve compatibility with `--enable-frozen-string-literal` option
183
+ on Ruby 2.3+. (Pat Allan, #2425, #2427, #2437)
184
+ * Do not run `:context` hooks for example groups that have been skipped.
185
+ (Devon Estes, #2442)
186
+ * Add `errors_outside_of_examples_count` to the JSON formatter.
187
+ (Takeshi Arabiki, #2448)
188
+
189
+ Bug Fixes:
190
+
191
+ * Improve compatibility with frozen string literal flag. (#2425, Pat Allan)
192
+
193
+ ### 3.6.0 / 2017-05-04
194
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.6.0.beta2...v3.6.0)
195
+
196
+ Enhancements:
197
+
198
+ * Add seed information to JSON formatter output. (#2388, Mitsutaka Mimura)
199
+ * Include example id in the JSON formatter output. (#2369, Xavier Shay)
200
+ * Respect changes to `config.output_stream` after formatters have been
201
+ setup. (#2401, #2419, Ilya Lavrov)
202
+
203
+ Bug Fixes:
204
+
205
+ * Delay formatter loading until the last minute to allow accessing the reporter
206
+ without triggering formatter setup. (Jon Rowe, #2243)
207
+ * Ensure context hook failures running before an example can access the
208
+ reporter. (Jon Jensen, #2387)
209
+ * Multiple fixes to allow using the runner multiple times within the same
210
+ process: `RSpec.clear_examples` resets the formatter and no longer clears
211
+ shared examples, and streams can be used across multiple runs rather than
212
+ being closed after the first. (#2368, Xavier Shay)
213
+ * Prevent unexpected `example_group_finished` notifications causing an error.
214
+ (#2396, VTJamie)
215
+ * Fix bugs where `config.when_first_matching_example_defined` hooks would fire
216
+ multiple times in some cases. (Yuji Nakayama, #2400)
217
+ * Default `last_run_status` to "unknown" when the `status` field in the
218
+ persistence file contains an unrecognized value. (#2360, matrinox)
219
+ * Prevent `let` from defining an `initialize` method. (#2414, Jon Rowe)
220
+
221
+ ### 3.6.0.beta2 / 2016-12-12
222
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.6.0.beta1...v3.6.0.beta2)
223
+
224
+ Enhancements:
225
+
226
+ * Include count of errors occurring outside examples in default summaries.
227
+ (#2351, Jon Rowe)
228
+ * Warn when including shared example groups recursively. (#2356, Jon Rowe)
229
+ * Improve failure snippet syntax highlighting with CodeRay to highlight
230
+ RSpec "keywords" like `expect`. (#2358, Myron Marston)
231
+
232
+ ### 3.6.0.beta1 / 2016-10-09
233
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.4...v3.6.0.beta1)
234
+
235
+ Enhancements:
236
+
237
+ * Warn when duplicate shared examples definitions are loaded due to being
238
+ defined in files matching the spec pattern (e.g. `_spec.rb`) (#2278, Devon Estes)
239
+ * Improve metadata filtering so that it can match against any object
240
+ that implements `===` instead of treating regular expressions as
241
+ special. (Myron Marston, #2294)
242
+ * Improve `rspec -v` so that it prints out the versions of each part of
243
+ RSpec to prevent confusion. (Myron Marston, #2304)
244
+ * Add `config.fail_if_no_examples` option which causes RSpec to fail if
245
+ no examples are found. (Ewa Czechowska, #2302)
246
+ * Nicely format errors encountered while loading spec files.
247
+ (Myron Marston, #2323)
248
+ * Improve the API for enabling and disabling color output (Josh
249
+ Justice, #2321):
250
+ * Automatically enable color if the output is a TTY, since color is
251
+ nearly always desirable if the output can handle it.
252
+ * Introduce new CLI flag to force color on (`--force-color`), even
253
+ if the output is not a TTY. `--no-color` continues to work as well.
254
+ * Introduce `config.color_mode` for configuring the color from Ruby.
255
+ `:automatic` is the default and will produce color if the output is
256
+ a TTY. `:on` forces it on and `:off` forces it off.
257
+
258
+ ### 3.5.4 / 2016-09-30
259
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.3...v3.5.4)
260
+
261
+ Bug Fixes:
262
+
263
+ * Remove accumulated `ExampleGroup` constants when reseting RSpec,
264
+ preventing a memory leak. (TravisSpangle, #2328)
265
+
266
+ ### 3.5.3 / 2016-09-02
267
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.2...v3.5.3)
268
+
269
+ Bug Fixes:
270
+
271
+ * When applying shared group metadata to a host group, overwrite
272
+ conflicting keys if the value in the host group was inherited from
273
+ a parent group instead of being specified at that level.
274
+ (Myron Marston, #2307)
275
+ * Handle errors in `:suite` hooks and provide the same nicely formatted
276
+ output as errors that happen in examples. (Myron Marston, #2316)
277
+ * Set the exit status to non-zero when an error occurs in an
278
+ `after(:context)` hook. (Myron Marston, #2320)
279
+
280
+ ### 3.5.2 / 2016-07-28
281
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.1...v3.5.2)
282
+
283
+ Bug Fixes:
284
+
285
+ * Wait to report `example_finished` until the example's `execution_result`
286
+ has been completely filled in. (Myron Marston, #2291)
287
+ * Make sure example block is still available when using `duplicate_with`
288
+ to clone examples. (bootstraponline, #2298)
289
+ * Don't include the default `--pattern` in the Rake task when
290
+ `rspec_opts` specifies its own. (Jon Rowe, #2305)
291
+
292
+ ### 3.5.1 / 2016-07-06
293
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0...v3.5.1)
294
+
295
+ Bug Fixes:
296
+
297
+ * Ensure that config hooks that are added to existing example groups are
298
+ added only once. (Eugene Kenny, #2280)
299
+
300
+ ### 3.5.0 / 2016-07-01
301
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta4...v3.5.0)
302
+
303
+ Enhancements:
304
+
305
+ * Include any `SPEC_OPTS` in reproduction command printed at the end of
306
+ a bisect run. (Simon Coffey, #2274)
307
+
308
+ Bug Fixes:
309
+
310
+ * Handle `--bisect` in `SPEC_OPTS` environment variable correctly so as
311
+ to avoid infinite recursion. (Simon Coffey, #2271)
312
+
313
+ ### 3.5.0.beta4 / 2016-06-05
314
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta3...v3.5.0.beta4)
315
+
316
+ Enhancements:
317
+
318
+ * Filter out bundler stackframes from backtraces by default, since
319
+ Bundler 1.12 now includes its own frames in stack traces produced
320
+ by using `bundle exec`. (Myron Marston, #2240)
321
+ * HTML Formatter uses exception presenter to get failure message
322
+ for consistency with other formatters. (@mrageh, #2222)
323
+ * Load spec files in the order of the directories or files passed
324
+ at the command line, making it easy to make some specs run before
325
+ others in a one-off manner. For example, `rspec spec/unit
326
+ spec/acceptance --order defined` will run unit specs before acceptance
327
+ specs. (Myron Marston, #2253)
328
+ * Add new `config.include_context` API for configuring global or
329
+ filtered inclusion of shared contexts in example groups.
330
+ (Myron Marston, #2256)
331
+ * Add new `config.shared_context_metadata_behavior = :apply_to_host_groups`
332
+ option, which causes shared context metadata to be inherited by the
333
+ metadata hash of all host groups and examples instead of configuring
334
+ implicit auto-inclusion based on the passed metadata. (Myron Marston, #2256)
335
+
336
+ Bug Fixes:
337
+
338
+ * Fix `--bisect` so it works on large spec suites that were previously triggering
339
+ "Argument list too long errors" due to all the spec locations being passed as
340
+ CLI args. (Matt Jones, #2223).
341
+ * Fix deprecated `:example_group`-based filtering so that it properly
342
+ applies to matching example groups. (Myron Marston, #2234)
343
+ * Fix `NoMethodError` caused by Java backtraces on JRuby. (Michele Piccirillo, #2244)
344
+
345
+ ### 3.5.0.beta3 / 2016-04-02
346
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta2...v3.5.0.beta3)
347
+
348
+ Enhancements:
349
+
350
+ * Add new `config.filter_run_when_matching` API, intended to replace
351
+ the combination of `config.filter_run` and
352
+ `config.run_all_when_everything_filtered` (Myron Marston, #2206)
353
+
354
+ Bug Fixes:
355
+
356
+ * Use the encoded string logic for source extraction. (Jon Rowe, #2183)
357
+ * Fix rounding issue in duration formatting helper. (Fabersky, Jon Rowe, #2208)
358
+ * Fix failure snippet extraction so that `def-end` snippets
359
+ ending with `end`-only line can be extracted properly.
360
+ (Yuji Nakayama, #2215)
361
+
362
+ ### 3.5.0.beta2 / 2016-03-10
363
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta1...v3.5.0.beta2)
364
+
365
+ Enhancements:
366
+
367
+ * Remove unneeded `:execution_result` example group metadata, saving a
368
+ bit of memory. (Myron Marston, #2172)
369
+ * Apply hooks registered with `config` to previously defined groups.
370
+ (Myron Marston, #2189)
371
+ * `RSpec::Core::Configuration#reporter` is now public API under SemVer.
372
+ (Jon Rowe, #2193)
373
+ * Add new `config.when_first_matching_example_defined` hook. (Myron
374
+ Marston, #2175)
375
+
376
+ ### 3.5.0.beta1 / 2016-02-06
377
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.4...v3.5.0.beta1)
378
+
379
+ Enhancements:
380
+
381
+ * Add `RSpec::Core::ExampleGroup.currently_executing_a_context_hook?`,
382
+ primarily for use by rspec-rails. (Sam Phippen, #2131)
383
+
384
+ Bug Fixes:
385
+
386
+ * Ensure `MultipleExceptionError` does not contain a recursive reference
387
+ to itself. (Sam Phippen, #2133)
388
+
389
+ ### 3.4.4 / 2016-03-09
390
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.3...v3.4.4)
391
+
392
+ Bug Fixes:
393
+
394
+ * Fix `RSpec::Core::RakeTask` so that it works with Rake 11.
395
+ (Travis Grathwell, #2197)
396
+
397
+ ### 3.4.3 / 2016-02-19
398
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.2...v3.4.3)
399
+
400
+ Bug Fixes:
401
+
402
+ * Prevent a `TypeError` from occurring when running via the rake task when
403
+ Ruby crashes. (Patrik Wenger, #2161)
404
+ * Only consider example and group declaration lines from a specific file
405
+ when applying line number filtering, instead of considering all
406
+ declaration lines from all spec files. (Myron Marston, #2170)
407
+ * Fix failure snippet extraction so that snippets that contain `do-end` style
408
+ block and end with `end`-only line can be extracted properly.
409
+ (Yuji Nakayama, #2173)
410
+ * Prevent infinite recursion when an exception is caused by itself.
411
+ (Jon Rowe, #2128)
412
+
413
+ ### 3.4.2 / 2016-01-26
414
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.1...v3.4.2)
415
+
416
+ Bug Fixes:
417
+
418
+ * Fix `rspec --profile` when an example calls `abort` or `exit`.
419
+ (Bradley Schaefer, #2144)
420
+ * Fix `--drb` so that when no DRb server is running, it prevents
421
+ the DRb connection error from being listed as the cause of all
422
+ expectation failures. (Myron Marston, #2156)
423
+ * Fix syntax highlighter so that it works when the `coderay` gem is
424
+ installed as a rubygem but not already available on your load path
425
+ (as happens when you use bundler). (Myron Marston, #2159)
426
+
427
+ ### 3.4.1 / 2015-11-18
428
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.0...v3.4.1)
429
+
430
+ Bug Fixes:
431
+
432
+ * Fix backtrace formatter to handle backtraces that are `nil`.
433
+ (Myron Marston, #2118)
434
+
435
+ ### 3.4.0 / 2015-11-11
436
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.3.2...v3.4.0)
437
+
438
+ Enhancements:
439
+
440
+ * Combine multiple `--pattern` arguments making them equivalent to
441
+ `--pattern=1,2,...,n`. (Jon Rowe, #2002)
442
+ * Improve `inspect` and `to_s` output for `RSpec::Core::Example`
443
+ objects, replacing Ruby's excessively verbose output. (Gavin Miller, #1922)
444
+ * Add `silence_filter_announcements` configuration option.
445
+ (David Raffensperger, #2007)
446
+ * Add optional `example_finished` notification to the reporter protocol for
447
+ when you don't care about the example outcome. (Jon Rowe, #2013)
448
+ * Switch `--bisect` to a recursion-based bisection algorithm rather than
449
+ a permutation-based one. This better handles cases where an example
450
+ depends upon multiple other examples instead of just one and minimizes
451
+ the number of runs necessary to determine that an example set cannot be
452
+ minimized further. (Simon Coffey, #1997)
453
+ * Allow simple filters (e.g. `:symbol` key only) to be triggered by truthey
454
+ values. (Tim Mertens, #2035)
455
+ * Remove unneeded warning about need for `ansicon` on Windows when using
456
+ RSpec's `--color` option. (Ashley Engelund, #2038)
457
+ * Add option to configure RSpec to raise errors when issuing warnings.
458
+ (Jon Rowe, #2052)
459
+ * Append the root `cause` of a failure or error to the printed failure
460
+ output when a `cause` is available. (Adam Magan)
461
+ * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
462
+ `SystemExit`. It is dangerous to interfere with these. (Myron Marston, #2063)
463
+ * Add `config.project_source_dirs` setting which RSpec uses to determine
464
+ if a backtrace line comes from your project source or from some
465
+ external library. It defaults to `spec`, `lib` and `app` but can be
466
+ configured differently. (Myron Marston, #2088)
467
+ * Improve failure line detection so that it looks for the failure line
468
+ in any project source directory instead of just in the spec file.
469
+ In addition, if no backtrace lines can be found from a project source
470
+ file, we fall back to displaying the source of the first backtrace
471
+ line. This should virtually eliminate the "Unable to find matching
472
+ line from backtrace" messages. (Myron Marston, #2088)
473
+ * Add support for `:extra_failure_lines` example metadata that will
474
+ be appended to the failure output. (bootstraponline, #2092).
475
+ * Add `RSpec::Core::Example#duplicate_with` to produce new examples
476
+ with cloned metadata. (bootstraponline, #2098)
477
+ * Add `RSpec::Core::Configuration#on_example_group_definition` to register
478
+ hooks to be invoked when example groups are created. (bootstraponline, #2094)
479
+ * Add `add_example` and `remove_example` to `RSpec::Core::ExampleGroup` to
480
+ allow manipulating an example groups examples. (bootstraponline, #2095)
481
+ * Display multiline failure source lines in failure output when Ripper is
482
+ available (MRI >= 1.9.2, and JRuby >= 1.7.5 && < 9.0.0.0.rc1).
483
+ (Yuji Nakayama, #2083)
484
+ * Add `max_displayed_failure_line_count` configuration option
485
+ (defaults to 10). (Yuji Nakayama, #2083)
486
+ * Enhance `fail_fast` option so it can take a number (e.g. `--fail-fast=3`)
487
+ to force the run to abort after the specified number of failures.
488
+ (Jack Scotti, #2065)
489
+ * Syntax highlight the failure snippets in text formatters when `color`
490
+ is enabled and the `coderay` gem is installed on a POSIX system.
491
+ (Myron Marston, #2109)
492
+
493
+ Bug Fixes:
494
+
495
+ * Lock `example_status_persistence_file` when reading from and writing
496
+ to it to prevent race conditions when multiple processes try to use
497
+ it. (Ben Woosley, #2029)
498
+ * Fix regression in 3.3 that caused spec file names with square brackets in
499
+ them (such as `1[]_spec.rb`) to not be loaded properly. (Myron Marston, #2041)
500
+ * Fix output encoding issue caused by ASCII literal on 1.9.3 (Jon Rowe, #2072)
501
+ * Fix requires in `rspec/core/rake_task.rb` to avoid double requires
502
+ seen by some users. (Myron Marston, #2101)
503
+
504
+ ### 3.3.2 / 2015-07-15
505
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.3.1...v3.3.2)
506
+
507
+ Bug Fixes:
508
+
509
+ * Fix formatters to handle exceptions for which `backtrace` returns `nil`.
510
+ (Myron Marston, #2023)
511
+ * Fix duplicate formatter detection so that it allows subclasses of formatters
512
+ to be added. (Sebastián Tello, #2019)
513
+
514
+ ### 3.3.1 / 2015-06-18
515
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.3.0...v3.3.1)
516
+
517
+ Bug Fixes:
518
+
519
+ * Correctly run `before(:suite)` (and friends) in the context of an example
520
+ group instance, thus making the expected RSpec environment available.
521
+ (Jon Rowe, #1986)
522
+
523
+ ### 3.3.0 / 2015-06-12
524
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.3...v3.3.0)
525
+
526
+ Enhancements:
527
+
528
+ * Expose the reporter used to run examples via `RSpec::Core::Example#reporter`.
529
+ (Jon Rowe, #1866)
530
+ * Make `RSpec::Core::Reporter#message` a public supported API. (Jon Rowe, #1866)
531
+ * Allow custom formatter events to be published via
532
+ `RSpec::Core::Reporter#publish(event_name, hash_of_attributes)`. (Jon Rowe, #1869)
533
+ * Remove dependency on the standard library `Set` and replace with `RSpec::Core::Set`.
534
+ (Jon Rowe, #1870)
535
+ * Assign a unique id to each example and group so that they can be
536
+ uniquely identified, even for shared examples (and similar situations)
537
+ where the location isn't unique. (Myron Marston, #1884)
538
+ * Use the example id in the rerun command printed for failed examples
539
+ when the location is not unique. (Myron Marston, #1884)
540
+ * Add `config.example_status_persistence_file_path` option, which is
541
+ used to persist the last run status of each example. (Myron Marston, #1888)
542
+ * Add `:last_run_status` metadata to each example, which indicates what
543
+ happened the last time an example ran. (Myron Marston, #1888)
544
+ * Add `--only-failures` CLI option which filters to only the examples
545
+ that failed the last time they ran. (Myron Marston, #1888)
546
+ * Add `--next-failure` CLI option which allows you to repeatedly focus
547
+ on just one of the currently failing examples, then move on to the
548
+ next failure, etc. (Myron Marston, #1888)
549
+ * Make `--order random` ordering stable, so that when you rerun a
550
+ subset with a given seed, the examples will be order consistently
551
+ relative to each other. (Myron Marston, #1908)
552
+ * Set example group constant earlier so errors when evaluating the context
553
+ include the example group name (Myron Marson, #1911)
554
+ * Make `let` and `subject` threadsafe. (Josh Cheek, #1858)
555
+ * Add version information into the JSON formatter. (Mark Swinson, #1883)
556
+ * Add `--bisect` CLI option, which will repeatedly run your suite in
557
+ order to isolate the failures to the smallest reproducible case.
558
+ (Myron Marston, #1917)
559
+ * For `config.include`, `config.extend` and `config.prepend`, apply the
560
+ module to previously defined matching example groups. (Eugene Kenny, #1935)
561
+ * When invalid options are parsed, notify users where they came from
562
+ (e.g. `.rspec` or `~/.rspec` or `ENV['SPEC_OPTS']`) so they can
563
+ easily find the source of the problem. (Myron Marston, #1940)
564
+ * Add pending message contents to the json formatter output. (Jon Rowe, #1949)
565
+ * Add shared group backtrace to the output displayed by the built-in
566
+ formatters for pending examples that have been fixed. (Myron Marston, #1946)
567
+ * Add support for `:aggregate_failures` metadata. Tag an example or
568
+ group with this metadata and it'll use rspec-expectations'
569
+ `aggregate_failures` feature to allow multiple failures in an example
570
+ and list them all, rather than aborting on the first failure. (Myron
571
+ Marston, #1946)
572
+ * When no formatter implements #message add a fallback to prevent those
573
+ messages being lost. (Jon Rowe, #1980)
574
+ * Profiling examples now takes into account time spent in `before(:context)`
575
+ hooks. (Denis Laliberté, Jon Rowe, #1971)
576
+ * Improve failure output when an example has multiple exceptions, such
577
+ as one from an `it` block and one from an `after` block. (Myron Marston, #1985)
578
+
579
+ Bug Fixes:
580
+
581
+ * Handle invalid UTF-8 strings within exception methods. (Benjamin Fleischer, #1760)
582
+ * Fix Rake Task quoting of file names with quotes to work properly on
583
+ Windows. (Myron Marston, #1887)
584
+ * Fix `RSpec::Core::RakeTask#failure_message` so that it gets printed
585
+ when the task failed. (Myron Marston, #1905)
586
+ * Make `let` work properly when defined in a shared context that is applied
587
+ to an individual example via metadata. (Myron Marston, #1912)
588
+ * Ensure `rspec/autorun` respects configuration defaults. (Jon Rowe, #1933)
589
+ * Prevent modules overriding example group defined methods when included,
590
+ prepended or extended by config defined after an example group. (Eugene Kenny, #1935)
591
+ * Fix regression which caused shared examples to be mistakenly run when specs
592
+ where filtered to a particular location. (Ben Axnick, #1963)
593
+ * Fix time formatting logic so that it displays 70 seconds as "1 minute,
594
+ 10 seconds" rather than "1 minute, 1 second". (Paul Brennan, #1984)
595
+ * Fix regression where the formatter loader would allow duplicate formatters.
596
+ (Jon Rowe, #1990)
597
+
598
+ ### 3.2.3 / 2015-04-06
599
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.2...v3.2.3)
600
+
601
+ Bug Fixes:
602
+
603
+ * Fix how the DSL methods are defined so that RSpec is compatible with
604
+ gems that define methods of the same name on `Kernel` (such as
605
+ the `its-it` gem). (Alex Kwiatkowski, Ryan Ong, #1907)
606
+ * Fix `before(:context) { skip }` so that it does not wrongly cause the
607
+ spec suite to exit with a non-zero status when no examples failed.
608
+ (Myron Marston, #1926)
609
+
610
+ ### 3.2.2 / 2015-03-11
611
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.1...v3.2.2)
612
+
613
+ Bug Fixes:
614
+
615
+ * Fix regression in 3.2.0 that allowed tag-filtered examples to
616
+ run even if there was a location filter applied to the spec
617
+ file that was intended to limit the file to other examples.
618
+ (#1894, Myron Marston)
619
+
620
+ ### 3.2.1 / 2015-02-23
621
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.0...v3.2.1)
622
+
623
+ Bug Fixes:
624
+
625
+ * Notify start-of-run seed _before_ `start` notification rather than
626
+ _after_ so that formatters like Fuubar work properly. (Samuel Esposito, #1882)
627
+
628
+ ### 3.2.0 / 2015-02-03
629
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.7...v3.2.0)
630
+
631
+ Enhancements:
632
+
633
+ * Improve the `inspect` output of example groups. (Mike Dalton, #1687)
634
+ * When rake task fails, only output the command if `verbose` flag is
635
+ set. (Ben Snape, #1704)
636
+ * Add `RSpec.clear_examples` as a clear way to reset examples in between
637
+ spec runs, whilst retaining user configuration. (Alexey Fedorov, #1706)
638
+ * Reduce string allocations when defining and running examples by 70%
639
+ and 50% respectively. (Myron Marston, #1738)
640
+ * Removed dependency on pathname from stdlib. (Sam Phippen, #1703)
641
+ * Improve the message presented when a user hits Ctrl-C.
642
+ (Alex Chaffee #1717, #1742)
643
+ * Improve shared example group inclusion backtrace displayed
644
+ in failed example output so that it works for all methods
645
+ of including shared example groups and shows all inclusion
646
+ locations. (Myron Marston, #1763)
647
+ * Issue seed notification at start (as well as the end) of the reporter
648
+ run. (Arlandis Word, #1761)
649
+ * Improve the documentation of around hooks. (Jim Kingdon, #1772)
650
+ * Support prepending of modules into example groups from config and allow
651
+ filtering based on metadata. (Arlandis Word, #1806)
652
+ * Emit warnings when `:suite` hooks are registered on an example group
653
+ (where it has always been ignored) or are registered with metadata
654
+ (which has always been ignored). (Myron Marston, #1805)
655
+ * Provide a friendly error message when users call RSpec example group
656
+ APIs (e.g. `context`, `describe`, `it`, `let`, `before`, etc) from
657
+ within an example where those APIs are unavailable. (Myron Marston, #1819)
658
+ * Provide a friendly error message when users call RSpec example
659
+ APIs (e.g. `expect`, `double`, `stub_const`, etc) from
660
+ within an example group where those APIs are unavailable.
661
+ (Myron Marston, #1819)
662
+ * Add new `RSpec::Core::Sandbox.sandboxed { }` API that facilitates
663
+ testing RSpec with RSpec, allowing you to define example groups
664
+ and example from within an example without affecting the global
665
+ `RSpec.world` state. (Tyler Ball, 1808)
666
+ * Apply line-number filters only to the files they are scoped to,
667
+ allowing you to mix filtered and unfiltered files. (Myron Marston, #1839)
668
+ * When dumping pending examples, include the failure details so that you
669
+ don't have to un-pend the example to see it. (Myron Marston, #1844)
670
+ * Make `-I` option support multiple values when separated by
671
+ `File::PATH_SEPARATOR`, such as `rspec -I foo:bar`. This matches
672
+ the behavior of Ruby's `-I` option. (Fumiaki Matsushima, #1855).
673
+ * Treat each example as having a singleton example group for the
674
+ purposes of applying metadata-based features that normally apply
675
+ to example groups to individually tagged examples. For example,
676
+ `RSpec.shared_context "Uses redis", :uses_redis` will now apply
677
+ to individual examples tagged with `:uses_redis`, as will
678
+ `config.include RedisHelpers, :uses_redis`, and
679
+ `config.before(:context, :uses_redis) { }`, etc. (Myron Marston, #1749)
680
+
681
+ Bug Fixes:
682
+
683
+ * When assigning generated example descriptions, surface errors
684
+ raised by `matcher.description` in the example description.
685
+ (Myron Marston, #1771)
686
+ * Don't consider expectations from `after` hooks when generating
687
+ example descriptions. (Myron Marston, #1771)
688
+ * Don't apply metadata-filtered config hooks to examples in groups
689
+ with matching metadata when those examples override the parent
690
+ metadata value to not match. (Myron Marston, #1796)
691
+ * Fix `config.expect_with :minitest` so that `skip` uses RSpec's
692
+ implementation rather than Minitest's. (Jonathan Rochkind, #1822)
693
+ * Fix `NameError` caused when duplicate example group aliases are defined and
694
+ the DSL is not globally exposed. (Aaron Kromer, #1825)
695
+ * When a shared example defined in an external file fails, use the host
696
+ example group (from a loaded spec file) for the re-run command to
697
+ ensure the command will actually work. (Myron Marston, #1835)
698
+ * Fix location filtering to work properly for examples defined in
699
+ a nested example group within a shared example group defined in
700
+ an external file. (Bradley Schaefer, Xavier Shay, Myron Marston, #1837)
701
+ * When a pending example fails (as expected) due to a mock expectation,
702
+ set `RSpec::Core::Example::ExecutionResult#pending_exception` --
703
+ previously it was not being set but should have been. (Myron Marston, #1844)
704
+ * Fix rake task to work when `rspec-core` is installed in a directory
705
+ containing a space. (Guido Günther, #1845)
706
+ * Fix regression in 3.1 that caused `describe Regexp` to raise errors.
707
+ (Durran Jordan, #1853)
708
+ * Fix regression in 3.x that caused the profile information to be printed
709
+ after the summary. (Max Lincoln, #1857)
710
+ * Apply `--seed` before loading `--require` files so that required files
711
+ can access the provided seed. (Myron Marston, #1745)
712
+ * Handle `RSpec::Core::Formatters::DeprecationFormatter::FileStream` being
713
+ reopened with an IO stream, which sometimes happens with spring.
714
+ (Kevin Mook, #1757)
715
+
1
716
  ### 3.1.7 / 2014-10-11
2
717
  [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.6...v3.1.7)
3
718
 
@@ -456,6 +1171,9 @@ Bug Fixes:
456
1171
  directory (was broken in beta1). (Jon Rowe)
457
1172
  * Prevent RSpec mangling file names that have substrings containing `line_number`
458
1173
  or `default_path`. (Matijs van Zuijlen)
1174
+ * Fix failure line detection so that it handles relative file paths
1175
+ (which can happen when running specs through `ruby` using `rspec/autorun`).
1176
+ (Myron Marston, #1829)
459
1177
 
460
1178
  ### 3.0.0.beta1 / 2013-11-07
461
1179
  [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.1...v3.0.0.beta1)
@@ -1402,7 +2120,7 @@ project's root directory or in your home directory:
1402
2120
 
1403
2121
  require "autotest/bundler"
1404
2122
 
1405
- Now you can just type 'autotest' on the commmand line and it will work as you expect.
2123
+ Now you can just type 'autotest' on the command line and it will work as you expect.
1406
2124
 
1407
2125
  If you don't want 'bundle exec', there is nothing you have to do.
1408
2126
 
@@ -1495,6 +2213,7 @@ Bug fixes
1495
2213
  [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.0...v2.2.1)
1496
2214
 
1497
2215
  Bug fixes
2216
+
1498
2217
  * alias_method instead of override Kernel#method_missing (John Wilger)
1499
2218
  * changed --autotest to --tty in generated command (MIKAMI Yoshiyuki)
1500
2219
  * revert change to debugger (had introduced conflict with Rails)
@@ -1590,7 +2309,7 @@ Bug fixes
1590
2309
  Enhancements
1591
2310
 
1592
2311
  * implicitly require unknown formatters so you don't have to require the file
1593
- explicitly on the commmand line (Michael Grosser)
2312
+ explicitly on the command line (Michael Grosser)
1594
2313
  * add --out/-o option to assign output target
1595
2314
  * added fail_fast configuration option to abort on first failure
1596
2315
  * support a Hash subject (its([:key]) { should == value }) (Josep M. Bach)