opal-rspec 0.8.0.alpha3 → 1.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (683) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +7 -7
  3. data/.gitmodules +6 -0
  4. data/CHANGELOG.md +16 -1
  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/document_io.rb +1 -1
  123. data/lib-opal/opal/rspec/formatter/html_printer.rb +1 -1
  124. data/lib-opal/opal/rspec/pre_require_fixes.rb +1 -5
  125. data/lib-opal/opal/rspec/requires.rb +32 -19
  126. data/lib-opal/opal/rspec/sprockets_runner.rb.erb +1 -0
  127. data/lib-opal/opal/rspec.rb +3 -0
  128. data/opal-rspec.gemspec +1 -1
  129. data/rspec/upstream/.document +1 -1
  130. data/rspec/upstream/.github/FUNDING.yml +5 -0
  131. data/rspec/upstream/.gitignore +1 -0
  132. data/rspec/upstream/LICENSE.md +27 -0
  133. data/rspec/upstream/README.md +26 -26
  134. data/rspec/upstream/Rakefile +1 -1
  135. data/rspec/upstream/certs/rspec.pem +32 -20
  136. data/rspec/upstream/certs/samphippen.asc +18 -0
  137. data/rspec/upstream/code_of_conduct.md +59 -0
  138. data/rspec/upstream/lib/rspec/version.rb +1 -1
  139. data/rspec/upstream/rspec.gemspec +7 -2
  140. data/rspec-core/upstream/.document +1 -1
  141. data/rspec-core/upstream/.github/FUNDING.yml +5 -0
  142. data/rspec-core/upstream/.github/workflows/ci.yml +150 -0
  143. data/rspec-core/upstream/.gitignore +2 -0
  144. data/rspec-core/upstream/.rspec +1 -0
  145. data/rspec-core/upstream/.rubocop.yml +64 -12
  146. data/rspec-core/upstream/.rubocop_rspec_base.yml +224 -38
  147. data/rspec-core/upstream/.rubocop_todo.yml +1031 -0
  148. data/rspec-core/upstream/.yardopts +2 -1
  149. data/rspec-core/upstream/BUILD_DETAIL.md +149 -0
  150. data/rspec-core/upstream/CODE_OF_CONDUCT.md +59 -0
  151. data/rspec-core/upstream/CONTRIBUTING.md +86 -0
  152. data/rspec-core/upstream/Changelog.md +721 -2
  153. data/rspec-core/upstream/DEV-README.md +2 -2
  154. data/rspec-core/upstream/DEVELOPMENT.md +131 -0
  155. data/rspec-core/upstream/Filtering.md +173 -0
  156. data/rspec-core/upstream/Gemfile +78 -9
  157. data/rspec-core/upstream/ISSUE_TEMPLATE.md +24 -0
  158. data/rspec-core/upstream/{License.txt → LICENSE.md} +6 -5
  159. data/rspec-core/upstream/README.md +165 -24
  160. data/rspec-core/upstream/REPORT_TEMPLATE.md +43 -0
  161. data/rspec-core/upstream/Rakefile +1 -1
  162. data/rspec-core/upstream/benchmarks/allocations/1000_groups_1_example.rb +124 -0
  163. data/rspec-core/upstream/benchmarks/allocations/1_group_1000_examples.rb +63 -0
  164. data/rspec-core/upstream/benchmarks/allocations/helper.rb +30 -0
  165. data/rspec-core/upstream/benchmarks/allocations/running_1000_groups_1_example.rb +100 -0
  166. data/rspec-core/upstream/benchmarks/allocations/running_1_group_1000_examples.rb +60 -0
  167. data/rspec-core/upstream/benchmarks/capture_block_vs_yield.rb +208 -0
  168. data/rspec-core/upstream/benchmarks/flat_map_vs_inject.rb +55 -0
  169. data/rspec-core/upstream/benchmarks/hash_functions.rb +74 -0
  170. data/rspec-core/upstream/benchmarks/keys_each_vs_each_key.rb +43 -0
  171. data/rspec-core/upstream/benchmarks/module_inclusion_filtering.rb +89 -0
  172. data/rspec-core/upstream/benchmarks/precalculate_absolute_file_path_or_not.rb +29 -0
  173. data/rspec-core/upstream/benchmarks/shuffle_vs_sort_by_for_random_ordering.rb +131 -0
  174. data/rspec-core/upstream/benchmarks/singleton_example_groups/helper.rb +122 -0
  175. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_config_hooks.rb +28 -0
  176. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_config_hooks_module_inclusions_and_shared_context_inclusions.rb +35 -0
  177. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_module_inclusions.rb +28 -0
  178. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_no_config_hooks_or_inclusions.rb +22 -0
  179. data/rspec-core/upstream/benchmarks/singleton_example_groups/with_shared_context_inclusions.rb +28 -0
  180. data/rspec-core/upstream/benchmarks/threadsafe_let_block.rb +312 -0
  181. data/rspec-core/upstream/cucumber.yml +7 -2
  182. data/rspec-core/upstream/features/.nav +5 -1
  183. data/rspec-core/upstream/features/README.md +2 -2
  184. data/rspec-core/upstream/features/clear_examples.feature +106 -0
  185. data/rspec-core/upstream/features/command_line/bisect.feature +178 -0
  186. data/rspec-core/upstream/features/command_line/example_matches_name_option.feature +131 -0
  187. data/rspec-core/upstream/features/command_line/example_name_option.feature +2 -0
  188. data/rspec-core/upstream/features/command_line/fail_fast.feature +21 -4
  189. data/rspec-core/upstream/features/command_line/init.feature +2 -2
  190. data/rspec-core/upstream/features/command_line/line_number_appended_to_path.feature +2 -2
  191. data/rspec-core/upstream/features/command_line/only_failures.feature +113 -0
  192. data/rspec-core/upstream/features/command_line/order.md +8 -1
  193. data/rspec-core/upstream/features/command_line/pattern_option.feature +6 -3
  194. data/rspec-core/upstream/features/command_line/rake_task.feature +3 -3
  195. data/rspec-core/upstream/features/command_line/randomization.feature +5 -2
  196. data/rspec-core/upstream/features/command_line/ruby.feature +6 -2
  197. data/rspec-core/upstream/features/command_line/tag.feature +13 -11
  198. data/rspec-core/upstream/features/command_line/warnings_option.feature +20 -3
  199. data/rspec-core/upstream/features/configuration/backtrace_exclusion_patterns.feature +45 -29
  200. data/rspec-core/upstream/features/configuration/color.feature +22 -0
  201. data/rspec-core/upstream/features/configuration/custom_settings.feature +9 -13
  202. data/rspec-core/upstream/features/configuration/default_path.feature +1 -1
  203. data/rspec-core/upstream/features/configuration/enable_global_dsl.feature +15 -1
  204. data/rspec-core/upstream/features/configuration/error_exit_code.feature +52 -0
  205. data/rspec-core/upstream/features/configuration/fail_fast.feature +42 -12
  206. data/rspec-core/upstream/features/configuration/fail_if_no_examples.feature +31 -0
  207. data/rspec-core/upstream/features/configuration/failure_exit_code.feature +26 -0
  208. data/rspec-core/upstream/features/configuration/overriding_global_ordering.feature +1 -1
  209. data/rspec-core/upstream/features/configuration/pattern.feature +1 -1
  210. data/rspec-core/upstream/features/configuration/profile.feature +25 -0
  211. data/rspec-core/upstream/features/configuration/read_options_from_file.feature +25 -19
  212. data/rspec-core/upstream/features/configuration/run_all_when_everything_filtered.feature +4 -0
  213. data/rspec-core/upstream/features/core_standalone.feature +2 -0
  214. data/rspec-core/upstream/features/example_groups/basic_structure.feature +1 -0
  215. data/rspec-core/upstream/features/example_groups/shared_context.feature +55 -5
  216. data/rspec-core/upstream/features/example_groups/shared_examples.feature +59 -15
  217. data/rspec-core/upstream/features/expectation_framework_integration/aggregating_failures.feature +602 -0
  218. data/rspec-core/upstream/features/expectation_framework_integration/configure_expectation_framework.feature +13 -5
  219. data/rspec-core/upstream/features/filtering/filter_run_when_matching.feature +75 -0
  220. data/rspec-core/upstream/features/formatters/configurable_colors.feature +23 -4
  221. data/rspec-core/upstream/features/helper_methods/let.feature +3 -0
  222. data/rspec-core/upstream/features/helper_methods/modules.feature +6 -0
  223. data/rspec-core/upstream/features/hooks/around_hooks.feature +36 -6
  224. data/rspec-core/upstream/features/hooks/before_and_after_hooks.feature +47 -5
  225. data/rspec-core/upstream/features/hooks/filtering.feature +199 -4
  226. data/rspec-core/upstream/features/hooks/when_first_matching_example_defined.feature +70 -0
  227. data/rspec-core/upstream/features/metadata/current_scope.feature +87 -0
  228. data/rspec-core/upstream/features/metadata/described_class.feature +12 -5
  229. data/rspec-core/upstream/features/metadata/user_defined.feature +3 -3
  230. data/rspec-core/upstream/features/mock_framework_integration/use_any_framework.feature +1 -1
  231. data/rspec-core/upstream/features/mock_framework_integration/use_flexmock.feature +5 -5
  232. data/rspec-core/upstream/features/mock_framework_integration/use_mocha.feature +5 -5
  233. data/rspec-core/upstream/features/mock_framework_integration/use_rr.feature +5 -5
  234. data/rspec-core/upstream/features/mock_framework_integration/use_rspec.feature +6 -6
  235. data/rspec-core/upstream/features/pending_and_skipped_examples/pending_examples.feature +8 -7
  236. data/rspec-core/upstream/features/pending_and_skipped_examples/skipped_examples.feature +49 -22
  237. data/rspec-core/upstream/features/step_definitions/additional_cli_steps.rb +142 -12
  238. data/rspec-core/upstream/features/step_definitions/core_standalone_steps.rb +6 -2
  239. data/rspec-core/upstream/features/subject/implicit_subject.feature +3 -2
  240. data/rspec-core/upstream/features/subject/one_liner_syntax.feature +9 -5
  241. data/rspec-core/upstream/features/support/diff_lcs_versions.rb +17 -0
  242. data/rspec-core/upstream/features/support/env.rb +20 -7
  243. data/rspec-core/upstream/features/support/jruby.rb +8 -0
  244. data/rspec-core/upstream/features/support/require_expect_syntax_in_aruba_specs.rb +6 -3
  245. data/rspec-core/upstream/features/support/rubinius.rb +5 -1
  246. data/rspec-core/upstream/features/support/ruby_27_support.rb +7 -0
  247. data/rspec-core/upstream/features/support/send_sigint_during_bisect.rb +21 -0
  248. data/rspec-core/upstream/lib/rspec/autorun.rb +1 -0
  249. data/rspec-core/upstream/lib/rspec/core/backtrace_formatter.rb +3 -4
  250. data/rspec-core/upstream/lib/rspec/core/bisect/coordinator.rb +62 -0
  251. data/rspec-core/upstream/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  252. data/rspec-core/upstream/lib/rspec/core/bisect/fork_runner.rb +138 -0
  253. data/rspec-core/upstream/lib/rspec/core/bisect/server.rb +61 -0
  254. data/rspec-core/upstream/lib/rspec/core/bisect/shell_command.rb +126 -0
  255. data/rspec-core/upstream/lib/rspec/core/bisect/shell_runner.rb +73 -0
  256. data/rspec-core/upstream/lib/rspec/core/bisect/utilities.rb +69 -0
  257. data/rspec-core/upstream/lib/rspec/core/configuration.rb +1157 -212
  258. data/rspec-core/upstream/lib/rspec/core/configuration_options.rb +82 -22
  259. data/rspec-core/upstream/lib/rspec/core/did_you_mean.rb +46 -0
  260. data/rspec-core/upstream/lib/rspec/core/drb.rb +10 -1
  261. data/rspec-core/upstream/lib/rspec/core/dsl.rb +10 -5
  262. data/rspec-core/upstream/lib/rspec/core/example.rb +271 -107
  263. data/rspec-core/upstream/lib/rspec/core/example_group.rb +426 -127
  264. data/rspec-core/upstream/lib/rspec/core/example_status_persister.rb +235 -0
  265. data/rspec-core/upstream/lib/rspec/core/filter_manager.rb +76 -104
  266. data/rspec-core/upstream/lib/rspec/core/flat_map.rb +6 -4
  267. data/rspec-core/upstream/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  268. data/rspec-core/upstream/lib/rspec/core/formatters/base_formatter.rb +7 -4
  269. data/rspec-core/upstream/lib/rspec/core/formatters/base_text_formatter.rb +15 -16
  270. data/rspec-core/upstream/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  271. data/rspec-core/upstream/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  272. data/rspec-core/upstream/lib/rspec/core/formatters/console_codes.rb +28 -16
  273. data/rspec-core/upstream/lib/rspec/core/formatters/deprecation_formatter.rb +14 -13
  274. data/rspec-core/upstream/lib/rspec/core/formatters/documentation_formatter.rb +47 -13
  275. data/rspec-core/upstream/lib/rspec/core/formatters/exception_presenter.rb +525 -0
  276. data/rspec-core/upstream/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  277. data/rspec-core/upstream/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  278. data/rspec-core/upstream/lib/rspec/core/formatters/helpers.rb +40 -9
  279. data/rspec-core/upstream/lib/rspec/core/formatters/html_formatter.rb +20 -16
  280. data/rspec-core/upstream/lib/rspec/core/formatters/html_printer.rb +27 -18
  281. data/rspec-core/upstream/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  282. data/rspec-core/upstream/lib/rspec/core/formatters/json_formatter.rb +15 -7
  283. data/rspec-core/upstream/lib/rspec/core/formatters/profile_formatter.rb +10 -7
  284. data/rspec-core/upstream/lib/rspec/core/formatters/progress_formatter.rb +1 -0
  285. data/rspec-core/upstream/lib/rspec/core/formatters/protocol.rb +62 -43
  286. data/rspec-core/upstream/lib/rspec/core/formatters/snippet_extractor.rb +115 -85
  287. data/rspec-core/upstream/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  288. data/rspec-core/upstream/lib/rspec/core/formatters.rb +71 -32
  289. data/rspec-core/upstream/lib/rspec/core/hooks.rb +303 -248
  290. data/rspec-core/upstream/lib/rspec/core/invocations.rb +87 -0
  291. data/rspec-core/upstream/lib/rspec/core/memoized_helpers.rb +155 -47
  292. data/rspec-core/upstream/lib/rspec/core/metadata.rb +102 -41
  293. data/rspec-core/upstream/lib/rspec/core/metadata_filter.rb +209 -49
  294. data/rspec-core/upstream/lib/rspec/core/minitest_assertions_adapter.rb +5 -2
  295. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/flexmock.rb +1 -1
  296. data/rspec-core/upstream/lib/rspec/core/mocking_adapters/mocha.rb +8 -8
  297. data/rspec-core/upstream/lib/rspec/core/notifications.rb +180 -201
  298. data/rspec-core/upstream/lib/rspec/core/option_parser.rb +159 -58
  299. data/rspec-core/upstream/lib/rspec/core/ordering.rb +40 -26
  300. data/rspec-core/upstream/lib/rspec/core/output_wrapper.rb +29 -0
  301. data/rspec-core/upstream/lib/rspec/core/pending.rb +19 -25
  302. data/rspec-core/upstream/lib/rspec/core/profiler.rb +34 -0
  303. data/rspec-core/upstream/lib/rspec/core/project_initializer/.rspec +0 -1
  304. data/rspec-core/upstream/lib/rspec/core/project_initializer/spec/spec_helper.rb +31 -22
  305. data/rspec-core/upstream/lib/rspec/core/project_initializer.rb +1 -1
  306. data/rspec-core/upstream/lib/rspec/core/rake_task.rb +73 -72
  307. data/rspec-core/upstream/lib/rspec/core/reporter.rb +134 -18
  308. data/rspec-core/upstream/lib/rspec/core/ruby_project.rb +13 -5
  309. data/rspec-core/upstream/lib/rspec/core/runner.rb +99 -45
  310. data/rspec-core/upstream/lib/rspec/core/sandbox.rb +37 -0
  311. data/rspec-core/upstream/lib/rspec/core/set.rb +54 -0
  312. data/rspec-core/upstream/lib/rspec/core/shared_example_group.rb +126 -37
  313. data/rspec-core/upstream/lib/rspec/core/shell_escape.rb +49 -0
  314. data/rspec-core/upstream/lib/rspec/core/test_unit_assertions_adapter.rb +3 -3
  315. data/rspec-core/upstream/lib/rspec/core/version.rb +1 -1
  316. data/rspec-core/upstream/lib/rspec/core/warnings.rb +2 -2
  317. data/rspec-core/upstream/lib/rspec/core/world.rb +164 -60
  318. data/rspec-core/upstream/lib/rspec/core.rb +64 -21
  319. data/rspec-core/upstream/maintenance-branch +1 -1
  320. data/rspec-core/upstream/rspec-core.gemspec +16 -11
  321. data/rspec-core/upstream/script/ci_functions.sh +73 -0
  322. data/rspec-core/upstream/script/clone_all_rspec_repos +2 -2
  323. data/rspec-core/upstream/script/cucumber.sh +8 -0
  324. data/rspec-core/upstream/script/custom_build_functions.sh +22 -0
  325. data/rspec-core/upstream/script/functions.sh +125 -89
  326. data/rspec-core/upstream/script/legacy_setup.sh +20 -0
  327. data/rspec-core/upstream/script/predicate_functions.sh +162 -0
  328. data/rspec-core/upstream/script/rspec_with_simplecov +6 -6
  329. data/rspec-core/upstream/script/run_build +14 -9
  330. data/rspec-core/upstream/script/run_rubocop +14 -0
  331. data/rspec-core/upstream/script/update_rubygems_and_install_bundler +20 -0
  332. data/rspec-expectations/upstream/.document +1 -1
  333. data/rspec-expectations/upstream/.github/FUNDING.yml +5 -0
  334. data/rspec-expectations/upstream/.github/workflows/ci.yml +150 -0
  335. data/rspec-expectations/upstream/.gitignore +2 -0
  336. data/rspec-expectations/upstream/.rubocop.yml +126 -2
  337. data/rspec-expectations/upstream/.rubocop_rspec_base.yml +224 -38
  338. data/rspec-expectations/upstream/.rubocop_todo.yml +335 -0
  339. data/rspec-expectations/upstream/.yardopts +1 -1
  340. data/rspec-expectations/upstream/BUILD_DETAIL.md +149 -0
  341. data/rspec-expectations/upstream/CODE_OF_CONDUCT.md +59 -0
  342. data/rspec-expectations/upstream/CONTRIBUTING.md +86 -0
  343. data/rspec-expectations/upstream/Changelog.md +454 -4
  344. data/rspec-expectations/upstream/DEV-README.md +3 -3
  345. data/rspec-expectations/upstream/DEVELOPMENT.md +131 -0
  346. data/rspec-expectations/upstream/Gemfile +77 -9
  347. data/rspec-expectations/upstream/ISSUE_TEMPLATE.md +24 -0
  348. data/{rspec-mocks/upstream/License.txt → rspec-expectations/upstream/LICENSE.md} +5 -4
  349. data/rspec-expectations/upstream/README.md +73 -31
  350. data/rspec-expectations/upstream/REPORT_TEMPLATE.md +43 -0
  351. data/rspec-expectations/upstream/Rakefile +13 -10
  352. data/rspec-expectations/upstream/Should.md +13 -5
  353. data/rspec-expectations/upstream/benchmarks/2.x_vs_3.x_matcher_dsl_implementation.rb +1 -2
  354. data/rspec-expectations/upstream/benchmarks/caller_vs_raise_for_backtrace.rb +77 -0
  355. data/rspec-expectations/upstream/benchmarks/count_vs_select_size.rb +68 -0
  356. data/rspec-expectations/upstream/benchmarks/default_messages_as_methods_v_blocks.rb +1 -1
  357. data/rspec-expectations/upstream/benchmarks/gsub_vs_tr_single_character.rb +28 -0
  358. data/rspec-expectations/upstream/benchmarks/include_matcher.rb +249 -0
  359. data/rspec-expectations/upstream/benchmarks/include_v_superclass.rb +0 -1
  360. data/rspec-expectations/upstream/benchmarks/match_array/failing_with_duplicate_items.rb +1 -1
  361. data/rspec-expectations/upstream/benchmarks/output_stringio_vs_tempfile.rb +31 -0
  362. data/rspec-expectations/upstream/benchmarks/set_vs_array_include.rb +1 -3
  363. data/rspec-expectations/upstream/cucumber.yml +9 -4
  364. data/rspec-expectations/upstream/features/.nav +1 -0
  365. data/rspec-expectations/upstream/features/aggregating_failures.feature +56 -0
  366. data/rspec-expectations/upstream/features/built_in_matchers/README.md +3 -3
  367. data/rspec-expectations/upstream/features/built_in_matchers/all.feature +3 -2
  368. data/rspec-expectations/upstream/features/built_in_matchers/be_within.feature +1 -1
  369. data/rspec-expectations/upstream/features/built_in_matchers/change.feature +8 -6
  370. data/rspec-expectations/upstream/features/built_in_matchers/comparisons.feature +33 -1
  371. data/rspec-expectations/upstream/features/built_in_matchers/contain_exactly.feature +1 -0
  372. data/rspec-expectations/upstream/features/built_in_matchers/cover.feature +3 -3
  373. data/rspec-expectations/upstream/features/built_in_matchers/exist.feature +1 -1
  374. data/rspec-expectations/upstream/features/built_in_matchers/have_attributes.feature +1 -2
  375. data/rspec-expectations/upstream/features/built_in_matchers/include.feature +74 -17
  376. data/rspec-expectations/upstream/features/built_in_matchers/match.feature +2 -2
  377. data/rspec-expectations/upstream/features/built_in_matchers/output.feature +67 -4
  378. data/rspec-expectations/upstream/features/built_in_matchers/predicates.feature +56 -19
  379. data/rspec-expectations/upstream/features/built_in_matchers/raise_error.feature +16 -2
  380. data/rspec-expectations/upstream/features/built_in_matchers/respond_to.feature +191 -3
  381. data/rspec-expectations/upstream/features/built_in_matchers/satisfy.feature +17 -8
  382. data/rspec-expectations/upstream/features/built_in_matchers/throw_symbol.feature +1 -1
  383. data/rspec-expectations/upstream/features/built_in_matchers/types.feature +34 -34
  384. data/rspec-expectations/upstream/features/built_in_matchers/yield.feature +2 -2
  385. data/rspec-expectations/upstream/features/composing_matchers.feature +4 -4
  386. data/rspec-expectations/upstream/features/custom_matchers/define_block_matcher.feature +78 -0
  387. data/rspec-expectations/upstream/features/custom_matchers/define_diffable_matcher.feature +115 -3
  388. data/rspec-expectations/upstream/features/custom_matchers/define_matcher.feature +173 -21
  389. data/rspec-expectations/upstream/features/custom_matchers/define_matcher_with_fluent_interface.feature +21 -2
  390. data/rspec-expectations/upstream/features/define_negated_matcher.feature +2 -1
  391. data/rspec-expectations/upstream/features/diffing.feature +29 -1
  392. data/rspec-expectations/upstream/features/implicit_docstrings.feature +8 -8
  393. data/rspec-expectations/upstream/features/step_definitions/additional_cli_steps.rb +11 -7
  394. data/rspec-expectations/upstream/features/support/diff_lcs_versions.rb +25 -0
  395. data/rspec-expectations/upstream/features/support/disallow_certain_apis.rb +3 -3
  396. data/rspec-expectations/upstream/features/support/env.rb +11 -11
  397. data/rspec-expectations/upstream/features/support/rubinius.rb +1 -1
  398. data/rspec-expectations/upstream/features/support/ruby_features.rb +39 -0
  399. data/rspec-expectations/upstream/features/syntax_configuration.feature +9 -9
  400. data/rspec-expectations/upstream/features/test_frameworks/minitest.feature +69 -2
  401. data/rspec-expectations/upstream/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  402. data/rspec-expectations/upstream/lib/rspec/expectations/configuration.rb +84 -1
  403. data/rspec-expectations/upstream/lib/rspec/expectations/expectation_target.rb +82 -38
  404. data/rspec-expectations/upstream/lib/rspec/expectations/fail_with.rb +11 -6
  405. data/rspec-expectations/upstream/lib/rspec/expectations/failure_aggregator.rb +212 -0
  406. data/rspec-expectations/upstream/lib/rspec/expectations/handler.rb +27 -12
  407. data/rspec-expectations/upstream/lib/rspec/expectations/minitest_integration.rb +43 -2
  408. data/rspec-expectations/upstream/lib/rspec/expectations/syntax.rb +5 -5
  409. data/rspec-expectations/upstream/lib/rspec/expectations/version.rb +1 -1
  410. data/rspec-expectations/upstream/lib/rspec/expectations.rb +15 -1
  411. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/all.rb +1 -0
  412. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/base_matcher.rb +77 -11
  413. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be.rb +28 -114
  414. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_between.rb +1 -1
  415. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_instance_of.rb +5 -1
  416. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_kind_of.rb +5 -1
  417. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/be_within.rb +4 -4
  418. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/change.rb +168 -55
  419. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/compound.rb +61 -29
  420. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/contain_exactly.rb +73 -12
  421. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  422. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eq.rb +3 -38
  423. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/eql.rb +2 -2
  424. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/equal.rb +3 -3
  425. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/exist.rb +7 -3
  426. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/has.rb +90 -24
  427. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/have_attributes.rb +37 -7
  428. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/include.rb +124 -23
  429. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/match.rb +79 -2
  430. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/operators.rb +14 -5
  431. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/output.rb +56 -1
  432. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/raise_error.rb +126 -29
  433. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/respond_to.rb +118 -9
  434. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/satisfy.rb +28 -7
  435. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/{start_and_end_with.rb → start_or_end_with.rb} +20 -8
  436. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/throw_symbol.rb +11 -5
  437. data/rspec-expectations/upstream/lib/rspec/matchers/built_in/yield.rb +110 -155
  438. data/rspec-expectations/upstream/lib/rspec/matchers/built_in.rb +4 -3
  439. data/rspec-expectations/upstream/lib/rspec/matchers/composable.rb +23 -35
  440. data/rspec-expectations/upstream/lib/rspec/matchers/dsl.rb +179 -26
  441. data/rspec-expectations/upstream/lib/rspec/matchers/english_phrasing.rb +58 -0
  442. data/rspec-expectations/upstream/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  443. data/rspec-expectations/upstream/lib/rspec/matchers/fail_matchers.rb +42 -0
  444. data/rspec-expectations/upstream/lib/rspec/matchers/generated_descriptions.rb +1 -2
  445. data/rspec-expectations/upstream/lib/rspec/matchers/matcher_delegator.rb +2 -0
  446. data/rspec-expectations/upstream/lib/rspec/matchers/matcher_protocol.rb +72 -66
  447. data/rspec-expectations/upstream/lib/rspec/matchers.rb +227 -150
  448. data/rspec-expectations/upstream/maintenance-branch +1 -1
  449. data/rspec-expectations/upstream/rspec-expectations.gemspec +13 -8
  450. data/rspec-expectations/upstream/script/ci_functions.sh +73 -0
  451. data/rspec-expectations/upstream/script/clone_all_rspec_repos +2 -2
  452. data/rspec-expectations/upstream/script/cucumber.sh +8 -0
  453. data/rspec-expectations/upstream/script/functions.sh +125 -89
  454. data/rspec-expectations/upstream/script/legacy_setup.sh +20 -0
  455. data/rspec-expectations/upstream/script/predicate_functions.sh +162 -0
  456. data/rspec-expectations/upstream/script/run_build +14 -9
  457. data/rspec-expectations/upstream/script/run_rubocop +14 -0
  458. data/rspec-expectations/upstream/script/update_rubygems_and_install_bundler +20 -0
  459. data/rspec-mocks/upstream/.document +1 -1
  460. data/rspec-mocks/upstream/.github/FUNDING.yml +5 -0
  461. data/rspec-mocks/upstream/.github/workflows/ci.yml +150 -0
  462. data/rspec-mocks/upstream/.gitignore +2 -0
  463. data/rspec-mocks/upstream/.rubocop.yml +28 -9
  464. data/rspec-mocks/upstream/.rubocop_rspec_base.yml +224 -38
  465. data/rspec-mocks/upstream/.rubocop_todo.yml +573 -0
  466. data/rspec-mocks/upstream/.yardopts +1 -1
  467. data/rspec-mocks/upstream/BUILD_DETAIL.md +149 -0
  468. data/rspec-mocks/upstream/CODE_OF_CONDUCT.md +59 -0
  469. data/rspec-mocks/upstream/CONTRIBUTING.md +86 -0
  470. data/rspec-mocks/upstream/Changelog.md +398 -3
  471. data/rspec-mocks/upstream/DEV-README.md +3 -3
  472. data/rspec-mocks/upstream/DEVELOPMENT.md +131 -0
  473. data/rspec-mocks/upstream/Gemfile +77 -10
  474. data/rspec-mocks/upstream/ISSUE_TEMPLATE.md +24 -0
  475. data/{rspec-expectations/upstream/License.txt → rspec-mocks/upstream/LICENSE.md} +5 -4
  476. data/rspec-mocks/upstream/README.md +83 -17
  477. data/rspec-mocks/upstream/REPORT_TEMPLATE.md +43 -0
  478. data/rspec-mocks/upstream/Rakefile +3 -3
  479. data/rspec-mocks/upstream/benchmarks/accessing_configuration_via_method_vs_cache.rb +52 -0
  480. data/rspec-mocks/upstream/benchmarks/allocations/1_object_1000_mocks.rb +76 -0
  481. data/rspec-mocks/upstream/benchmarks/allocations/helper.rb +17 -0
  482. data/rspec-mocks/upstream/benchmarks/each_value_v_values_each.rb +4 -5
  483. data/rspec-mocks/upstream/benchmarks/find_original_method_early.rb +1 -1
  484. data/rspec-mocks/upstream/benchmarks/method_defined_at_any_visibility.rb +3 -3
  485. data/rspec-mocks/upstream/benchmarks/thread_safety.rb +1 -1
  486. data/rspec-mocks/upstream/benchmarks/transfer_nested_constants.rb +1 -1
  487. data/rspec-mocks/upstream/cucumber.yml +8 -1
  488. data/rspec-mocks/upstream/features/.nav +2 -0
  489. data/rspec-mocks/upstream/features/basics/allowing_messages.feature +1 -1
  490. data/rspec-mocks/upstream/features/basics/expecting_messages.feature +40 -1
  491. data/rspec-mocks/upstream/features/basics/null_object_doubles.feature +1 -1
  492. data/rspec-mocks/upstream/features/basics/partial_test_doubles.feature +1 -1
  493. data/rspec-mocks/upstream/features/basics/scope.feature +5 -5
  494. data/rspec-mocks/upstream/features/basics/spies.feature +17 -30
  495. data/rspec-mocks/upstream/features/basics/test_doubles.feature +4 -4
  496. data/rspec-mocks/upstream/features/configuring_responses/README.md +2 -0
  497. data/rspec-mocks/upstream/features/configuring_responses/calling_the_original_implementation.feature +2 -2
  498. data/rspec-mocks/upstream/features/configuring_responses/mixed_responses.feature +25 -0
  499. data/rspec-mocks/upstream/features/configuring_responses/raising_an_error.feature +1 -0
  500. data/rspec-mocks/upstream/features/configuring_responses/wrapping_the_original_implementation.feature +3 -3
  501. data/rspec-mocks/upstream/features/configuring_responses/yielding.feature +2 -2
  502. data/rspec-mocks/upstream/features/mutating_constants/README.md +1 -1
  503. data/rspec-mocks/upstream/features/old_syntax/any_instance.feature +3 -3
  504. data/rspec-mocks/upstream/features/old_syntax/should_receive.feature +3 -1
  505. data/rspec-mocks/upstream/features/outside_rspec/any_test_framework.feature +116 -0
  506. data/rspec-mocks/upstream/features/outside_rspec/minitest.feature +202 -46
  507. data/rspec-mocks/upstream/features/outside_rspec/standalone.feature +5 -5
  508. data/rspec-mocks/upstream/features/setting_constraints/matching_arguments.feature +54 -27
  509. data/rspec-mocks/upstream/features/setting_constraints/message_order.feature +2 -2
  510. data/rspec-mocks/upstream/features/setting_constraints/receive_counts.feature +18 -0
  511. data/rspec-mocks/upstream/features/step_definitions/additional_cli_steps.rb +4 -4
  512. data/rspec-mocks/upstream/features/support/disallow_certain_apis.rb +3 -2
  513. data/rspec-mocks/upstream/features/support/env.rb +12 -12
  514. data/rspec-mocks/upstream/features/support/rubinius.rb +1 -1
  515. data/rspec-mocks/upstream/features/verifying_doubles/README.md +2 -2
  516. data/rspec-mocks/upstream/features/verifying_doubles/class_doubles.feature +1 -1
  517. data/rspec-mocks/upstream/features/verifying_doubles/dynamic_classes.feature +41 -5
  518. data/rspec-mocks/upstream/features/verifying_doubles/instance_doubles.feature +5 -3
  519. data/rspec-mocks/upstream/features/working_with_legacy_code/any_instance.feature +8 -6
  520. data/rspec-mocks/upstream/features/working_with_legacy_code/message_chains.feature +16 -1
  521. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/chain.rb +3 -1
  522. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  523. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expect_chain_chain.rb +1 -5
  524. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/expectation_chain.rb +7 -5
  525. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/message_chains.rb +1 -3
  526. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/recorder.rb +42 -14
  527. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain.rb +13 -7
  528. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance/stub_chain_chain.rb +1 -5
  529. data/rspec-mocks/upstream/lib/rspec/mocks/any_instance.rb +1 -0
  530. data/rspec-mocks/upstream/lib/rspec/mocks/argument_list_matcher.rb +53 -10
  531. data/rspec-mocks/upstream/lib/rspec/mocks/argument_matchers.rb +66 -26
  532. data/rspec-mocks/upstream/lib/rspec/mocks/configuration.rb +59 -4
  533. data/rspec-mocks/upstream/lib/rspec/mocks/error_generator.rb +235 -108
  534. data/rspec-mocks/upstream/lib/rspec/mocks/example_methods.rb +82 -27
  535. data/rspec-mocks/upstream/lib/rspec/mocks/instance_method_stasher.rb +12 -1
  536. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/have_received.rb +30 -17
  537. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive.rb +28 -1
  538. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_message_chain.rb +17 -1
  539. data/rspec-mocks/upstream/lib/rspec/mocks/matchers/receive_messages.rb +6 -0
  540. data/rspec-mocks/upstream/lib/rspec/mocks/message_chain.rb +0 -4
  541. data/rspec-mocks/upstream/lib/rspec/mocks/message_expectation.rb +430 -304
  542. data/rspec-mocks/upstream/lib/rspec/mocks/method_double.rb +46 -15
  543. data/rspec-mocks/upstream/lib/rspec/mocks/method_reference.rb +78 -19
  544. data/rspec-mocks/upstream/lib/rspec/mocks/minitest_integration.rb +68 -0
  545. data/rspec-mocks/upstream/lib/rspec/mocks/mutate_const.rb +23 -8
  546. data/rspec-mocks/upstream/lib/rspec/mocks/object_reference.rb +81 -23
  547. data/rspec-mocks/upstream/lib/rspec/mocks/proxy.rb +135 -41
  548. data/rspec-mocks/upstream/lib/rspec/mocks/space.rb +33 -16
  549. data/rspec-mocks/upstream/lib/rspec/mocks/standalone.rb +1 -1
  550. data/rspec-mocks/upstream/lib/rspec/mocks/syntax.rb +18 -22
  551. data/rspec-mocks/upstream/lib/rspec/mocks/targets.rb +51 -24
  552. data/rspec-mocks/upstream/lib/rspec/mocks/test_double.rb +42 -6
  553. data/rspec-mocks/upstream/lib/rspec/mocks/verifying_double.rb +15 -21
  554. data/rspec-mocks/upstream/lib/rspec/mocks/{verifying_message_expecation.rb → verifying_message_expectation.rb} +11 -18
  555. data/rspec-mocks/upstream/lib/rspec/mocks/verifying_proxy.rb +60 -11
  556. data/rspec-mocks/upstream/lib/rspec/mocks/version.rb +1 -1
  557. data/rspec-mocks/upstream/lib/rspec/mocks.rb +8 -1
  558. data/rspec-mocks/upstream/maintenance-branch +1 -1
  559. data/rspec-mocks/upstream/rspec-mocks.gemspec +14 -6
  560. data/rspec-mocks/upstream/script/ci_functions.sh +73 -0
  561. data/rspec-mocks/upstream/script/clone_all_rspec_repos +2 -2
  562. data/rspec-mocks/upstream/script/cucumber.sh +8 -0
  563. data/rspec-mocks/upstream/script/functions.sh +125 -89
  564. data/rspec-mocks/upstream/script/legacy_setup.sh +20 -0
  565. data/rspec-mocks/upstream/script/predicate_functions.sh +162 -0
  566. data/rspec-mocks/upstream/script/run_build +14 -9
  567. data/rspec-mocks/upstream/script/run_rubocop +14 -0
  568. data/rspec-mocks/upstream/script/update_rubygems_and_install_bundler +20 -0
  569. data/{stubs/diff/lcs/assertions.rb → rspec-mocks/upstream/tmp/.gitkeep} +0 -0
  570. data/rspec-support/upstream/.github/FUNDING.yml +5 -0
  571. data/rspec-support/upstream/.github/workflows/ci.yml +150 -0
  572. data/rspec-support/upstream/.gitignore +4 -0
  573. data/rspec-support/upstream/.rubocop.yml +33 -1
  574. data/rspec-support/upstream/.rubocop_rspec_base.yml +224 -38
  575. data/rspec-support/upstream/.rubocop_todo.yml +424 -0
  576. data/rspec-support/upstream/BUILD_DETAIL.md +149 -0
  577. data/rspec-support/upstream/CODE_OF_CONDUCT.md +59 -0
  578. data/rspec-support/upstream/CONTRIBUTING.md +86 -0
  579. data/rspec-support/upstream/Changelog.md +287 -0
  580. data/rspec-support/upstream/DEVELOPMENT.md +131 -0
  581. data/rspec-support/upstream/Gemfile +52 -4
  582. data/rspec-support/upstream/ISSUE_TEMPLATE.md +24 -0
  583. data/rspec-support/upstream/{LICENSE.txt → LICENSE.md} +3 -2
  584. data/rspec-support/upstream/README.md +29 -6
  585. data/rspec-support/upstream/REPORT_TEMPLATE.md +43 -0
  586. data/rspec-support/upstream/Rakefile +9 -5
  587. data/rspec-support/upstream/benchmarks/caller_vs_caller_locations.rb +19 -0
  588. data/rspec-support/upstream/benchmarks/caller_vs_caller_locations_vs_raise.rb +153 -0
  589. data/rspec-support/upstream/benchmarks/class_exec_vs_klass_exec.rb +43 -0
  590. data/rspec-support/upstream/benchmarks/map_hash.rb +70 -0
  591. data/rspec-support/upstream/benchmarks/ripper.rb +44 -0
  592. data/rspec-support/upstream/benchmarks/skip_frames_for_caller_filter.rb +27 -0
  593. data/rspec-support/upstream/lib/rspec/support/caller_filter.rb +35 -15
  594. data/rspec-support/upstream/lib/rspec/support/comparable_version.rb +46 -0
  595. data/rspec-support/upstream/lib/rspec/support/differ.rb +35 -34
  596. data/rspec-support/upstream/lib/rspec/support/directory_maker.rb +3 -1
  597. data/rspec-support/upstream/lib/rspec/support/encoded_string.rb +103 -11
  598. data/rspec-support/upstream/lib/rspec/support/fuzzy_matcher.rb +5 -5
  599. data/rspec-support/upstream/lib/rspec/support/matcher_definition.rb +11 -0
  600. data/rspec-support/upstream/lib/rspec/support/method_signature_verifier.rb +192 -26
  601. data/rspec-support/upstream/lib/rspec/support/mutex.rb +73 -0
  602. data/rspec-support/upstream/lib/rspec/support/object_formatter.rb +275 -0
  603. data/rspec-support/upstream/lib/rspec/support/recursive_const_methods.rb +1 -1
  604. data/rspec-support/upstream/lib/rspec/support/reentrant_mutex.rb +78 -0
  605. data/rspec-support/upstream/lib/rspec/support/ruby_features.rb +168 -15
  606. data/rspec-support/upstream/lib/rspec/support/source/location.rb +21 -0
  607. data/rspec-support/upstream/lib/rspec/support/source/node.rb +110 -0
  608. data/rspec-support/upstream/lib/rspec/support/source/token.rb +94 -0
  609. data/rspec-support/upstream/lib/rspec/support/source.rb +85 -0
  610. data/rspec-support/upstream/lib/rspec/support/spec/deprecation_helpers.rb +17 -29
  611. data/rspec-support/upstream/lib/rspec/support/spec/diff_helpers.rb +31 -0
  612. data/rspec-support/upstream/lib/rspec/support/spec/in_sub_process.rb +41 -17
  613. data/rspec-support/upstream/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  614. data/rspec-support/upstream/lib/rspec/support/spec/shell_out.rb +39 -3
  615. data/rspec-support/upstream/lib/rspec/support/spec/stderr_splitter.rb +27 -4
  616. data/rspec-support/upstream/lib/rspec/support/spec/string_matcher.rb +45 -0
  617. data/rspec-support/upstream/lib/rspec/support/spec/with_isolated_directory.rb +5 -1
  618. data/rspec-support/upstream/lib/rspec/support/spec.rb +17 -7
  619. data/rspec-support/upstream/lib/rspec/support/version.rb +1 -1
  620. data/rspec-support/upstream/lib/rspec/support/warnings.rb +3 -3
  621. data/rspec-support/upstream/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  622. data/rspec-support/upstream/lib/rspec/support.rb +81 -3
  623. data/rspec-support/upstream/maintenance-branch +1 -1
  624. data/rspec-support/upstream/rspec-support.gemspec +10 -4
  625. data/rspec-support/upstream/script/ci_functions.sh +73 -0
  626. data/rspec-support/upstream/script/clone_all_rspec_repos +2 -2
  627. data/rspec-support/upstream/script/cucumber.sh +8 -0
  628. data/rspec-support/upstream/script/functions.sh +125 -89
  629. data/rspec-support/upstream/script/legacy_setup.sh +20 -0
  630. data/rspec-support/upstream/script/predicate_functions.sh +162 -0
  631. data/rspec-support/upstream/script/run_build +14 -9
  632. data/rspec-support/upstream/script/run_rubocop +14 -0
  633. data/rspec-support/upstream/script/update_rubygems_and_install_bundler +20 -0
  634. data/stubs/{diff/lcs/block.rb → coderay.rb} +0 -0
  635. data/stubs/{diff/lcs/callbacks.rb → drb/acl.rb} +0 -0
  636. data/stubs/{diff/lcs/change.rb → erb/version.rb} +0 -0
  637. data/stubs/{diff/lcs/hunk.rb → open3.rb} +0 -0
  638. data/stubs/{diff/lcs/internals.rb → psych.rb} +0 -0
  639. data/stubs/{optparse.rb → ripper.rb} +0 -0
  640. data/stubs/{prettyprint.rb → thread_order.rb} +0 -0
  641. data/tasks/testing.rake +7 -3
  642. metadata +270 -61
  643. data/gemfiles/.bundle/config +0 -2
  644. data/gemfiles/opal_0.11.gemfile +0 -14
  645. data/gemfiles/opal_master.gemfile +0 -14
  646. data/lib-opal/opal/rspec/async/core_ext.rb +0 -23
  647. data/lib-opal/opal/rspec/async/legacy.rb +0 -49
  648. data/lib-opal/opal/rspec/fixes/rspec/caller_filter.rb +0 -6
  649. data/lib-opal/opal/rspec/fixes/rspec/core/example.rb +0 -20
  650. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/backtrace_formatter.rb +0 -20
  651. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/console_codes.rb +0 -11
  652. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/generated_deprecation_message.rb +0 -15
  653. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/json_formatter.rb +0 -15
  654. data/lib-opal/opal/rspec/fixes/rspec/core/notifications/failed_example_notification.rb +0 -20
  655. data/lib-opal/opal/rspec/fixes/rspec/core/notifications/summary_notification.rb +0 -21
  656. data/lib-opal/opal/rspec/fixes/rspec/core/warnings.rb +0 -27
  657. data/lib-opal/opal/rspec/fixes/rspec/expectations/fail_with.rb +0 -21
  658. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/all.rb +0 -10
  659. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/compound.rb +0 -15
  660. data/lib-opal/opal/rspec/fixes/rspec/matchers/built_in/yield.rb +0 -21
  661. data/lib-opal/opal/rspec/fixes/rspec/matchers/pretty.rb +0 -15
  662. data/lib-opal/opal/rspec/fixes/rspec/mocks/space.rb +0 -41
  663. data/lib-opal/opal/rspec/fixes/rspec/mocks/test_double.rb +0 -39
  664. data/lib-opal/opal/rspec/fixes/rspec/mocks/verifying_double.rb +0 -29
  665. data/lib-opal/opal/rspec/fixes/rspec/support/recursive_const_methods.rb +0 -7
  666. data/lib-opal/opal/rspec/fixes/rspec/support/spec/stderr_splitter.rb +0 -13
  667. data/lib-opal/opal/rspec/fixes/rspec/support/spec.rb +0 -1
  668. data/lib-opal/opal/rspec/fixes/rspec/support/warnings.rb +0 -16
  669. data/rspec/upstream/License.txt +0 -24
  670. data/rspec-core/upstream/.travis.yml +0 -35
  671. data/rspec-core/upstream/benchmarks/sort_by_v_shuffle.rb +0 -83
  672. data/rspec-core/upstream/features/Upgrade.md +0 -352
  673. data/rspec-core/upstream/lib/rspec/core/backport_random.rb +0 -336
  674. data/rspec-expectations/upstream/.travis.yml +0 -35
  675. data/rspec-expectations/upstream/lib/rspec/matchers/pretty.rb +0 -77
  676. data/rspec-mocks/upstream/.travis.yml +0 -35
  677. data/rspec-support/upstream/.travis.yml +0 -35
  678. data/rspec-support/upstream/lib/rspec/support/os.rb +0 -18
  679. data/rspec-support/upstream/lib/rspec/support/spec/prevent_load_time_warnings.rb +0 -44
  680. data/rspec-support/upstream/lib/rspec/support/version_checker.rb +0 -53
  681. data/stubs/shellwords.rb +0 -0
  682. data/stubs/uri.rb +0 -0
  683. data/vendor/spec_runner.js +0 -64
@@ -1,3 +1,383 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.0...main)
3
+
4
+ ### 3.12.0 / 2022-10-26
5
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.2...v3.12.0)
6
+
7
+ Enhancements:
8
+
9
+ * Improve diff output when diffing keyword arguments against hashes.
10
+ (Jean Boussier, #1461)
11
+
12
+ ### 3.11.2 / 2022-10-25
13
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.1...v3.11.2)
14
+
15
+ Bug Fixes:
16
+
17
+ * Use the original implementation of `Class.new` to detect overridden definitions
18
+ of `new` rather than the owner, fixing detection of "double aliased" methods
19
+ in Ruby 3 and above. (Benoit Daloze, #1470, #1476)
20
+ * Support keyword argument semantics when constraining argument expectations using
21
+ `with` on Ruby 3.0+ with `instance_double` (Andrii Malyshko, #1473)
22
+
23
+ ### 3.11.1 / 2022-03-31
24
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.0...v3.11.1)
25
+
26
+ Bug Fixes:
27
+
28
+ * Add extra `ruby2_keywords` calls to properly designate methods using
29
+ `*args` to pass keyword around, fixes an issue with TruffleRuby.
30
+ (Benoit Daloze, #1464)
31
+
32
+ ### 3.11.0 / 2022-02-09
33
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.3...v3.11.0)
34
+
35
+ Enhancements:
36
+
37
+ * Add `and_invoke` implementation for configuring responses to `receive`
38
+ (and `receive_messages`) with multiple callable objects. (Kyle Smith, #1411)
39
+
40
+ ### 3.10.3 / 2022-01-28
41
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.2...v3.10.3)
42
+
43
+ Bug Fixes:
44
+
45
+ * Suppress warning by setting `$VERBOSE` to nil. (Nobuyoshi Nakada, #1414)
46
+ * Support keyword argument semantics when constraining argument expectations using
47
+ `with` on Ruby 3.0+ (Yusuke Endoh, #1394)
48
+
49
+ ### 3.10.2 / 2021-01-27
50
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.1...v3.10.2)
51
+
52
+ Bug Fixes:
53
+
54
+ * Support keyword arguments with `and_call_original` on Ruby 3.0.
55
+ (Bryan Powell, #1385)
56
+ * `RSpec::Mocks::Constant#previously_defined?` is now always a boolean.
57
+ (Phil Pirozhkov, #1397)
58
+ * Support keyword arguments on Ruby 3.0 when used with `expect_any_instance_of`
59
+ or `allow_any_instance_of` with `and_call_original`.
60
+ (Jess Hottenstein, #1407)
61
+
62
+ ### 3.10.1 / 2020-12-27
63
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.0...v3.10.1)
64
+
65
+ Bug Fixes:
66
+
67
+ * Issue `ArgumentError` rather than `TypeError` when unsupported methods on
68
+ unsupported objects are attempted to be stubbed. (@zhisme, #1357)
69
+
70
+ ### 3.10.0 / 2020-10-30
71
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.1...v3.10.0)
72
+
73
+ Enhancements:
74
+ * Add the ability to set a custom error generator in `MessageExpectation`.
75
+ This will allow rspec-expectations to inject a custom failure message.
76
+ (Benoit Tigeot and Nicolas Zermati, #1312)
77
+ * Return the result of the block passed to `RSpec::Mocks.with_temporary_scope`
78
+ when block run. (@expeehaa, #1329)
79
+
80
+ ### 3.9.1 / 2019-12-31
81
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.0...v3.9.1)
82
+
83
+ Bug Fixes:
84
+
85
+ * Trigger `RSpec::Mocks.configuration.verifying_double_callbacks` when using
86
+ `allow_any_instance_of` or `expect_any_instance_of` (Daniel Orner, #1309)
87
+
88
+ ### 3.9.0 / 2019-10-07
89
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.2...v3.9.0)
90
+
91
+ Enhancements:
92
+
93
+ * Improve thread safety of message expectations by using Mutex to prevent
94
+ deadlocking errors. (Ry Biesemeyer, #1236)
95
+ * Add the ability to use `time` as an alias for `times`. For example:
96
+ `expect(Class).to receive(:method).exactly(1).time`.
97
+ (Pistos, Benoit Tigeot, #1271)
98
+
99
+ ### 3.8.2 / 2019-10-02
100
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.1...v3.8.2)
101
+
102
+ * Allow `array_including` argument matchers to be nested.
103
+ (Emmanuel Delmas, #1291)
104
+
105
+ ### 3.8.1 / 2019-06-13
106
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.0...v3.8.1)
107
+
108
+ Bug Fixes:
109
+
110
+ * Ensure stubbing methods does not change their visibility.
111
+ (Kevin Boschert, #1277)
112
+
113
+ ### 3.8.0 / 2018-08-04
114
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.7.0...v3.8.0)
115
+
116
+ Bug Fixes:
117
+
118
+ * Issue error when encountering invalid "counted" negative message expectations.
119
+ (Sergiy Yarinovskiy, #1212)
120
+ * Ensure `allow_any_instance_of` and `expect_any_instance_of` can be temporarily
121
+ supressed. (Jon Rowe, #1228)
122
+ * Ensure `expect_any_instance_of(double).to_not have_received(:some_method)`
123
+ fails gracefully (as its not supported) rather than issuing a `NoMethodError`.
124
+ (Maxim Krizhanovsky, #1231)
125
+
126
+ ### 3.7.0 / 2017-10-17
127
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0...v3.7.0)
128
+
129
+ Enhancements:
130
+
131
+ * Improve compatibility with `--enable-frozen-string-literal` option
132
+ on Ruby 2.3+. (Pat Allan, #1165)
133
+
134
+ Bug Fixes:
135
+
136
+ * Fix `hash_including` and `hash_excluding` so that they work against
137
+ subclasses of `Hash`. (Aaron Rosenberg, #1167)
138
+
139
+ ### 3.6.0 / 2017-05-04
140
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta2...v3.6.0)
141
+
142
+ Bug Fixes:
143
+
144
+ * Fix "instance variable @color not initialized" warning when using
145
+ rspec-mocks without rspec-core. (Myron Marston, #1142)
146
+ * Restore aliased module methods properly when stubbing on 1.8.7.
147
+ (Samuel Giddins, #1144)
148
+ * Allow a message chain expectation to be constrained by argument(s).
149
+ (Jon Rowe, #1156)
150
+
151
+ ### 3.6.0.beta2 / 2016-12-12
152
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta1...v3.6.0.beta2)
153
+
154
+ Enhancements:
155
+
156
+ * Add new `without_partial_double_verification { }` API that lets you
157
+ temporarily turn off partial double verification for an example.
158
+ (Jon Rowe, #1104)
159
+
160
+ ### 3.6.0.beta1 / 2016-10-09
161
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0...v3.6.0.beta1)
162
+
163
+ Bug Fixes:
164
+
165
+ * Return the test double instance form `#freeze` (Alessandro Berardi, #1109)
166
+ * Allow the special logic for stubbing `new` to work when `<Class>.method` has
167
+ been redefined. (Proby, #1119)
168
+
169
+ ### 3.5.0 / 2016-07-01
170
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta4...v3.5.0)
171
+
172
+ Enhancements:
173
+
174
+ * Provides a nice string representation of
175
+ `RSpec::Mocks::MessageExpectation` (Myron Marston, #1095)
176
+
177
+ ### 3.5.0.beta4 / 2016-06-05
178
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta3...v3.5.0.beta4)
179
+
180
+ Enhancements:
181
+
182
+ * Add `and_throw` to any instance handling. (Tobias Bühlmann, #1068)
183
+
184
+ ### 3.5.0.beta3 / 2016-04-02
185
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta2...v3.5.0.beta3)
186
+
187
+ Enhancements:
188
+
189
+ * Issue warning when attempting to use unsupported
190
+ `allow(...).to receive(...).ordered`. (Jon Rowe, #1000)
191
+ * Add `rspec/mocks/minitest_integration`, to properly integrate rspec-mocks
192
+ with minitest. (Myron Marston, #1065)
193
+
194
+ ### 3.5.0.beta2 / 2016-03-10
195
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta1...v3.5.0.beta2)
196
+
197
+ Enhancements:
198
+
199
+ * Improve error message displayed when using `and_wrap_original` on pure test
200
+ doubles. (betesh, #1063)
201
+
202
+ Bug Fixes:
203
+
204
+ * Fix issue that prevented `receive_message_chain(...).with(...)` working
205
+ correctly on "any instance" mocks. (Jon Rowe, #1061)
206
+
207
+ ### 3.5.0.beta1 / 2016-02-06
208
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.1...v3.5.0.beta1)
209
+
210
+ Bug Fixes:
211
+
212
+ * Allow `any_instance_of(...).to receive(...)` to use `and_yield` multiple
213
+ times. (Kilian Cirera Sant, #1054)
214
+ * Allow matchers which inherit from `rspec-mocks` matchers to be used for
215
+ `allow`. (Andrew Kozin, #1056)
216
+ * Prevent stubbing `respond_to?` on partial doubles from causing infinite
217
+ recursion. (Jon Rowe, #1013)
218
+ * Prevent aliased methods from disapearing after being mocked with
219
+ `any_instance` (regression from #1043). (Joe Rafaniello, #1060)
220
+
221
+ ### 3.4.1 / 2016-01-10
222
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.0...v3.4.1)
223
+
224
+ Bug Fixes:
225
+
226
+ * Fix `any_instance` to work properly on Ruby 2.3. (Joe Rafaniello, #1043)
227
+
228
+ ### 3.4.0 / 2015-11-11
229
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.2...v3.4.0)
230
+
231
+ Enhancements:
232
+
233
+ * Make `expect(...).to have_received` work without relying upon
234
+ rspec-expectations. (Myron Marston, #978)
235
+ * Add option for failing tests when expectations are set on `nil`.
236
+ (Liz Rush, #983)
237
+
238
+ Bug Fixes:
239
+
240
+ * Fix `have_received { ... }` so that any block passed when the message
241
+ was received is forwarded to the `have_received` block. (Myron Marston, #1006)
242
+ * Fix infinite loop in error generator when stubbing `respond_to?`.
243
+ (Alex Dowad, #1022)
244
+ * Fix issue with using `receive` on subclasses (at a class level) with 1.8.7.
245
+ (Alex Dowad, #1026)
246
+
247
+ ### 3.3.2 / 2015-07-15
248
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.1...v3.3.2)
249
+
250
+ Bug Fixes:
251
+
252
+ * Prevent thread deadlock errors during proxy creation (e.g. when using
253
+ `before_verifying_doubles` callbacks). (Jon Rowe, #980, #979)
254
+
255
+ ### 3.3.1 / 2015-06-19
256
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.0...v3.3.1)
257
+
258
+ Bug Fixes:
259
+
260
+ * Fix bug in `before_verifying_double` callback logic that caused it to be called
261
+ once for each class in the ancestor list when mocking or stubbing a class. Now
262
+ it is only called for the mocked or stubbed class, as you would expect. (Sam
263
+ Phippen, #974)
264
+
265
+ ### 3.3.0 / 2015-06-12
266
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.1...v3.3.0)
267
+
268
+ Enhancements:
269
+
270
+ * When stubbing `new` on `MyClass` or `class_double(MyClass)`, use the
271
+ method signature from `MyClass#initialize` to verify arguments.
272
+ (Myron Marston, #886)
273
+ * Use matcher descriptions when generating description of received arguments
274
+ for mock expectation failures. (Tim Wade, #891)
275
+ * Avoid loading `stringio` unnecessarily. (Myron Marston, #894)
276
+ * Verifying doubles failure messages now distinguish between class and instance
277
+ level methods. (Tim Wade, #896, #908)
278
+ * Improve mock expectation failure messages so that it combines both
279
+ number of times and the received arguments in the output. (John Ceh, #918)
280
+ * Improve how test doubles are represented in failure messages.
281
+ (Siva Gollapalli, Myron Marston, #932)
282
+ * Rename `RSpec::Mocks::Configuration#when_declaring_verifying_double` to
283
+ `RSpec::Mocks::Configuration#before_verifying_doubles` and utilise when
284
+ verifying partial doubles. (Jon Rowe, #940)
285
+ * Use rspec-support's `ObjectFormatter` for improved formatting of
286
+ arguments in failure messages so that, for example, full time
287
+ precisions is displayed for time objects. (Gavin Miller, Myron Marston, #955)
288
+
289
+ Bug Fixes:
290
+
291
+ * Ensure expectations that raise eagerly also raise during RSpec verification.
292
+ This means that if exceptions are caught inside test execution the test will
293
+ still fail. (Sam Phippen, #884)
294
+ * Fix `have_received(msg).with(args).exactly(n).times` and
295
+ `receive(msg).with(args).exactly(n).times` failure messages
296
+ for when the message was received the wrong number of times with
297
+ the specified args, and also received additional times with other
298
+ arguments. Previously it confusingly listed the arguments as being
299
+ mis-matched (even when the double was allowed to receive with any
300
+ args) rather than listing the count. (John Ceh, #918)
301
+ * Fix `any_args`/`anything` support so that we avoid calling `obj == anything`
302
+ on user objects that may have improperly implemented `==` in a way that
303
+ raises errors. (Myron Marston, #924)
304
+ * Fix edge case involving stubbing the same method on a class and a subclass
305
+ which previously hit a `NoMethodError` internally in RSpec. (Myron Marston #954)
306
+ * Fix edge case where the message received count would be incremented multiple
307
+ times for one failure. (Myron Marston, #957)
308
+ * Fix failure messages for when spies received the expected message with
309
+ different arguments and also received another message. (Maurício Linhares, #960)
310
+ * Silence whitespace-only diffs. (Myron Marston, #969)
311
+
312
+ ### 3.2.1 / 2015-02-23
313
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.0...v3.2.1)
314
+
315
+ Bug Fixes:
316
+
317
+ * Add missing `rspec/support/differ` require so that rspec-mocks can be
318
+ used w/o rspec-expectations (which also loads the differ and hided the
319
+ fact we forgot to require it). (Myron Marston, #893)
320
+ * Revert tracking of received arg mutation (added in 3.2.0 to provide an
321
+ error in a situation we can't support) as our implementation has side
322
+ effects on non-standard objects and there's no solution we could come
323
+ up with that always works. (Myron Marston, #900)
324
+
325
+ ### 3.2.0 / 2015-02-03
326
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.3...v3.2.0)
327
+
328
+ Enhancements:
329
+
330
+ * Treat `any_args` as an arg splat, allowing it to match an arbitrary
331
+ number of args at any point in an arg list. (Myron Marston, #786)
332
+ * Print diffs when arguments in mock expectations are mismatched.
333
+ (Sam Phippen, #751)
334
+ * Support names for verified doubles (`instance_double`, `instance_spy`,
335
+ `class_double`, `class_spy`, `object_double`, `object_spy`). (Cezary
336
+ Baginski, #826)
337
+ * Make `array_including` and `hash_including` argument matchers composable.
338
+ (Sam Phippen, #819)
339
+ * Make `allow_any_instance_of(...).to receive(...).and_wrap_original`
340
+ work. (Ryan Fitzgerald, #869)
341
+
342
+ Bug Fixes:
343
+
344
+ * Provide a clear error when users wrongly combine `no_args` with
345
+ additional arguments (e.g. `expect().to receive().with(no_args, 1)`).
346
+ (Myron Marston, #786)
347
+ * Provide a clear error when users wrongly use `any_args` multiple times in the
348
+ same argument list (e.g. `expect().to receive().with(any_args, 1, any_args)`.
349
+ (Myron Marston, #786)
350
+ * Prevent the error generator from using user object #description methods.
351
+ See [#685](https://github.com/rspec/rspec-mocks/issues/685).
352
+ (Sam Phippen, #751)
353
+ * Make verified doubles declared as `(instance|class)_double(SomeConst)`
354
+ work properly when `SomeConst` has previously been stubbed.
355
+ `(instance|class)_double("SomeClass")` already worked properly.
356
+ (Myron Marston, #824)
357
+ * Add a matcher description for `receive`, `receive_messages` and
358
+ `receive_message_chain`. (Myron Marston, #828)
359
+ * Validate invocation args for null object verified doubles.
360
+ (Myron Marston, #829)
361
+ * Fix `RSpec::Mocks::Constant.original` when called with an invalid
362
+ constant to return an object indicating the constant name is invalid,
363
+ rather than blowing up. (Myron Marston, #833)
364
+ * Make `extend RSpec::Mocks::ExampleMethods` on any object work properly
365
+ to add the rspec-mocks API to that object. Previously, `expect` would
366
+ be undefined. (Myron Marston, #846)
367
+ * Fix `require 'rspec/mocks/standalone'` so that it only affects `main`
368
+ and not every object. It's really only intended to be used in a REPL
369
+ like IRB, but some gems have loaded it, thinking it needs to be loaded
370
+ when using rspec-mocks outside the context of rspec-core.
371
+ (Myron Marston, #846)
372
+ * Prevent message expectations from being modified by customization methods
373
+ (e.g. `with`) after they have been invoked. (Sam Phippen and Melanie Gilman, #837)
374
+ * Handle cases where a method stub cannot be removed due to something
375
+ external to RSpec monkeying with the method definition. This can
376
+ happen, for example, when you `file.reopen(io)` after previously
377
+ stubbing a method on the `file` object. (Myron Marston, #853)
378
+ * Provide a clear error when received message args are mutated before
379
+ a `have_received(...).with(...)` expectation. (Myron Marston, #868)
380
+
1
381
  ### 3.1.3 / 2014-10-08
2
382
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.2...v3.1.3)
3
383
 
@@ -48,7 +428,7 @@ Enhancements:
48
428
  * Add `and_wrap_original` modifier for partial doubles to mutate the
49
429
  response from a method. (Jon Rowe, #762)
50
430
 
51
- Bugfixes:
431
+ Bug Fixes:
52
432
 
53
433
  * Remove `any_number_of_times` from `any_instance` recorders that were
54
434
  erroneously causing mention of the method in documentation. (Jon Rowe, #760)
@@ -240,7 +620,7 @@ Bug Fixes:
240
620
  behavior. (Maurício Linhares)
241
621
 
242
622
  ### 3.0.0.beta1 / 2013-11-07
243
- [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.2...v3.0.0.beta1)
623
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.4...v3.0.0.beta1)
244
624
 
245
625
  Breaking Changes for 3.0.0:
246
626
 
@@ -303,6 +683,20 @@ Bug Fixes:
303
683
  returns `nil` or `''` so that you still get a useful message.
304
684
  (Nick DeLuca)
305
685
 
686
+ ### 2.99.4 / 2015-06-19
687
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.3...v2.99.4)
688
+
689
+ Bug Fixes:
690
+
691
+ * Add missing deprecation for using `with` with no arguments e.g. `with()`. (Yousuke, #970)
692
+
693
+ ### 2.99.3 / 2015-01-09
694
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.2...v2.99.3)
695
+
696
+ Bug Fixes:
697
+
698
+ * Fix regression that caused an error when a test double was deserialized from YAML. (Yuji Nakayama, #777)
699
+
306
700
  ### 2.99.2 / 2014-07-21
307
701
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.1...v2.99.2)
308
702
 
@@ -624,7 +1018,8 @@ Bug fixes
624
1018
  * Fix `should_receive` so that when it is called on an `as_null_object`
625
1019
  double with no implementation, and there is a previous explicit stub
626
1020
  for the same method, the explicit stub remains (rather than being
627
- overriden with the null object implementation--`return self`). (Myron Marston)
1021
+ overridden with the null object implementation--`return self`). (Myron
1022
+ Marston)
628
1023
 
629
1024
  ### 2.11.0 / 2012-07-07
630
1025
  [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.10.1...v2.11.0)
@@ -1,6 +1,6 @@
1
1
  ## Set up the dev environment
2
2
 
3
- git clone git://github.com/rspec/rspec-mocks.git
3
+ git clone https://github.com/rspec/rspec-mocks.git
4
4
  cd rspec-mocks
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-mocks 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-mocks.git
23
+ ```
24
+
25
+ Install the dependencies using [Bundler](https://bundler.io/):
26
+
27
+ ```
28
+ $ cd rspec-mocks
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-mocks
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-mocks)
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.
@@ -8,27 +8,94 @@ branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp
8
8
  if File.exist?(library_path) && !ENV['USE_GIT_REPOS']
9
9
  gem lib, :path => library_path
10
10
  else
11
- gem lib, :git => "git://github.com/rspec/#{lib}.git", :branch => branch
11
+ gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => branch
12
12
  end
13
13
  end
14
14
 
15
- gem 'yard', '~> 0.8.7', :require => false
16
- gem 'rubocop', "~> 0.23.0", :platform => [:ruby_19, :ruby_20, :ruby_21]
15
+ if RUBY_VERSION < '1.9.3'
16
+ gem 'rake', '< 11.0.0' # rake 11 requires Ruby 1.9.3 or later
17
+ elsif RUBY_VERSION < '2.0.0'
18
+ gem 'rake', '< 12.0.0' # rake 12 requires Ruby 2.0.0 or later
19
+ else
20
+ gem 'rake', '> 12.3.2'
21
+ end
22
+
23
+ if ENV['DIFF_LCS_VERSION']
24
+ gem 'diff-lcs', ENV['DIFF_LCS_VERSION']
25
+ else
26
+ gem 'diff-lcs', '~> 1.4', '>= 1.4.3'
27
+ end
28
+
29
+ gem 'yard', '~> 0.9.24', :require => false
30
+
31
+ # No need to run rubocop on earlier versions
32
+ if RUBY_VERSION >= '2.4' && RUBY_ENGINE == 'ruby'
33
+ gem "rubocop", "~> 1.0", "< 1.12"
34
+ end
35
+
36
+ # allow gems to be installed on older rubies and/or windows
37
+ if RUBY_VERSION < '2.2.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
38
+ gem 'ffi', '< 1.10'
39
+ elsif RUBY_VERSION < '2.4.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
40
+ gem 'ffi', '< 1.15'
41
+ elsif RUBY_VERSION < '1.9'
42
+ gem 'ffi', '< 1.9.19' # ffi dropped Ruby 1.8 support in 1.9.19
43
+ elsif RUBY_VERSION < '2.0'
44
+ gem 'ffi', '< 1.11.0' # ffi dropped Ruby 1.9 support in 1.11.0
45
+ else
46
+ gem 'ffi', '> 1.9.24' # prevent Github security vulnerability warning
47
+ end
48
+
49
+ if RUBY_VERSION <= '2.3.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
50
+ gem "childprocess", "< 1.0.0"
51
+ elsif RUBY_VERSION < '2.0.0'
52
+ gem "childprocess", "< 1.0.0"
53
+ end
54
+
55
+ if RUBY_VERSION < '1.9.2'
56
+ gem 'contracts', '~> 0.15.0' # is a dependency of aruba
57
+ end
58
+
59
+ # Version 5.12 of minitest requires Ruby 2.4
60
+ if RUBY_VERSION < '2.4.0'
61
+ gem 'minitest', '< 5.12.0'
62
+ end
63
+
64
+ if RUBY_VERSION < '2.0.0'
65
+ gem 'thor', '< 1.0.0'
66
+ else
67
+ gem 'thor', '> 1.0.0'
68
+ end
17
69
 
18
70
  ### deps for rdoc.info
19
71
  group :documentation do
20
- gem 'redcarpet', '2.1.1' unless RUBY_PLATFORM == 'java'
21
- gem 'github-markup', '0.7.2'
72
+ gem 'redcarpet', :platform => :mri
73
+ gem 'github-markup', :platform => :mri
22
74
  end
23
75
 
24
- gem 'simplecov', '~> 0.8'
76
+ group :coverage do
77
+ gem 'simplecov', '~> 0.8'
78
+ end
25
79
 
26
- platforms :jruby do
27
- gem "jruby-openssl"
80
+ if RUBY_VERSION < '2.0.0' || RUBY_ENGINE == 'java'
81
+ gem 'json', '< 2.0.0' # this is a dependency of simplecov
82
+ else
83
+ gem 'json', '> 2.3.0'
28
84
  end
29
85
 
30
- platforms :rbx do
31
- gem 'rubysl'
86
+ if RUBY_VERSION < '2.0.0'
87
+ gem 'cucumber', "<= 1.3.22"
88
+ end
89
+
90
+ platforms :jruby do
91
+ if RUBY_VERSION < '1.9.0'
92
+ # Pin jruby-openssl on older J Ruby
93
+ gem "jruby-openssl", "< 0.10.0"
94
+ # Pin child-process on older J Ruby
95
+ gem "childprocess", "< 1.0.0"
96
+ else
97
+ gem "jruby-openssl"
98
+ end
32
99
  end
33
100
 
34
101
  eval File.read('Gemfile-custom') if File.exist?('Gemfile-custom')