opal-rspec 0.8.0 → 1.0.0.alpha1

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 +15 -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 -1
  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 +272 -63
  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
@@ -0,0 +1,86 @@
1
+ <!---
2
+ This file was generated on 2020-12-25T18:48:31+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
+ # Contributing
7
+
8
+ RSpec is a community-driven project that has benefited from improvements from over *500* contributors.
9
+ We welcome contributions from *everyone*. While contributing, please follow the project [code of conduct](CODE_OF_CONDUCT.md), so that everyone can be included.
10
+
11
+ If you'd like to help make RSpec better, here are some ways you can contribute:
12
+
13
+ - by running RSpec HEAD to help us catch bugs before new releases
14
+ - by [reporting bugs you encounter](https://github.com/rspec/rspec-support/issues/new) with [report template](#report-template)
15
+ - by [suggesting new features](https://github.com/rspec/rspec-support/issues/new)
16
+ - by improving RSpec's [Relish](https://relishapp.com/rspec) or [API](https://rspec.info/documentation/) documentation
17
+ - by improving [RSpec's website](https://rspec.info/) ([source](https://github.com/rspec/rspec.github.io))
18
+ - by taking part in [feature and issue discussions](https://github.com/rspec/rspec-support/issues)
19
+ - by adding a failing test for reproducible [reported bugs](https://github.com/rspec/rspec-support/issues)
20
+ - by reviewing [pull requests](https://github.com/rspec/rspec-support/pulls) and suggesting improvements
21
+ - by [writing code](DEVELOPMENT.md) (no patch is too small! fix typos or bad whitespace)
22
+
23
+ If you need help getting started, check out the [DEVELOPMENT](DEVELOPMENT.md) file for steps that will get you up and running.
24
+
25
+ Thanks for helping us make RSpec better!
26
+
27
+ ## `Small` issues
28
+
29
+ These issue are ones that we be believe are best suited for new contributors to
30
+ get started with. They represent a meaningful contribution to the project that
31
+ should not be too hard to pull off.
32
+
33
+ ## Report template
34
+
35
+ Having a way to reproduce your issue will be very helpful for others to help confirm,
36
+ investigate and ultimately fix your issue. You can do this by providing an executable
37
+ test case. To make this process easier, we have prepared one basic
38
+ [bug report templates](REPORT_TEMPLATE.md) for you to use as a starting point.
39
+
40
+ ## Maintenance branches
41
+
42
+ Maintenance branches are how we manage the different supported point releases
43
+ of RSpec. As such, while they might look like good candidates to merge into
44
+ main, please do not open pull requests to merge them.
45
+
46
+ ## Working on multiple RSpec gems at the same time
47
+
48
+ RSpec is composed of multiple gems (`rspec-core`, `rspec-mocks`, etc). Sometimes you have
49
+ to work on a combination of them at the same time. When submitting your code for review,
50
+ we ask that you get a passing build (green CI). If you are working across the repositories,
51
+ please add a commit that temporarily pins your PR to the right branch of the other repository
52
+ you depend on. For example, if we wanted a change in `rspec-expectations` that relied on a
53
+ change for on `rspec-mocks`. We add a commit with the title:
54
+
55
+ >[WIP] Use rspec-mocks with "custom-failure-message" branch
56
+
57
+ And content:
58
+
59
+ ```diff
60
+ diff --git a/Gemfile b/Gemfile
61
+
62
+ -%w[rspec rspec-core rspec-mocks rspec-support].each do |lib|
63
+ +%w[rspec rspec-core rspec-support].each do |lib|
64
+ library_path = File.expand_path("../../#{lib}", __FILE__)
65
+ if File.exist?(library_path) && !ENV['USE_GIT_REPOS']
66
+ gem lib, :path => library_path
67
+ @@ -11,6 +11,7 @@ branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp
68
+ gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => branch
69
+ end
70
+ end
71
+ +gem 'rspec-mocks', :git => "https://github.com/rspec/rspec-mocks.git", :branch => "custom-failure-message"
72
+ ```
73
+
74
+ In general the process is:
75
+ 1. Create PRs explaining what you are trying to achieve.
76
+ 2. Pin the repositories to each other.
77
+ 3. Check they pass (go green).
78
+ 4. Await review if appropriate.
79
+ 5. Remove the commit from step 2. We will merge ignoring the failure.
80
+ 6. Remove the commit from the other, check it passes with the other commit now on `main`.
81
+ 7. Merge the other.
82
+ 8. We will trigger builds for the `main` branch of affected repositories to check if everything is in order.
83
+
84
+ Steps 5-8 should happen continuously (e.g. one after another but within a short timespan)
85
+ so that we don't leave a broken main around. It is important to triage that build process
86
+ and revert if necessary.
@@ -1,3 +1,290 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.12.0...main)
3
+
4
+ ### 3.12.0 / 2022-10-26
5
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.1...v3.12.0)
6
+ Enhancements:
7
+
8
+ * Add `RSpec::Support::RubyFeatures.distincts_kw_args_from_positional_hash?`
9
+ (Jean byroot Boussier, #535)
10
+
11
+ ### 3.11.1 / 2022-09-12
12
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.0...v3.11.1)
13
+
14
+ Bug Fixes:
15
+
16
+ * Fix ripper detection on TruffleRuby. (Brandon Fish, #541)
17
+
18
+ ### 3.11.0 / 2022-02-09
19
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.3...v3.11.0)
20
+
21
+ No changes. Released to support other RSpec releases.
22
+
23
+ ### 3.10.3 / 2021-11-03
24
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.2...v3.10.3)
25
+
26
+ Bug Fixes:
27
+
28
+ * Use `Mutex#owned?` to allow `RSpec::Support::ReentrantMutex` to work in
29
+ nested Fibers on Ruby 3.0 and later. (Benoit Daloze, #503, #504)
30
+ * Support `end`-less methods in `RSpec::Support::Source::Token`
31
+ so that RSpec won't hang when an `end`-less method raises an error. (Yuji Nakayama, #505)
32
+
33
+ ### 3.10.2 / 2021-01-28
34
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.1...v3.10.2)
35
+
36
+ Bug Fixes:
37
+
38
+ * Fix issue with `RSpec::Support.define_optimized_require_for_rspec` on JRuby
39
+ 9.1.17.0 (Jon Rowe, #492)
40
+
41
+ ### 3.10.1 / 2020-12-27
42
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.0...v3.10.1)
43
+
44
+ Bug Fixes:
45
+
46
+ * Fix deprecation expectations to fail correctly when
47
+ asserting on messages. (Phil Pirozhkov, #453)
48
+
49
+ ### 3.10.0 / 2020-10-30
50
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.4...v3.10.0)
51
+
52
+ No changes. Released to support other RSpec releases.
53
+
54
+ ### 3.9.4 / 2020-10-23
55
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.3...v3.9.4)
56
+
57
+ Bug Fixes:
58
+
59
+ * Flag ripper as supported on Truffle Ruby. (Brandon Fish, #427)
60
+ * Prevent stubbing `File.read` from breaking source extraction.
61
+ (Jon Rowe, #431)
62
+
63
+ ### 3.9.3 / 2020-05-02
64
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.2...v3.9.3)
65
+
66
+ Bug Fixes:
67
+
68
+ * Mark ripper as unsupported on Truffle Ruby. (Brandon Fish, #395)
69
+ * Mark ripper as unsupported on JRuby 9.2.0.0. (Brian Hawley, #400)
70
+ * Capture `Mutex.new` for our `RSpec::Support:Mutex` in order to
71
+ allow stubbing `Mutex.new`. (Jon Rowe, #411)
72
+
73
+ ### 3.9.2 / 2019-12-30
74
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.1...v3.9.2)
75
+
76
+ Bug Fixes:
77
+
78
+ * Remove unneeded eval. (Matijs van Zuijlen, #394)
79
+
80
+ ### 3.9.1 / 2019-12-28
81
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.0...v3.9.1)
82
+
83
+ Bug Fixes:
84
+
85
+ * Remove warning caused by keyword arguments on Ruby 2.7.0.
86
+ (Jon Rowe, #392)
87
+
88
+ ### 3.9.0 / 2019-10-07
89
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.3...v3.9.0)
90
+
91
+ *NO CHANGES*
92
+
93
+ Version 3.9.0 was released to allow other RSpec gems to release 3.9.0.
94
+
95
+ ### 3.8.3 / 2019-10-02
96
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.2...v3.8.3)
97
+
98
+ Bug Fixes:
99
+
100
+ * Escape \r when outputting strings inside arrays.
101
+ (Tomita Masahiro, Jon Rowe, #378)
102
+ * Ensure that optional hash arguments are recognised correctly vs keyword
103
+ arguments. (Evgeni Dzhelyov, #366)
104
+
105
+ ### 3.8.2 / 2019-06-10
106
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.1...v3.8.2)
107
+
108
+ Bug Fixes:
109
+
110
+ * Ensure that an empty hash is recognised as empty keyword arguments when
111
+ applicable. (Thomas Walpole, #375)
112
+ * Ensure that diffing truthy values produce diffs consistently.
113
+ (Lucas Nestor, #377)
114
+
115
+ ### 3.8.1 / 2019-03-03
116
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.0...v3.8.1)
117
+
118
+ Bug Fixes:
119
+
120
+ * Ensure that inspecting a `SimpleDelegator` based object works regardless of
121
+ visibilty of the `__getobj__` method. (Jon Rowe, #369)
122
+
123
+ ### 3.8.0 / 2018-08-04
124
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.1...v3.8.0)
125
+
126
+ Bug Fixes:
127
+
128
+ * Order hash keys before diffing to improve diff accuracy when using mocked calls.
129
+ (James Crisp, #334)
130
+
131
+ ### 3.7.1 / 2018-01-29
132
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.0...v3.7.1)
133
+
134
+ Bug Fixes:
135
+
136
+ * Fix source extraction logic so that it does not trigger a `SystemStackError`
137
+ when processing deeply nested example groups. (Craig Bass, #343)
138
+
139
+ ### 3.7.0 / 2017-10-17
140
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0...v3.7.0)
141
+
142
+ Enhancements:
143
+
144
+ * Improve compatibility with `--enable-frozen-string-literal` option
145
+ on Ruby 2.3+. (Pat Allan, #320)
146
+ * Add `Support.class_of` for extracting class of any object.
147
+ (Yuji Nakayama, #325)
148
+
149
+ Bug Fixes:
150
+
151
+ * Fix recursive const support to not blow up when given buggy classes
152
+ that raise odd errors from `#to_str`. (Myron Marston, #317)
153
+
154
+ ### 3.6.0 / 2017-05-04
155
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0.beta2...3.6.0)
156
+
157
+ Enhancements:
158
+
159
+ * Import `Source` classes from rspec-core. (Yuji Nakayama, #315)
160
+
161
+ ### 3.6.0.beta2 / 2016-12-12
162
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0.beta1...v3.6.0.beta2)
163
+
164
+ No user-facing changes.
165
+
166
+ ### 3.6.0.beta1 / 2016-10-09
167
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0...v3.6.0.beta1)
168
+
169
+ Bug Fixes:
170
+
171
+ * Prevent truncated formatted object output from mangling console codes. (#294, Anson Kelly)
172
+
173
+ ### 3.5.0 / 2016-07-01
174
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta4...v3.5.0)
175
+
176
+ **No user facing changes since beta4**
177
+
178
+ ### 3.5.0.beta4 / 2016-06-05
179
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta3...v3.5.0.beta4)
180
+
181
+ Enhancements:
182
+ * Improve `MethodSignature` to better support keyword arguments. (#250, Rob Smith).
183
+
184
+ ### 3.5.0.beta3 / 2016-04-02
185
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta2...v3.5.0.beta3)
186
+
187
+ Bug Fixes:
188
+
189
+ * Fix `EncodedString` to properly handle the behavior of `String#split`
190
+ on JRuby when the string contains invalid bytes. (Jon Rowe, #268)
191
+ * Fix `ObjectFormatter` so that formatting objects that don't respond to
192
+ `#inspect` (such as `BasicObject`) does not cause `NoMethodError`.
193
+ (Yuji Nakayama, #269)
194
+ * Fix `ObjectFormatter` so that formatting recursive array or hash does not
195
+ cause `SystemStackError`. (Yuji Nakayama, #270, #272)
196
+
197
+ ### 3.5.0.beta2 / 2016-03-10
198
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta1...v3.5.0.beta2)
199
+
200
+ No user-facing changes.
201
+
202
+ ### 3.5.0.beta1 / 2016-02-06
203
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.4.1...v3.5.0.beta1)
204
+
205
+ Enhancements:
206
+
207
+ * Improve formatting of objects by allowing truncation to a pre-configured length.
208
+ (Liam M, #256)
209
+
210
+ ### 3.4.1 / 2015-11-20
211
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.4.0...v3.4.1)
212
+
213
+ Bug Fixes:
214
+
215
+ * Fix `RSpec::Support::RubyFeature.ripper_supported?` so it returns
216
+ `false` on Rubinius since the Rubinius team has no plans to support
217
+ it. This prevents rspec-core from trying to load and use ripper to
218
+ extract failure snippets. (Aaron Stone, #251)
219
+
220
+ Changes:
221
+
222
+ * Remove `VersionChecker` in favor of `ComparableVersion`. (Yuji Nakayama, #266)
223
+
224
+ ### 3.4.0 / 2015-11-11
225
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.3.0...v3.4.0)
226
+
227
+ Enhancements:
228
+
229
+ * Improve formatting of `Delegator` based objects (e.g. `SimpleDelgator`) in
230
+ failure messages and diffs. (Andrew Horner, #215)
231
+ * Add `ComparableVersion`. (Yuji Nakayama, #245)
232
+ * Add `Ripper` support detection. (Yuji Nakayama, #245)
233
+
234
+ Bug Fixes:
235
+
236
+ * Work around bug in JRuby that reports that `attr_writer` methods
237
+ have no parameters, causing RSpec's verifying doubles to wrongly
238
+ fail when mocking or stubbing a writer method on JRuby. (Myron Marston, #225)
239
+
240
+ ### 3.3.0 / 2015-06-12
241
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.2...v3.3.0)
242
+
243
+ Enhancements:
244
+
245
+ * Improve formatting of arrays and hashes in failure messages so they
246
+ use our custom formatting of matchers, time objects, etc.
247
+ (Myron Marston, Nicholas Chmielewski, #205)
248
+ * Use improved formatting for diffs as well. (Nicholas Chmielewski, #205)
249
+
250
+ Bug Fixes:
251
+
252
+ * Fix `FuzzyMatcher` so that it checks `expected == actual` rather than
253
+ `actual == expected`, which avoids errors in situations where the
254
+ `actual` object's `==` is improperly implemented to assume that only
255
+ objects of the same type will be given. This allows rspec-mocks'
256
+ `anything` to match against objects with buggy `==` definitions.
257
+ (Myron Marston, #193)
258
+
259
+ ### 3.2.2 / 2015-02-23
260
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.1...v3.2.2)
261
+
262
+ Bug Fixes:
263
+
264
+ * Fix an encoding issue with `EncodedString#split` when encountering an
265
+ invalid byte string. (Benjamin Fleischer, #1760)
266
+
267
+ ### 3.2.1 / 2015-02-04
268
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.0...v3.2.1)
269
+
270
+ Bug Fixes:
271
+
272
+ * Fix `RSpec::CallerFilter` to work on Rubinius 2.2.
273
+ (Myron Marston, #169)
274
+
275
+ ### 3.2.0 / 2015-02-03
276
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.2...v3.2.0)
277
+
278
+ Enhancements:
279
+
280
+ * Add extra Ruby type detection. (Jon Rowe, #133)
281
+ * Make differ instance re-usable. (Alexey Fedorov, #160)
282
+
283
+ Bug Fixes:
284
+
285
+ * Do not consider `[]` and `{}` to match when performing fuzzy matching.
286
+ (Myron Marston, #157)
287
+
1
288
  ### 3.1.2 / 2014-10-08
2
289
  [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.1...v3.1.2)
3
290
 
@@ -0,0 +1,131 @@
1
+ <!---
2
+ This file was generated on 2020-12-25T18:48:31+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-support 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-support.git
23
+ ```
24
+
25
+ Install the dependencies using [Bundler](https://bundler.io/):
26
+
27
+ ```
28
+ $ cd rspec-support
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-support
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-support)
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.
@@ -9,13 +9,61 @@ branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp
9
9
  if File.exist?(library_path) && !ENV['USE_GIT_REPOS']
10
10
  gem lib, :path => library_path
11
11
  else
12
- gem lib, :git => "git://github.com/rspec/#{lib}.git", :branch => branch
12
+ gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => branch
13
13
  end
14
14
  end
15
15
 
16
- ### dep for ci/coverage
17
- gem 'simplecov', '~> 0.8'
16
+ if RUBY_VERSION < '1.9.3'
17
+ gem 'rake', '< 11.0.0' # rake 11 requires Ruby 1.9.3 or later
18
+ elsif RUBY_VERSION < '2.0.0'
19
+ gem 'rake', '< 12.0.0' # rake 12 requires Ruby 2.0.0 or later
20
+ else
21
+ gem 'rake', '>= 12.3.3'
22
+ end
23
+
24
+ if ENV['DIFF_LCS_VERSION']
25
+ gem 'diff-lcs', ENV['DIFF_LCS_VERSION']
26
+ else
27
+ gem 'diff-lcs', '~> 1.4', '>= 1.4.3'
28
+ end
29
+
30
+ if RUBY_VERSION < '2.3.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
31
+ gem "childprocess", "< 1.0.0"
32
+ elsif RUBY_VERSION < '2.0.0'
33
+ gem "childprocess", "< 1.0.0"
34
+ elsif RUBY_VERSION < '2.3.0'
35
+ gem "childprocess", "< 3.0.0"
36
+ else
37
+ gem "childprocess", ">= 3.0.0"
38
+ end
39
+
40
+ group :coverage do
41
+ ### dep for ci/coverage
42
+ gem 'simplecov', '~> 0.8'
43
+ end
44
+
45
+ if RUBY_VERSION < '2.0.0' || RUBY_ENGINE == 'java'
46
+ gem 'json', '< 2.0.0' # is a dependency of simplecov
47
+ else
48
+ gem 'json', '> 2.3.0'
49
+ end
18
50
 
19
- gem 'rubocop', "~> 0.23.0", :platform => [:ruby_19, :ruby_20, :ruby_21]
51
+ if RUBY_VERSION < '2.2.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
52
+ gem 'ffi', '< 1.10'
53
+ elsif RUBY_VERSION < '2.4.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
54
+ gem 'ffi', '< 1.15'
55
+ elsif RUBY_VERSION < '2.0'
56
+ # ffi dropped Ruby 1.8 support in 1.9.19 and Ruby 1.9 support in 1.11.0
57
+ gem 'ffi', '< 1.9.19'
58
+ elsif RUBY_VERSION < '2.3.0'
59
+ gem 'ffi', '~> 1.12.0'
60
+ else
61
+ gem 'ffi', '~> 1.13.0'
62
+ end
63
+
64
+ # No need to run rubocop on earlier versions
65
+ if RUBY_VERSION >= '2.4' && RUBY_ENGINE == 'ruby'
66
+ gem 'rubocop', "~> 1.0", "< 1.12"
67
+ end
20
68
 
21
69
  eval File.read('Gemfile-custom') if File.exist?('Gemfile-custom')
@@ -0,0 +1,24 @@
1
+ ### Subject of the issue
2
+ <!---
3
+ Describe your issue here.
4
+ -->
5
+
6
+ ### Your environment
7
+ * Ruby version:
8
+ * rspec-support version:
9
+
10
+ ### Steps to reproduce
11
+ <!---
12
+ Tell us how to reproduce this issue. Please provide a working demo, you can use
13
+ this [templates](REPORT_TEMPLATE.md) as a base.
14
+ -->
15
+
16
+ ### Expected behavior
17
+ <!---
18
+ Tell us what should happen.
19
+ -->
20
+
21
+ ### Actual behavior
22
+ <!---
23
+ Tell us what happens instead.
24
+ -->
@@ -1,6 +1,7 @@
1
- Copyright (c) 2013 David Chelimsky, Myron Marston, Jon Rowe, Sam Phippen, Xavier Shay, Bradley Schaefer
1
+ The MIT License (MIT)
2
+ ====================
2
3
 
3
- MIT License
4
+ * Copyright © 2013 David Chelimsky, Myron Marston, Jon Rowe, Sam Phippen, Xavier Shay, Bradley Schaefer
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining
6
7
  a copy of this software and associated documentation files (the
@@ -1,4 +1,4 @@
1
- # RSpec::Support
1
+ # RSpec::Support [![Build Status](https://github.com/rspec/rspec-support/workflows/RSpec%20CI/badge.svg)](https://github.com/rspec/rspec-support/actions)
2
2
 
3
3
  `RSpec::Support` provides common functionality to `RSpec::Core`,
4
4
  `RSpec::Expectations` and `RSpec::Mocks`. It is considered
@@ -8,10 +8,33 @@ suitable for internal use only at this time.
8
8
 
9
9
  Install one or more of the `RSpec` gems.
10
10
 
11
+ Want to run against the `main` branch? You'll need to include the dependent
12
+ RSpec repos as well. Add the following to your `Gemfile`:
13
+
14
+ ```ruby
15
+ %w[rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib|
16
+ gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'main'
17
+ end
18
+ ```
19
+
11
20
  ## Contributing
12
21
 
13
- 1. Fork it
14
- 2. Create your feature branch (`git checkout -b my-new-feature`)
15
- 3. Commit your changes (`git commit -am 'Add some feature'`)
16
- 4. Push to the branch (`git push origin my-new-feature`)
17
- 5. Create new Pull Request
22
+ Once you've set up the environment, you'll need to cd into the working
23
+ directory of whichever repo you want to work in. From there you can run the
24
+ specs and cucumber features, and make patches.
25
+
26
+ NOTE: You do not need to use rspec-dev to work on a specific RSpec repo. You
27
+ can treat each RSpec repo as an independent project.
28
+
29
+ - [Build details](BUILD_DETAIL.md)
30
+ - [Code of Conduct](CODE_OF_CONDUCT.md)
31
+ - [Detailed contributing guide](CONTRIBUTING.md)
32
+ - [Development setup guide](DEVELOPMENT.md)
33
+
34
+ ## Patches
35
+
36
+ Please submit a pull request or a github issue. If you submit an issue, please
37
+ include a link to either of:
38
+
39
+ * a gist (or equivalent) of the patch
40
+ * a branch or commit in your github fork of the repo