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,453 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.0...main)
3
+
4
+ ### 3.12.0 / 2022-10-26
5
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.1...v3.12.0)
6
+
7
+ Enhancements:
8
+
9
+ * Add `an_array_matching` alias for `match_array` to improve readability as an argument
10
+ matcher. (Mark Schneider, #1361)
11
+
12
+ ### 3.11.1 / 2022-09-12
13
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.0...v3.11.1)
14
+
15
+ Bug Fixes:
16
+
17
+ * Allow the `contain_exactly` matcher to be reused by resetting its
18
+ internals on `matches?` (@bclayman-sq, #1326)
19
+ * Using the exist matcher on `FileTest` no longer produces a deprecation warning.
20
+ (Ryo Nakamura, #1383)
21
+
22
+ ### 3.11.0 / 2022-02-09
23
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.2...v3.11.0)
24
+
25
+ Enhancements:
26
+
27
+ * Return `true` from `aggregate_failures` when no exception occurs. (Jon Rowe, #1225)
28
+
29
+ Deprecations:
30
+
31
+ * Print a deprecation message when using the implicit block expectation syntax.
32
+ (Phil Pirozhkov, #1139)
33
+
34
+ ### 3.10.2 / 2022-01-14
35
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.1...v3.10.2)
36
+
37
+ Bug Fixes:
38
+
39
+ * Fix support for dynamic matchers for expectation target checks (Phil Pirozhkov, #1294)
40
+ * Fix `expect(array).to include(hash).times`, previously this would fail due to
41
+ matching the entire array as a single hash, rather than a member of the hash.
42
+ (Slava Kardakov, #1322)
43
+ * Ensure `raise_error` matches works with the `error_highlight` option from Ruby 3.1.
44
+ (Peter Goldstein, #1339)
45
+
46
+ ### 3.10.1 / 2020-12-27
47
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.0...v3.10.1)
48
+
49
+ Bug Fixes:
50
+
51
+ * Allow JRuby 9.2.x.x to generate backtraces normally rather than via our
52
+ backfill workaround. (#1230, Jon Rowe)
53
+
54
+ ### 3.10.0 / 2020-10-30
55
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.10.0)
56
+
57
+ Enhancements:
58
+
59
+ * Allow `include` matcher to be chained with `once`, `at_least`, etc. for simple cases.
60
+ (Marc-André Lafortune, #1168)
61
+ * Add an explicit warning when `nil` is passed to `raise_error`. (Phil Pirozhkov, #1143)
62
+ * Improve `include` matcher's composability. (Phil Pirozhkov, #1155)
63
+ * Mocks expectations can now set a custom failure message.
64
+ (Benoit Tigeot and Nicolas Zermati, #1156)
65
+ * `aggregate_failures` now shows the backtrace line for each failure. (Fabricio Bedin, #1163)
66
+ * Support multiple combinations of `yield_control` modifiers like `at_least`, `at_most`.
67
+ (Jon Rowe, #1169)
68
+ * Dynamic `have_<n>` matchers now have output consistent with other dynamic matchers.
69
+ (Marc-André Lafortune, #1195)
70
+ * New config option `strict_predicate_matchers` allows predicate matcher to be strict
71
+ (i.e. match for `true` or `false`) instead of the default (match truthy vs `false` or `nil`).
72
+ (Marc-André Lafortune, #1196)
73
+
74
+ ### 3.9.4 / 2020-10-29
75
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.9.4)
76
+
77
+ Bug Fixes:
78
+
79
+ * Fix regression with `be_` and `have_` matchers and arguments implementing `to_hash`
80
+ were they would act like keywords and be cast to a hash. (Jon Rowe, #1222)
81
+
82
+ ### 3.9.3 / 2020-10-23
83
+
84
+ Bug Fixes:
85
+
86
+ * Swap the comparison of the delta vs the expected for the `be_within` matcher allowing
87
+ more complicated oobjects to be compared providing they provide `abs` and other
88
+ comparison methods. (Kelly Stannard, #1182)
89
+ * Properly format expected in the description of the `be_within` matcher. (Jon Rowe, #1185)
90
+ * Remove warning when using keyword arguments with `be_` and `have_` matchers on 2.7.x
91
+ (Jon Rowe, #1187)
92
+ * Prevent formatting a single hash as a list of key value pairs in default failure messages
93
+ for custom matches (fixes formatting in `EnglishPhrasing#list`). (Robert Eshleman, #1193)
94
+ * Prevent errors from causing false positives when using `be <operator>` comparison, e.g.
95
+ `expect(1).not_to be < 'a'` will now correctly fail rather than pass. (Jon Rowe, #1208)
96
+
97
+
98
+ ### 3.9.2 / 2020-05-08
99
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.1...v3.9.2)
100
+
101
+ Bug Fixes:
102
+
103
+ * Issue a proper `ArgumentError` when invalid arguments are given to `yield_control`
104
+ modifiers such as `at_least` et al. (Marc-André Lafortune, #1167)
105
+ * Prevent Ruby 2.7 keyword arguments warning from being issued by custom
106
+ matcher definitions. (Jon Rowe, #1176)
107
+
108
+ ### 3.9.1 / 2020-03-13
109
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.0...v3.9.1)
110
+
111
+ Bug Fixes:
112
+
113
+ * Issue an improved warning when using `respond_to(...).with(n).arguments` and ignore
114
+ the warning when using with `have_attributes(...)`. (Jon Rowe, #1164)
115
+
116
+ ### 3.9.0 / 2019-10-08
117
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.6...v3.9.0)
118
+
119
+ Enhancements:
120
+
121
+ * The `respond_to` matcher now uses the signature from `initialize` to validate checks
122
+ for `new` (unless `new` is non standard). (Jon Rowe, #1072)
123
+ * Generated descriptions for matchers now use `is expected to` rather than `should` in
124
+ line with our preferred DSL. (Pete Johns, #1080, rspec/rspec-core#2572)
125
+ * Add the ability to re-raise expectation errors when matching
126
+ with `match_when_negated` blocks. (Jon Rowe, #1130)
127
+ * Add a warning when an empty diff is produce due to identical inspect output.
128
+ (Benoit Tigeot, #1126)
129
+
130
+ ### 3.8.6 / 2019-10-07
131
+
132
+ Bug Fixes:
133
+
134
+ * Revert #1125 due to the change being incompatible with our semantic versioning
135
+ policy.
136
+
137
+ ### 3.8.5 / 2019-10-02
138
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.4...v3.8.5)
139
+
140
+ Bug Fixes:
141
+
142
+ * Prevent unsupported implicit block expectation syntax from being used.
143
+ (Phil Pirozhkov, #1125)
144
+
145
+ ### 3.8.4 / 2019-06-10
146
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...v3.8.4)
147
+
148
+ Bug Fixes:
149
+
150
+ * Prevent false negatives when checking objects for the methods required to run the
151
+ the `be_an_instance_of` and `be_kind_of` matchers. (Nazar Matus, #1112)
152
+
153
+ ### 3.8.3 / 2019-04-20
154
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.2...v3.8.3)
155
+
156
+ Bug Fixes:
157
+
158
+ * Prevent composed `all` matchers from leaking into their siblings leading to duplicate
159
+ failures. (Jamie English, #1086)
160
+ * Prevent objects which change their hash on comparison from failing change checks.
161
+ (Phil Pirozhkov, #1100)
162
+ * Issue an `ArgumentError` rather than a `NoMethodError` when `be_an_instance_of` and
163
+ `be_kind_of` matchers encounter objects not supporting those methods.
164
+ (Taichi Ishitani, #1107)
165
+
166
+ ### 3.8.2 / 2018-10-09
167
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.1...v3.8.2)
168
+
169
+ Bug Fixes:
170
+
171
+ * Change `include` matcher to rely on a `respond_to?(:include?)` check rather than a direct
172
+ Hash comparison before calling `to_hash` to convert to a hash. (Jordan Owens, #1073)
173
+ * Prevent unexpected call stack jumps from causing an obscure error (`IndexError`), and
174
+ replace that error with a proper informative message. (Jon Rowe, #1076)
175
+
176
+ ### 3.8.1 / 2018-08-06
177
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.0...v3.8.1)
178
+
179
+ Bug Fixes:
180
+
181
+ * Fix regression in `include` matcher so stopped
182
+ `expect(hash.with_indifferent_access).to include(:symbol_key)`
183
+ from working. (Eito Katagiri, #1069)
184
+
185
+ ### 3.8.0 / 2018-08-04
186
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.7.0...v3.8.0)
187
+
188
+ Enhancements:
189
+
190
+ * Improve failure message of `change(receiver, :message)` by including the
191
+ receiver as `SomeClass#some_message`. (Tomohiro Hashidate, #1005)
192
+ * Improve `change` matcher so that it can correctly detect changes in
193
+ deeply nested mutable objects (such as arrays-of-hashes-of-arrays).
194
+ The improved logic uses the before/after `hash` value to see if the
195
+ object has been mutated, rather than shallow duping the object.
196
+ (Myron Marston, #1034)
197
+ * Improve `include` matcher so that pseudo-hash objects (e.g. objects
198
+ that decorate a hash using a `SimpleDelegator` or similar) are treated
199
+ as a hash, as long as they implement `to_hash`. (Pablo Brasero, #1012)
200
+ * Add `max_formatted_output_length=` to configuration, allowing changing
201
+ the length at which we truncate large output strings.
202
+ (Sam Phippen #951, Benoit Tigeot #1056)
203
+ * Improve error message when passing a matcher that doesn't support block
204
+ expectations to a block based `expect`. (@nicktime, #1066)
205
+
206
+ ### 3.7.0 / 2017-10-17
207
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0...v3.7.0)
208
+
209
+ Enhancements:
210
+
211
+ * Improve compatibility with `--enable-frozen-string-literal` option
212
+ on Ruby 2.3+. (Pat Allan, #997)
213
+
214
+ ### 3.6.0 / 2017-05-04
215
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta2...v3.6.0)
216
+
217
+ Enhancements:
218
+
219
+ * Treat NoMethodError as a failure for comparison matchers. (Jon Rowe, #972)
220
+ * Allow for scoped aliased and negated matchers--just call
221
+ `alias_matcher` or `define_negated_matcher` from within an example
222
+ group. (Markus Reiter, #974)
223
+ * Improve failure message of `change` matcher with block and `satisfy` matcher
224
+ by including the block snippet instead of just describing it as `result` or
225
+ `block` when Ripper is available. (Yuji Nakayama, #987)
226
+
227
+ Bug Fixes:
228
+
229
+ * Fix `yield_with_args` and `yield_successive_args` matchers so that
230
+ they compare expected to actual args at the time the args are yielded
231
+ instead of at the end, in case the method that is yielding mutates the
232
+ arguments after yielding. (Alyssa Ross, #965)
233
+
234
+ ### 3.6.0.beta2 / 2016-12-12
235
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta1...v3.6.0.beta2)
236
+
237
+ Bug Fixes:
238
+
239
+ * Using the exist matcher on `File` no longer produces a deprecation warning.
240
+ (Jon Rowe, #954)
241
+
242
+ ### 3.6.0.beta1 / 2016-10-09
243
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0...v3.6.0.beta1)
244
+
245
+ Bug Fixes:
246
+
247
+ * Fix `contain_exactly` to work correctly with ranges. (Myron Marston, #940)
248
+ * Fix `change` to work correctly with sets. (Marcin Gajewski, #939)
249
+
250
+ ### 3.5.0 / 2016-07-01
251
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta4...v3.5.0)
252
+
253
+ Enhancements:
254
+
255
+ * Add support for keyword arguments to the `respond_to` matcher. (Rob Smith, #915).
256
+
257
+ ### 3.5.0.beta4 / 2016-06-05
258
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta3...v3.5.0.beta4)
259
+
260
+ Bug Fixes:
261
+
262
+ * Fix `include` matcher so that it provides a valid diff for hashes. (Yuji Nakayama, #916)
263
+
264
+ ### 3.5.0.beta3 / 2016-04-02
265
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta2...v3.5.0.beta3)
266
+
267
+ Enhancements:
268
+
269
+ * Make `rspec/expectations/minitest_integration` work on Minitest::Spec
270
+ 5.6+. (Myron Marston, #904)
271
+ * Add an alias `having_attributes` for `have_attributes` matcher.
272
+ (Yuji Nakayama, #905)
273
+ * Improve `change` matcher error message when block is mis-used.
274
+ (Alex Altair, #908)
275
+
276
+ ### 3.5.0.beta2 / 2016-03-10
277
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta1...v3.5.0.beta2)
278
+
279
+ Enhancements:
280
+
281
+ * Add the ability to raise an error on encountering false positives via
282
+ `RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, #900)
283
+ * When using the custom matcher DSL, support new
284
+ `notify_expectation_failures: true` option for the `match` method to
285
+ allow expectation failures to be raised as normal instead of being
286
+ converted into a `false` return value for `matches?`. (Jon Rowe, #892)
287
+
288
+ Bug Fixes:
289
+
290
+ * Allow `should` deprecation check to work on `BasicObject`s. (James Coleman, #898)
291
+
292
+ ### 3.5.0.beta1 / 2016-02-06
293
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.4.0...v3.5.0.beta1)
294
+
295
+ Enhancements:
296
+
297
+ * Make `match_when_negated` in custom matcher DSL support use of
298
+ expectations within the match logic. (Chris Arcand, #789)
299
+
300
+ Bug Fixes:
301
+
302
+ * Return `true` as expected from passing negated expectations
303
+ (such as `expect("foo").not_to eq "bar"`), so they work
304
+ properly when used within a `match` or `match_when_negated`
305
+ block. (Chris Arcand, #789)
306
+
307
+ ### 3.4.0 / 2015-11-11
308
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.1...v3.4.0)
309
+
310
+ Enhancements:
311
+
312
+ * Warn when `RSpec::Matchers` is included in a superclass after it has
313
+ already been included in a subclass on MRI 1.9, since that situation
314
+ can cause uses of `super` to trigger infinite recursion. (Myron Marston, #816)
315
+ * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
316
+ `SystemExit`. It is dangerous to interfere with these. (Myron Marston, #845)
317
+ * Add `#with_captures` to the
318
+ [match matcher](https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/match-matcher)
319
+ which allows a user to specify expected captures when matching a regex
320
+ against a string. (Sam Phippen, #848)
321
+ * Always print compound failure messages in the multi-line form. Trying
322
+ to print it all on a single line didn't read very well. (Myron Marston, #859)
323
+
324
+ Bug Fixes:
325
+
326
+ * Fix failure message from dynamic predicate matchers when the object
327
+ does not respond to the predicate so that it is inspected rather
328
+ than relying upon its `to_s` -- that way for `nil`, `"nil"` is
329
+ printed rather than an empty string. (Myron Marston, #841)
330
+ * Fix SystemStackError raised when diffing an Enumerable object
331
+ whose `#each` includes the object itself. (Yuji Nakayama, #857)
332
+
333
+ ### 3.3.1 / 2015-07-15
334
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.0...v3.3.1)
335
+
336
+ Bug Fixes:
337
+
338
+ * Fix `be >`, `be <`, etc so that it fails rather than allowing an
339
+ argument error to be raised when compared against an object of the
340
+ wrong type. This allows it to be used in composed matcher expressions
341
+ against heterogeneous objects. (Dennis Günnewig, #809)
342
+ * Fix `respond_to` to work properly on target objects
343
+ that redefine the `method` method. (unmanbearpig, #821)
344
+
345
+ ### 3.3.0 / 2015-06-12
346
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.1...v3.3.0)
347
+
348
+ Enhancements:
349
+
350
+ * Expose `RSpec::Matchers::EnglishPhrasing` to make it easier to write
351
+ nice failure messages in custom matchers. (Jared Beck, #736)
352
+ * Add `RSpec::Matchers::FailMatchers`, a mixin which provides
353
+ `fail`, `fail_with` and `fail_including` matchers for use in
354
+ specifying that an expectation fails for use by
355
+ extension/plugin authors. (Charlie Rudolph, #729)
356
+ * Avoid loading `tempfile` (and its dependencies) unless
357
+ it is absolutely needed. (Myron Marston, #735)
358
+ * Improve failure output when attempting to use `be_true` or `be_false`.
359
+ (Tim Wade, #744)
360
+ * Define `RSpec::Matchers#respond_to_missing?` so that
361
+ `RSpec::Matchers#respond_to?` and `RSpec::Matchers#method` handle
362
+ dynamic predicate matchers. (Andrei Botalov, #751)
363
+ * Use custom Time/DateTime/BigDecimal formatting for all matchers
364
+ so they are consistently represented in failure messages.
365
+ (Gavin Miller, #740)
366
+ * Add configuration to turn off warnings about matcher combinations that
367
+ may cause false positives. (Jon Rowe, #768)
368
+ * Warn when using a bare `raise_error` matcher that you may be subject to
369
+ false positives. (Jon Rowe, #768)
370
+ * Warn rather than raise when using the`raise_error` matcher in negative
371
+ expectations that may be subject to false positives. (Jon Rowe, #775)
372
+ * Improve failure message for `include(a, b, c)` so that if `a` and `b`
373
+ are included the failure message only mentions `c`. (Chris Arcand, #780)
374
+ * Allow `satisfy` matcher to take an optional description argument
375
+ that will be used in the `description`, `failure_message` and
376
+ `failure_message_when_negated` in place of the undescriptive
377
+ "sastify block". (Chris Arcand, #783)
378
+ * Add new `aggregate_failures` API that allows multiple independent
379
+ expectations to all fail and be listed in the failure output, rather
380
+ than the example aborting on the first failure. (Myron Marston, #776)
381
+ * Improve `raise_error` matcher so that it can accept a matcher as a single argument
382
+ that matches the message. (Time Wade, #782)
383
+
384
+ Bug Fixes:
385
+
386
+ * Make `contain_exactly` / `match_array` work with strict test doubles
387
+ that have not defined `<=>`. (Myron Marston, #758)
388
+ * Fix `include` matcher so that it omits the diff when it would
389
+ confusingly highlight items that are actually included but are not
390
+ an exact match in a line-by-line diff. (Tim Wade, #763)
391
+ * Fix `match` matcher so that it does not blow up when matching a string
392
+ or regex against another matcher (rather than a string or regex).
393
+ (Myron Marston, #772)
394
+ * Silence whitespace-only diffs. (Myron Marston, #801)
395
+
396
+ ### 3.2.1 / 2015-04-06
397
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.0...v3.2.1)
398
+
399
+ Bug Fixes:
400
+
401
+ * Prevent `Range`s from being enumerated when generating matcher
402
+ descriptions. (Jon Rowe, #755)
403
+ * Ensure exception messages are compared as strings in the `raise_error`
404
+ matcher. (Jon Rowe, #755)
405
+
406
+ ### 3.2.0 / 2015-02-03
407
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.2...v3.2.0)
408
+
409
+ Enhancements:
410
+
411
+ * Add `block_arg` method to custom matcher API, which allows you to
412
+ access the block passed to a custom matcher, if there is one.
413
+ (Mike Dalton, #645)
414
+ * Provide more detail in failure message of `yield_control` matcher.
415
+ (Jon Rowe, #650)
416
+ * Add a shorthand syntax for `chain` in the matcher DSL which assigns values
417
+ for use elsewhere, for example `chain :and_smaller_than, :small_value`
418
+ creates an `attr_reader` for `small_value` (Tom Stuart, #644)
419
+ * Provide a more helpful deprecation message when using the `should` syntax.
420
+ (Elia Schito, #663)
421
+ * Provide more detail in the `have_attributes` matcher failure message.
422
+ (Jon Rowe, #668)
423
+ * Make the `have_attributes` matcher diffable.
424
+ (Jon Rowe, Alexey Fedorov, #668)
425
+ * Add `output(...).to_std(out|err)_from_any_process` as alternatives
426
+ to `output(...).to_std(out|err)`. The latter doesn't work when a sub
427
+ process writes to the named stream but is much faster.
428
+ (Alex Genco, #700)
429
+ * Improve compound matchers (created by `and` and `or`) so that diffs
430
+ are included in failures when one or more of their matchers
431
+ are diffable. (Alexey Fedorov, #713)
432
+
433
+ Bug Fixes:
434
+
435
+ * Avoid calling `private_methods` from the `be` predicate matcher on
436
+ the target object if the object publicly responds to the predicate
437
+ method. This avoids a possible error that can occur if the object
438
+ raises errors from `private_methods` (which can happen with celluloid
439
+ objects). (@chapmajs, #670)
440
+ * Make `yield_control` (with no modifier) default to
441
+ `at_least(:once)` rather than raising a confusing error
442
+ when multiple yields are encountered.
443
+ (Myron Marston, #675)
444
+ * Fix "instance variable @color not initialized" warning when using
445
+ rspec-expectations outside of an rspec-core context. (Myron Marston, #689)
446
+ * Fix `start_with` and `end_with` to work properly when checking a
447
+ string against an array of strings. (Myron Marston, #690)
448
+ * Don't use internally delegated matchers when generating descriptions
449
+ for examples without doc strings. (Myron Marston, #692)
450
+
1
451
  ### 3.1.2 / 2014-09-26
2
452
  [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.1...v3.1.2)
3
453
 
@@ -266,7 +716,7 @@ Breaking Changes for 3.0.0:
266
716
  (Sam Phippen)
267
717
  * Remove the deprecated `have`, `have_at_least` and `have_at_most` matchers.
268
718
  You can continue using those matchers through https://github.com/rspec/rspec-collection_matchers,
269
- or you can rewrite your expectations with something like
719
+ or you can rewrite your expectations with something like
270
720
  `expect(your_object.size).to eq(num)`. (Hugo Baraúna)
271
721
  * Rename `be_true` and `be_false` to `be_truthy` and `be_falsey`. (Sam Phippen)
272
722
  * Make `expect { }.to_not raise_error(SomeSpecificClass, message)`,
@@ -387,9 +837,9 @@ Deprecations:
387
837
  Deprecations
388
838
 
389
839
  * Deprecate `have`, `have_at_least` and `have_at_most`. You can continue using those
390
- matchers through https://github.com/rspec/rspec-collection_matchers, or
391
- you can rewrite your expectations with something like
392
- `expect(your_object.size).to eq(num)`. (Hugo Baraúna)
840
+ matchers through https://github.com/rspec/rspec-collection_matchers, or
841
+ you can rewrite your expectations with something like
842
+ `expect(your_object.size).to eq(num)`. (Hugo Baraúna)
393
843
  * Deprecate `be_xyz` predicate matcher when `xyz?` is a private method.
394
844
  (Jon Rowe)
395
845
  * Deprecate `be_true`/`be_false` in favour of `be_truthy`/`be_falsey`
@@ -1,6 +1,6 @@
1
1
  ## Set up the dev environment
2
2
 
3
- git clone git://github.com/rspec/rspec-expectations.git
3
+ git clone https://github.com/rspec/rspec-expectations.git
4
4
  cd rspec-expectations
5
5
  gem install bundler
6
6
  bundle install
@@ -20,9 +20,9 @@ Or ...
20
20
  bundle install --binstubs
21
21
  bin/rspec
22
22
 
23
- ## Customize the dev enviroment
23
+ ## Customize the dev environment
24
24
 
25
25
  The Gemfile includes the gems you'll need to be able to run specs. If you want
26
- to customize your dev enviroment with additional tools like guard or
26
+ to customize your dev environment with additional tools like guard or
27
27
  ruby-debug, add any additional gem declarations to Gemfile-custom (see
28
28
  Gemfile-custom.sample for some examples).
@@ -0,0 +1,131 @@
1
+ <!---
2
+ This file was generated on 2020-12-25T18:48:30+00:00 from the rspec-dev repo.
3
+ DO NOT modify it by hand as your changes will get lost the next time it is generated.
4
+ -->
5
+
6
+ # Development Setup
7
+
8
+ Generally speaking, you only need to clone the project and install
9
+ the dependencies with [Bundler](https://bundler.io/). You can either
10
+ get a full RSpec development environment using
11
+ [rspec-dev](https://github.com/rspec/rspec-dev#README) or you can
12
+ set this project up individually.
13
+
14
+ ## Setting up rspec-expectations individually
15
+
16
+ For most contributors, setting up the project individually will be simpler.
17
+ Unless you have a specific reason to use rspec-dev, we recommend using this approach.
18
+
19
+ Clone the repo:
20
+
21
+ ```
22
+ $ git clone git@github.com:rspec/rspec-expectations.git
23
+ ```
24
+
25
+ Install the dependencies using [Bundler](https://bundler.io/):
26
+
27
+ ```
28
+ $ cd rspec-expectations
29
+ $ bundle install
30
+ ```
31
+
32
+ To minimize boot time and to ensure we don't depend upon any extra dependencies
33
+ loaded by Bundler, our CI builds avoid loading Bundler at runtime
34
+ by using Bundler's [`--standalone option`](https://myronmars.to/n/dev-blog/2012/03/faster-test-boot-times-with-bundler-standalone).
35
+ While not strictly necessary (many/most of our contributors do not do this!),
36
+ if you want to exactly reproduce our CI builds you'll want to do the same:
37
+
38
+ ```
39
+ $ bundle install --standalone --binstubs
40
+ ```
41
+
42
+ The `--binstubs` option creates the `bin/rspec` file that, like `bundle exec rspec`, will load
43
+ all the versions specified in `Gemfile.lock` without loading bundler at runtime!
44
+
45
+ ## Using rspec-dev
46
+
47
+ See the [rspec-dev README](https://github.com/rspec/rspec-dev#README)
48
+ for setup instructions.
49
+
50
+ The rspec-dev project contains many rake tasks for helping manage
51
+ an RSpec development environment, making it easy to do things like:
52
+
53
+ * Change branches across all repos
54
+ * Update all repos with the latest code from `main`
55
+ * Cut a new release across all repos
56
+ * Push out updated build scripts to all repos
57
+
58
+ These sorts of tasks are essential for the RSpec maintainers but will
59
+ probably be unnecessary complexity if you're just contributing to one
60
+ repository. If you are getting setup to make your first contribution,
61
+ we recommend you take the simpler route of setting up rspec-expectations
62
+ individually.
63
+
64
+ ## Gotcha: Version mismatch from sibling repos
65
+
66
+ The [Gemfile](Gemfile) is designed to be flexible and support using
67
+ the other RSpec repositories either from a local sibling directory
68
+ (e.g. `../rspec-<subproject>`) or, if there is no such directory,
69
+ directly from git. This generally does the "right thing", but can
70
+ be a gotcha in some situations. For example, if you are setting up
71
+ `rspec-core`, and you happen to have an old clone of `rspec-expectations`
72
+ in a sibling directory, it'll be used even though it might be months or
73
+ years out of date, which can cause confusing failures.
74
+
75
+ To avoid this problem, you can either `export USE_GIT_REPOS=1` to force
76
+ the use of `:git` dependencies instead of local dependencies, or update
77
+ the code in the sibling directory. rspec-dev contains rake tasks to
78
+ help you keep all repos in sync.
79
+
80
+ ## Extra Gems
81
+
82
+ If you need additional gems for any tasks---such as `benchmark-ips` for benchmarking
83
+ or `byebug` for debugging---you can create a `Gemfile-custom` file containing those
84
+ gem declarations. The `Gemfile` evaluates that file if it exists, and it is git-ignored.
85
+
86
+ # Running the build
87
+
88
+ The [Travis CI build](https://travis-ci.org/rspec/rspec-expectations)
89
+ runs many verification steps to prevent regressions and
90
+ ensure high-quality code. To run the Travis build locally, run:
91
+
92
+ ```
93
+ $ script/run_build
94
+ ```
95
+
96
+ See [build detail](BUILD_DETAIL.md) for more detail.
97
+
98
+ # What to Expect
99
+
100
+ To ensure high, uniform code quality, all code changes (including
101
+ changes from the maintainers!) are subject to a pull request code
102
+ review. We'll often ask for clarification or suggest alternate ways
103
+ to do things. Our code reviews are intended to be a two-way
104
+ conversation.
105
+
106
+ Here's a short, non-exhaustive checklist of things we typically ask contributors to do before PRs are ready to merge. It can help get your PR merged faster if you do these in advance!
107
+
108
+ - [ ] New behavior is covered by tests and all tests are passing.
109
+ - [ ] No Ruby warnings are issued by your changes.
110
+ - [ ] Documentation reflects changes and renders as intended.
111
+ - [ ] RuboCop passes (e.g. `bundle exec rubocop lib`).
112
+ - [ ] Commits are squashed into a reasonable number of logical changesets that tell an easy-to-follow story.
113
+ - [ ] No changelog entry is necessary (we'll add it as part of the merge process!)
114
+
115
+ # Adding Docs
116
+
117
+ RSpec uses [YARD](https://yardoc.org/) for its API documentation. To
118
+ ensure the docs render well, we recommend running a YARD server and
119
+ viewing your edits in a browser.
120
+
121
+ To run a YARD server:
122
+
123
+ ```
124
+ $ bundle exec yard server --reload
125
+
126
+ # or, if you installed your bundle with `--standalone --binstubs`:
127
+
128
+ $ bin/yard server --reload
129
+ ```
130
+
131
+ Then navigate to `localhost:8808` to view the rendered docs.