opal-rspec 0.6.2 → 0.7.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (710) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +5 -5
  3. data/.travis.yml +47 -19
  4. data/Appraisals +9 -0
  5. data/CHANGELOG.md +4 -6
  6. data/Gemfile +9 -9
  7. data/README.md +2 -2
  8. data/Rakefile +4 -182
  9. data/bin/console +14 -0
  10. data/{util/create_requires.rb → bin/generate_requires} +20 -10
  11. data/bin/opal +3 -0
  12. data/bin/opal-rspec +3 -0
  13. data/bin/setup +7 -0
  14. data/config.ru +13 -11
  15. data/example/Gemfile +5 -1
  16. data/exe/opal-rspec +78 -0
  17. data/gemfiles/.bundle/config +2 -0
  18. data/gemfiles/opal_0.11.gemfile +14 -0
  19. data/gemfiles/opal_master.gemfile +14 -0
  20. data/{opal → lib-opal}/opal-rspec.rb +0 -0
  21. data/lib-opal/opal/rspec.rb +5 -0
  22. data/{opal → lib-opal}/opal/rspec/async.rb +3 -2
  23. data/lib-opal/opal/rspec/async/core_ext.rb +23 -0
  24. data/lib-opal/opal/rspec/async/example.rb +187 -0
  25. data/{opal → lib-opal}/opal/rspec/async/example_group.rb +1 -1
  26. data/{opal → lib-opal}/opal/rspec/async/hooks.rb +4 -2
  27. data/lib-opal/opal/rspec/async/legacy.rb +49 -0
  28. data/lib-opal/opal/rspec/async/reporter.rb +17 -0
  29. data/lib-opal/opal/rspec/async/runner.rb +44 -0
  30. data/lib-opal/opal/rspec/autorun.rb +3 -0
  31. data/lib-opal/opal/rspec/browser.rb +13 -0
  32. data/lib-opal/opal/rspec/default_config.rb +12 -0
  33. data/{opal → lib-opal}/opal/rspec/fixes.rb +0 -0
  34. data/{opal/opal/rspec/fixes/opal/compatibility.rb → lib-opal/opal/rspec/fixes/opal.rb} +35 -0
  35. data/{opal → lib-opal}/opal/rspec/fixes/rspec.rb +0 -0
  36. data/{opal → lib-opal}/opal/rspec/fixes/rspec/caller_filter.rb +0 -0
  37. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core.rb +0 -0
  38. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/configuration.rb +9 -0
  39. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/example.rb +0 -0
  40. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/formatters.rb +0 -0
  41. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/formatters/backtrace_formatter.rb +0 -0
  42. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/formatters/console_codes.rb +0 -0
  43. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/formatters/deprecation_formatter.rb +0 -0
  44. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/formatters/generated_deprecation_message.rb +0 -0
  45. data/lib-opal/opal/rspec/fixes/rspec/core/formatters/json_formatter.rb +15 -0
  46. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/formatters/loader.rb +6 -0
  47. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/metadata.rb +0 -0
  48. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/notifications.rb +0 -0
  49. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/notifications/examples_notification.rb +0 -0
  50. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/notifications/failed_example_notification.rb +0 -0
  51. data/lib-opal/opal/rspec/fixes/rspec/core/notifications/summary_notification.rb +21 -0
  52. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/ordering.rb +0 -0
  53. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/ordering/random.rb +0 -0
  54. data/{opal → lib-opal}/opal/rspec/fixes/rspec/core/warnings.rb +10 -1
  55. data/{opal → lib-opal}/opal/rspec/fixes/rspec/example_groups.rb +0 -0
  56. data/{opal → lib-opal}/opal/rspec/fixes/rspec/expectations.rb +0 -0
  57. data/{opal → lib-opal}/opal/rspec/fixes/rspec/expectations/fail_with.rb +0 -0
  58. data/{opal → lib-opal}/opal/rspec/fixes/rspec/matchers.rb +0 -0
  59. data/{opal → lib-opal}/opal/rspec/fixes/rspec/matchers/built_in.rb +0 -0
  60. data/{opal → lib-opal}/opal/rspec/fixes/rspec/matchers/built_in/all.rb +0 -0
  61. data/{opal → lib-opal}/opal/rspec/fixes/rspec/matchers/built_in/compound.rb +0 -0
  62. data/{opal → lib-opal}/opal/rspec/fixes/rspec/matchers/built_in/start_and_end_with.rb +0 -0
  63. data/{opal → lib-opal}/opal/rspec/fixes/rspec/matchers/built_in/yield.rb +0 -0
  64. data/{opal → lib-opal}/opal/rspec/fixes/rspec/matchers/pretty.rb +0 -0
  65. data/{opal → lib-opal}/opal/rspec/fixes/rspec/mocks.rb +0 -0
  66. data/{opal → lib-opal}/opal/rspec/fixes/rspec/mocks/error_generator.rb +0 -0
  67. data/lib-opal/opal/rspec/fixes/rspec/mocks/space.rb +41 -0
  68. data/{opal → lib-opal}/opal/rspec/fixes/rspec/mocks/test_double.rb +0 -0
  69. data/{opal → lib-opal}/opal/rspec/fixes/rspec/mocks/verifying_double.rb +0 -0
  70. data/{opal → lib-opal}/opal/rspec/fixes/rspec/support.rb +1 -0
  71. data/{opal → lib-opal}/opal/rspec/fixes/rspec/support/encoded_string.rb +0 -0
  72. data/lib-opal/opal/rspec/fixes/rspec/support/formatter_support.rb +34 -0
  73. data/{opal → lib-opal}/opal/rspec/fixes/rspec/support/recursive_const_methods.rb +0 -0
  74. data/{opal → lib-opal}/opal/rspec/fixes/rspec/support/spec.rb +0 -0
  75. data/{opal → lib-opal}/opal/rspec/fixes/rspec/support/spec/stderr_splitter.rb +0 -0
  76. data/{opal → lib-opal}/opal/rspec/fixes/rspec/support/warnings.rb +0 -2
  77. data/{opal → lib-opal}/opal/rspec/formatter/browser_formatter.rb +0 -0
  78. data/{opal → lib-opal}/opal/rspec/formatter/document_io.rb +0 -0
  79. data/{opal → lib-opal}/opal/rspec/formatter/element.rb +0 -0
  80. data/{opal → lib-opal}/opal/rspec/formatter/html_printer.rb +0 -0
  81. data/{opal → lib-opal}/opal/rspec/formatter/noop_flush_string_io.rb +2 -0
  82. data/{opal → lib-opal}/opal/rspec/pre_require_fixes.rb +1 -1
  83. data/{opal → lib-opal}/opal/rspec/requires.rb +5 -2
  84. data/lib-opal/opal/rspec/spec_opts.rb.erb +1 -0
  85. data/{opal → lib-opal}/opal/rspec/sprockets_runner.rb.erb +0 -0
  86. data/lib/opal/rspec.rb +37 -28
  87. data/lib/opal/rspec/cached_environment.rb +7 -4
  88. data/lib/opal/rspec/locator.rb +38 -0
  89. data/lib/opal/rspec/rake_task.rb +12 -130
  90. data/lib/opal/rspec/runner.rb +136 -0
  91. data/lib/opal/rspec/sprockets_environment.rb +5 -3
  92. data/lib/opal/rspec/version.rb +1 -1
  93. data/opal-rspec.gemspec +32 -20
  94. data/rspec-core/spec/files_to_exclude.txt +12 -0
  95. data/rspec-core/spec/filters.rb +211 -0
  96. data/rspec-core/spec/fixes/missing_constants.rb +34 -0
  97. data/{spec/rspec/core → rspec-core/spec/fixes}/sandboxing.rb +0 -0
  98. data/rspec-core/spec/fixes/shared_examples.rb +6 -0
  99. data/rspec-core/spec/requires.rb +41 -0
  100. data/{spec/rspec/expectations/spec_files_exclude.txt → rspec-expectations/spec/files_to_exclude.txt} +0 -0
  101. data/rspec-expectations/spec/filters.rb +188 -0
  102. data/{spec/rspec/expectations/fixes/not_compatible.rb → rspec-expectations/spec/fixes/missing_constants.rb} +4 -0
  103. data/rspec-expectations/spec/fixes/shared_examples.rb +15 -0
  104. data/rspec-expectations/spec/requires.rb +32 -0
  105. data/{spec/rspec/mocks/spec_files_exclude.txt → rspec-mocks/spec/files_to_exclude.txt} +0 -0
  106. data/rspec-mocks/spec/filters.rb +98 -0
  107. data/rspec-mocks/spec/fixes/shared_examples.rb +6 -0
  108. data/rspec-mocks/spec/requires.rb +22 -0
  109. data/{spec/rspec/support/spec_files_exclude.txt → rspec-support/spec/files_to_exclude.txt} +0 -0
  110. data/rspec-support/spec/filters.rb +17 -0
  111. data/{spec/rspec/mocks → rspec-support/spec}/fixes/missing_constants.rb +0 -0
  112. data/{spec/rspec/core → rspec-support/spec}/fixes/shared_examples.rb +1 -0
  113. data/{spec/rspec/core/require_specs.rb → rspec-support/spec/requires.rb} +14 -8
  114. data/spec-opal-passing/spec_helper.rb +3 -0
  115. data/spec-opal-passing/tautology_spec.rb +21 -0
  116. data/{spec/rspec/core/opal_alternates/rspec → spec-opal-rspec}/core/example_group_spec.rb +0 -0
  117. data/{spec/rspec/core/opal_alternates/rspec → spec-opal-rspec}/core/failed_example_notification_spec.rb +0 -0
  118. data/{spec/rspec/core/opal_alternates/rspec → spec-opal-rspec}/core/hooks_spec.rb +0 -0
  119. data/{spec/rspec/core/opal_alternates/rspec → spec-opal-rspec}/core/memoized_helpers_spec.rb +3 -3
  120. data/{spec/rspec/core/opal_alternates/rspec → spec-opal-rspec}/core/metadata_spec.rb +0 -0
  121. data/{spec/rspec/expectations/opal_alternates → spec-opal-rspec/expectations}/be_instance_of_spec.rb +0 -0
  122. data/{spec/rspec/expectations/opal_alternates → spec-opal-rspec/expectations}/dsl_spec.rb +0 -0
  123. data/{spec/rspec/expectations/opal_alternates → spec-opal-rspec/expectations}/expectation_target_spec.rb +0 -0
  124. data/{spec/rspec/expectations/opal_alternates → spec-opal-rspec/expectations}/yield_spec.rb +0 -0
  125. data/{spec/opal → spec-opal}/after_hooks_spec.rb +0 -0
  126. data/{spec/opal → spec-opal}/around_hooks_spec.rb +0 -89
  127. data/{spec/opal → spec-opal}/async_spec.rb +1 -53
  128. data/{spec/opal → spec-opal}/before_hooks_spec.rb +0 -0
  129. data/{spec/mri/unit/opal/rspec/opal/browser_formatter_spec.rb → spec-opal/browser-formatter/opal_browser_formatter_spec.rb} +1 -1
  130. data/{spec/opal → spec-opal}/example_spec.rb +0 -0
  131. data/spec-opal/legacy_async_spec.rb +189 -0
  132. data/{spec/opal → spec-opal}/matchers_spec.rb +0 -0
  133. data/{spec/opal → spec-opal}/mock_spec.rb +0 -0
  134. data/{spec → spec-opal}/other/color_on_by_default_spec.rb +0 -0
  135. data/{spec → spec-opal}/other/dummy_spec.rb +0 -0
  136. data/{spec → spec-opal}/other/formatter_dependency.rb +0 -0
  137. data/{spec → spec-opal}/other/ignored_spec.opal +0 -0
  138. data/{spec → spec-opal}/other/test_formatter.rb +0 -0
  139. data/{spec/opal → spec-opal}/should_syntax_spec.rb +0 -0
  140. data/{spec/opal → spec-opal}/skip_pending_spec.rb +0 -0
  141. data/{spec/opal → spec-opal}/spec_helper.rb +4 -0
  142. data/{spec/mri/integration/rack → spec-opal}/sprockets_runner_js_errors.rb.erb +5 -7
  143. data/{spec/opal → spec-opal}/subject_spec.rb +0 -0
  144. data/{rspec-core/spec/rspec/core/resources/a_bar.rb → stubs/cgi/escape.rb} +0 -0
  145. data/{rspec-core/spec/rspec/core/resources/a_foo.rb → stubs/cgi/util.rb} +0 -0
  146. data/{rspec-core/spec/rspec/core/resources/acceptance/bar.rb → stubs/diff/lcs.rb} +0 -0
  147. data/{rspec-core/spec/rspec/core/resources/acceptance/foo_spec.rb → stubs/diff/lcs/assertions.rb} +0 -0
  148. data/{rspec-core/spec/support/fake_minitest/minitest.rb → stubs/diff/lcs/block.rb} +0 -0
  149. data/stubs/diff/lcs/callbacks.rb +0 -0
  150. data/stubs/diff/lcs/change.rb +0 -0
  151. data/stubs/diff/lcs/hunk.rb +0 -0
  152. data/stubs/diff/lcs/internals.rb +0 -0
  153. data/stubs/drb/drb.rb +0 -0
  154. data/stubs/minitest.rb +0 -0
  155. data/stubs/minitest/assertions.rb +0 -0
  156. data/stubs/minitest/unit.rb +0 -0
  157. data/stubs/mutex_m.rb +0 -0
  158. data/stubs/optparse.rb +0 -0
  159. data/stubs/prettyprint.rb +0 -0
  160. data/stubs/rubygems/bundler_version_finder.rb +0 -0
  161. data/stubs/rubygems/util.rb +0 -0
  162. data/stubs/shellwords.rb +0 -0
  163. data/stubs/socket.rb +0 -0
  164. data/stubs/tempfile.rb +0 -0
  165. data/stubs/test/unit/assertions.rb +0 -0
  166. data/stubs/uri.rb +0 -0
  167. data/tasks/building.rake +50 -0
  168. data/tasks/testing.rake +73 -0
  169. metadata +203 -651
  170. data/lib/opal/rspec/post_rack_locator.rb +0 -20
  171. data/lib/opal/rspec/pre_rack_locator.rb +0 -32
  172. data/opal/opal/rspec.rb +0 -23
  173. data/opal/opal/rspec/async/async_example.rb +0 -96
  174. data/opal/opal/rspec/async/legacy.rb +0 -49
  175. data/opal/opal/rspec/async/reporter.rb +0 -9
  176. data/opal/opal/rspec/fixes/opal.rb +0 -1
  177. data/opal/opal/rspec/fixes/rspec/core/formatters/json_formatter.rb +0 -10
  178. data/opal/opal/rspec/fixes/rspec/core/notifications/summary_notification.rb +0 -25
  179. data/opal/opal/rspec/fixes/rspec/mocks/space.rb +0 -37
  180. data/opal/opal/rspec/formatter/opal_closed_tty_io.rb +0 -27
  181. data/opal/opal/rspec/runner.rb +0 -91
  182. data/opal/opal/rspec/spec_opts.rb.erb +0 -27
  183. data/rspec-core/benchmarks/call_v_yield.rb +0 -81
  184. data/rspec-core/benchmarks/check_inclusion.rb +0 -125
  185. data/rspec-core/benchmarks/define_method_v_attr_reader_v_def.rb +0 -81
  186. data/rspec-core/benchmarks/eager_vs_lazy_metadata.rb +0 -126
  187. data/rspec-core/benchmarks/eager_vs_lazy_metadata/define_examples.rb +0 -22
  188. data/rspec-core/benchmarks/filter_object.rb +0 -35
  189. data/rspec-core/benchmarks/index_v_take_while.rb +0 -47
  190. data/rspec-core/benchmarks/map_then_flatten_vs_flat_map_benchmarks.rb +0 -94
  191. data/rspec-core/benchmarks/require_relative_v_require.rb +0 -75
  192. data/rspec-core/benchmarks/respond_to_v_defined.rb +0 -72
  193. data/rspec-core/benchmarks/several_regexps_v_one_big_one.rb +0 -86
  194. data/rspec-core/benchmarks/sort_by_v_shuffle.rb +0 -83
  195. data/rspec-core/benchmarks/to_proc_v_not_to_proc.rb +0 -539
  196. data/rspec-core/features/step_definitions/additional_cli_steps.rb +0 -126
  197. data/rspec-core/features/step_definitions/core_standalone_steps.rb +0 -12
  198. data/rspec-core/features/support/env.rb +0 -21
  199. data/rspec-core/features/support/require_expect_syntax_in_aruba_specs.rb +0 -29
  200. data/rspec-core/features/support/rubinius.rb +0 -6
  201. data/rspec-core/lib/rspec/autorun.rb +0 -2
  202. data/rspec-core/lib/rspec/core.rb +0 -169
  203. data/rspec-core/lib/rspec/core/backport_random.rb +0 -336
  204. data/rspec-core/lib/rspec/core/backtrace_formatter.rb +0 -66
  205. data/rspec-core/lib/rspec/core/configuration.rb +0 -1440
  206. data/rspec-core/lib/rspec/core/configuration_options.rb +0 -173
  207. data/rspec-core/lib/rspec/core/drb.rb +0 -111
  208. data/rspec-core/lib/rspec/core/dsl.rb +0 -93
  209. data/rspec-core/lib/rspec/core/example.rb +0 -502
  210. data/rspec-core/lib/rspec/core/example_group.rb +0 -606
  211. data/rspec-core/lib/rspec/core/filter_manager.rb +0 -259
  212. data/rspec-core/lib/rspec/core/flat_map.rb +0 -18
  213. data/rspec-core/lib/rspec/core/formatters.rb +0 -240
  214. data/rspec-core/lib/rspec/core/formatters/base_formatter.rb +0 -67
  215. data/rspec-core/lib/rspec/core/formatters/base_text_formatter.rb +0 -76
  216. data/rspec-core/lib/rspec/core/formatters/console_codes.rb +0 -64
  217. data/rspec-core/lib/rspec/core/formatters/deprecation_formatter.rb +0 -222
  218. data/rspec-core/lib/rspec/core/formatters/documentation_formatter.rb +0 -68
  219. data/rspec-core/lib/rspec/core/formatters/helpers.rb +0 -87
  220. data/rspec-core/lib/rspec/core/formatters/html_formatter.rb +0 -149
  221. data/rspec-core/lib/rspec/core/formatters/html_printer.rb +0 -403
  222. data/rspec-core/lib/rspec/core/formatters/json_formatter.rb +0 -94
  223. data/rspec-core/lib/rspec/core/formatters/profile_formatter.rb +0 -65
  224. data/rspec-core/lib/rspec/core/formatters/progress_formatter.rb +0 -28
  225. data/rspec-core/lib/rspec/core/formatters/protocol.rb +0 -163
  226. data/rspec-core/lib/rspec/core/formatters/snippet_extractor.rb +0 -104
  227. data/rspec-core/lib/rspec/core/hooks.rb +0 -591
  228. data/rspec-core/lib/rspec/core/memoized_helpers.rb +0 -472
  229. data/rspec-core/lib/rspec/core/metadata.rb +0 -437
  230. data/rspec-core/lib/rspec/core/metadata_filter.rb +0 -95
  231. data/rspec-core/lib/rspec/core/minitest_assertions_adapter.rb +0 -28
  232. data/rspec-core/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  233. data/rspec-core/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  234. data/rspec-core/lib/rspec/core/mocking_adapters/null.rb +0 -14
  235. data/rspec-core/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  236. data/rspec-core/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  237. data/rspec-core/lib/rspec/core/notifications.rb +0 -542
  238. data/rspec-core/lib/rspec/core/option_parser.rb +0 -222
  239. data/rspec-core/lib/rspec/core/ordering.rb +0 -155
  240. data/rspec-core/lib/rspec/core/pending.rb +0 -163
  241. data/rspec-core/lib/rspec/core/project_initializer.rb +0 -48
  242. data/rspec-core/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -89
  243. data/rspec-core/lib/rspec/core/rake_task.rb +0 -187
  244. data/rspec-core/lib/rspec/core/reporter.rb +0 -149
  245. data/rspec-core/lib/rspec/core/ruby_project.rb +0 -45
  246. data/rspec-core/lib/rspec/core/runner.rb +0 -158
  247. data/rspec-core/lib/rspec/core/shared_context.rb +0 -55
  248. data/rspec-core/lib/rspec/core/shared_example_group.rb +0 -182
  249. data/rspec-core/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  250. data/rspec-core/lib/rspec/core/version.rb +0 -9
  251. data/rspec-core/lib/rspec/core/warnings.rb +0 -40
  252. data/rspec-core/lib/rspec/core/world.rb +0 -183
  253. data/rspec-core/spec/command_line/order_spec.rb +0 -213
  254. data/rspec-core/spec/rspec/core/backtrace_formatter_spec.rb +0 -306
  255. data/rspec-core/spec/rspec/core/configuration_options_spec.rb +0 -425
  256. data/rspec-core/spec/rspec/core/configuration_spec.rb +0 -1963
  257. data/rspec-core/spec/rspec/core/drb_spec.rb +0 -278
  258. data/rspec-core/spec/rspec/core/dsl_spec.rb +0 -85
  259. data/rspec-core/spec/rspec/core/example_execution_result_spec.rb +0 -142
  260. data/rspec-core/spec/rspec/core/example_group_constants_spec.rb +0 -16
  261. data/rspec-core/spec/rspec/core/example_group_spec.rb +0 -1621
  262. data/rspec-core/spec/rspec/core/example_spec.rb +0 -662
  263. data/rspec-core/spec/rspec/core/failed_example_notification_spec.rb +0 -25
  264. data/rspec-core/spec/rspec/core/filter_manager_spec.rb +0 -299
  265. data/rspec-core/spec/rspec/core/formatters/base_text_formatter_spec.rb +0 -182
  266. data/rspec-core/spec/rspec/core/formatters/console_codes_spec.rb +0 -65
  267. data/rspec-core/spec/rspec/core/formatters/deprecation_formatter_spec.rb +0 -225
  268. data/rspec-core/spec/rspec/core/formatters/documentation_formatter_spec.rb +0 -111
  269. data/rspec-core/spec/rspec/core/formatters/helpers_spec.rb +0 -104
  270. data/rspec-core/spec/rspec/core/formatters/html_formatter_spec.rb +0 -111
  271. data/rspec-core/spec/rspec/core/formatters/json_formatter_spec.rb +0 -183
  272. data/rspec-core/spec/rspec/core/formatters/profile_formatter_spec.rb +0 -99
  273. data/rspec-core/spec/rspec/core/formatters/progress_formatter_spec.rb +0 -55
  274. data/rspec-core/spec/rspec/core/formatters/snippet_extractor_spec.rb +0 -26
  275. data/rspec-core/spec/rspec/core/formatters_spec.rb +0 -160
  276. data/rspec-core/spec/rspec/core/hooks_filtering_spec.rb +0 -227
  277. data/rspec-core/spec/rspec/core/hooks_spec.rb +0 -447
  278. data/rspec-core/spec/rspec/core/memoized_helpers_spec.rb +0 -537
  279. data/rspec-core/spec/rspec/core/metadata_filter_spec.rb +0 -181
  280. data/rspec-core/spec/rspec/core/metadata_spec.rb +0 -642
  281. data/rspec-core/spec/rspec/core/notifications_spec.rb +0 -92
  282. data/rspec-core/spec/rspec/core/option_parser_spec.rb +0 -270
  283. data/rspec-core/spec/rspec/core/ordering_spec.rb +0 -102
  284. data/rspec-core/spec/rspec/core/pending_example_spec.rb +0 -221
  285. data/rspec-core/spec/rspec/core/pending_spec.rb +0 -8
  286. data/rspec-core/spec/rspec/core/project_initializer_spec.rb +0 -123
  287. data/rspec-core/spec/rspec/core/rake_task_spec.rb +0 -351
  288. data/rspec-core/spec/rspec/core/random_spec.rb +0 -47
  289. data/rspec-core/spec/rspec/core/reporter_spec.rb +0 -198
  290. data/rspec-core/spec/rspec/core/resources/a_spec.rb +0 -1
  291. data/rspec-core/spec/rspec/core/resources/custom_example_group_runner.rb +0 -14
  292. data/rspec-core/spec/rspec/core/resources/formatter_specs.rb +0 -58
  293. data/rspec-core/spec/rspec/core/resources/utf8_encoded.rb +0 -9
  294. data/rspec-core/spec/rspec/core/rspec_matchers_spec.rb +0 -45
  295. data/rspec-core/spec/rspec/core/ruby_project_spec.rb +0 -26
  296. data/rspec-core/spec/rspec/core/runner_spec.rb +0 -309
  297. data/rspec-core/spec/rspec/core/shared_context_spec.rb +0 -102
  298. data/rspec-core/spec/rspec/core/shared_example_group_spec.rb +0 -268
  299. data/rspec-core/spec/rspec/core/warnings_spec.rb +0 -72
  300. data/rspec-core/spec/rspec/core/world_spec.rb +0 -142
  301. data/rspec-core/spec/rspec/core_spec.rb +0 -103
  302. data/rspec-core/spec/spec_helper.rb +0 -89
  303. data/rspec-core/spec/support/config_options_helper.rb +0 -13
  304. data/rspec-core/spec/support/fake_minitest/minitest/minitest_assertions.rb +0 -4
  305. data/rspec-core/spec/support/fake_minitest/test/unit/assertions.rb +0 -6
  306. data/rspec-core/spec/support/formatter_support.rb +0 -263
  307. data/rspec-core/spec/support/helper_methods.rb +0 -26
  308. data/rspec-core/spec/support/isolated_home_directory.rb +0 -16
  309. data/rspec-core/spec/support/matchers.rb +0 -103
  310. data/rspec-core/spec/support/mathn_integration_support.rb +0 -12
  311. data/rspec-core/spec/support/sandboxing.rb +0 -50
  312. data/rspec-core/spec/support/shared_example_groups.rb +0 -43
  313. data/rspec-core/spec/support/spec_files.rb +0 -44
  314. data/rspec-expectations/benchmarks/2.x_vs_3.x_matcher_dsl_implementation.rb +0 -253
  315. data/rspec-expectations/benchmarks/autoload_v_require.rb +0 -25
  316. data/rspec-expectations/benchmarks/cloning_matchers.rb +0 -19
  317. data/rspec-expectations/benchmarks/default_messages_as_methods_v_blocks.rb +0 -27
  318. data/rspec-expectations/benchmarks/example_spec.rb +0 -9
  319. data/rspec-expectations/benchmarks/include_v_superclass.rb +0 -39
  320. data/rspec-expectations/benchmarks/match_array/failing_with_distinct_items.rb +0 -147
  321. data/rspec-expectations/benchmarks/match_array/failing_with_duplicate_items.rb +0 -122
  322. data/rspec-expectations/benchmarks/match_array/passing_with_distinct_items.rb +0 -154
  323. data/rspec-expectations/benchmarks/match_array/passing_with_duplicate_items.rb +0 -132
  324. data/rspec-expectations/benchmarks/match_array/rubyprof/passing_with_distinct_items.rb +0 -9
  325. data/rspec-expectations/benchmarks/matcher_dsl_vs_classes.rb +0 -180
  326. data/rspec-expectations/benchmarks/method_to_proc.rb +0 -72
  327. data/rspec-expectations/benchmarks/set_vs_array_include.rb +0 -68
  328. data/rspec-expectations/features/step_definitions/additional_cli_steps.rb +0 -22
  329. data/rspec-expectations/features/support/disallow_certain_apis.rb +0 -34
  330. data/rspec-expectations/features/support/env.rb +0 -21
  331. data/rspec-expectations/features/support/rubinius.rb +0 -6
  332. data/rspec-expectations/lib/rspec/expectations.rb +0 -68
  333. data/rspec-expectations/lib/rspec/expectations/configuration.rb +0 -147
  334. data/rspec-expectations/lib/rspec/expectations/expectation_target.rb +0 -119
  335. data/rspec-expectations/lib/rspec/expectations/fail_with.rb +0 -34
  336. data/rspec-expectations/lib/rspec/expectations/handler.rb +0 -167
  337. data/rspec-expectations/lib/rspec/expectations/minitest_integration.rb +0 -17
  338. data/rspec-expectations/lib/rspec/expectations/syntax.rb +0 -132
  339. data/rspec-expectations/lib/rspec/expectations/version.rb +0 -8
  340. data/rspec-expectations/lib/rspec/matchers.rb +0 -967
  341. data/rspec-expectations/lib/rspec/matchers/aliased_matcher.rb +0 -116
  342. data/rspec-expectations/lib/rspec/matchers/built_in.rb +0 -52
  343. data/rspec-expectations/lib/rspec/matchers/built_in/all.rb +0 -85
  344. data/rspec-expectations/lib/rspec/matchers/built_in/base_matcher.rb +0 -132
  345. data/rspec-expectations/lib/rspec/matchers/built_in/be.rb +0 -277
  346. data/rspec-expectations/lib/rspec/matchers/built_in/be_between.rb +0 -77
  347. data/rspec-expectations/lib/rspec/matchers/built_in/be_instance_of.rb +0 -22
  348. data/rspec-expectations/lib/rspec/matchers/built_in/be_kind_of.rb +0 -16
  349. data/rspec-expectations/lib/rspec/matchers/built_in/be_within.rb +0 -72
  350. data/rspec-expectations/lib/rspec/matchers/built_in/change.rb +0 -337
  351. data/rspec-expectations/lib/rspec/matchers/built_in/compound.rb +0 -258
  352. data/rspec-expectations/lib/rspec/matchers/built_in/contain_exactly.rb +0 -249
  353. data/rspec-expectations/lib/rspec/matchers/built_in/cover.rb +0 -24
  354. data/rspec-expectations/lib/rspec/matchers/built_in/eq.rb +0 -75
  355. data/rspec-expectations/lib/rspec/matchers/built_in/eql.rb +0 -34
  356. data/rspec-expectations/lib/rspec/matchers/built_in/equal.rb +0 -81
  357. data/rspec-expectations/lib/rspec/matchers/built_in/exist.rb +0 -86
  358. data/rspec-expectations/lib/rspec/matchers/built_in/has.rb +0 -101
  359. data/rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb +0 -84
  360. data/rspec-expectations/lib/rspec/matchers/built_in/include.rb +0 -105
  361. data/rspec-expectations/lib/rspec/matchers/built_in/match.rb +0 -29
  362. data/rspec-expectations/lib/rspec/matchers/built_in/operators.rb +0 -119
  363. data/rspec-expectations/lib/rspec/matchers/built_in/output.rb +0 -152
  364. data/rspec-expectations/lib/rspec/matchers/built_in/raise_error.rb +0 -174
  365. data/rspec-expectations/lib/rspec/matchers/built_in/respond_to.rb +0 -91
  366. data/rspec-expectations/lib/rspec/matchers/built_in/satisfy.rb +0 -39
  367. data/rspec-expectations/lib/rspec/matchers/built_in/start_and_end_with.rb +0 -82
  368. data/rspec-expectations/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  369. data/rspec-expectations/lib/rspec/matchers/built_in/yield.rb +0 -420
  370. data/rspec-expectations/lib/rspec/matchers/composable.rb +0 -183
  371. data/rspec-expectations/lib/rspec/matchers/dsl.rb +0 -391
  372. data/rspec-expectations/lib/rspec/matchers/generated_descriptions.rb +0 -42
  373. data/rspec-expectations/lib/rspec/matchers/matcher_delegator.rb +0 -33
  374. data/rspec-expectations/lib/rspec/matchers/matcher_protocol.rb +0 -99
  375. data/rspec-expectations/lib/rspec/matchers/pretty.rb +0 -77
  376. data/rspec-expectations/spec/rspec/expectations/configuration_spec.rb +0 -226
  377. data/rspec-expectations/spec/rspec/expectations/expectation_target_spec.rb +0 -147
  378. data/rspec-expectations/spec/rspec/expectations/extensions/kernel_spec.rb +0 -69
  379. data/rspec-expectations/spec/rspec/expectations/fail_with_spec.rb +0 -73
  380. data/rspec-expectations/spec/rspec/expectations/handler_spec.rb +0 -200
  381. data/rspec-expectations/spec/rspec/expectations/minitest_integration_spec.rb +0 -25
  382. data/rspec-expectations/spec/rspec/expectations/syntax_spec.rb +0 -93
  383. data/rspec-expectations/spec/rspec/expectations_spec.rb +0 -15
  384. data/rspec-expectations/spec/rspec/matchers/aliased_matcher_spec.rb +0 -113
  385. data/rspec-expectations/spec/rspec/matchers/aliases_spec.rb +0 -455
  386. data/rspec-expectations/spec/rspec/matchers/built_in/all_spec.rb +0 -212
  387. data/rspec-expectations/spec/rspec/matchers/built_in/base_matcher_spec.rb +0 -140
  388. data/rspec-expectations/spec/rspec/matchers/built_in/be_between_spec.rb +0 -157
  389. data/rspec-expectations/spec/rspec/matchers/built_in/be_instance_of_spec.rb +0 -61
  390. data/rspec-expectations/spec/rspec/matchers/built_in/be_kind_of_spec.rb +0 -39
  391. data/rspec-expectations/spec/rspec/matchers/built_in/be_spec.rb +0 -685
  392. data/rspec-expectations/spec/rspec/matchers/built_in/be_within_spec.rb +0 -139
  393. data/rspec-expectations/spec/rspec/matchers/built_in/change_spec.rb +0 -829
  394. data/rspec-expectations/spec/rspec/matchers/built_in/compound_spec.rb +0 -537
  395. data/rspec-expectations/spec/rspec/matchers/built_in/contain_exactly_spec.rb +0 -556
  396. data/rspec-expectations/spec/rspec/matchers/built_in/cover_spec.rb +0 -67
  397. data/rspec-expectations/spec/rspec/matchers/built_in/eq_spec.rb +0 -176
  398. data/rspec-expectations/spec/rspec/matchers/built_in/eql_spec.rb +0 -39
  399. data/rspec-expectations/spec/rspec/matchers/built_in/equal_spec.rb +0 -130
  400. data/rspec-expectations/spec/rspec/matchers/built_in/exist_spec.rb +0 -139
  401. data/rspec-expectations/spec/rspec/matchers/built_in/has_spec.rb +0 -179
  402. data/rspec-expectations/spec/rspec/matchers/built_in/have_attributes_spec.rb +0 -177
  403. data/rspec-expectations/spec/rspec/matchers/built_in/include_spec.rb +0 -587
  404. data/rspec-expectations/spec/rspec/matchers/built_in/match_spec.rb +0 -100
  405. data/rspec-expectations/spec/rspec/matchers/built_in/operators_spec.rb +0 -250
  406. data/rspec-expectations/spec/rspec/matchers/built_in/output_spec.rb +0 -168
  407. data/rspec-expectations/spec/rspec/matchers/built_in/raise_error_spec.rb +0 -446
  408. data/rspec-expectations/spec/rspec/matchers/built_in/respond_to_spec.rb +0 -290
  409. data/rspec-expectations/spec/rspec/matchers/built_in/satisfy_spec.rb +0 -42
  410. data/rspec-expectations/spec/rspec/matchers/built_in/start_and_end_with_spec.rb +0 -347
  411. data/rspec-expectations/spec/rspec/matchers/built_in/throw_symbol_spec.rb +0 -133
  412. data/rspec-expectations/spec/rspec/matchers/built_in/yield_spec.rb +0 -643
  413. data/rspec-expectations/spec/rspec/matchers/composable_spec.rb +0 -77
  414. data/rspec-expectations/spec/rspec/matchers/define_negated_matcher_spec.rb +0 -199
  415. data/rspec-expectations/spec/rspec/matchers/description_generation_spec.rb +0 -189
  416. data/rspec-expectations/spec/rspec/matchers/dsl_spec.rb +0 -1036
  417. data/rspec-expectations/spec/rspec/matchers/legacy_spec.rb +0 -104
  418. data/rspec-expectations/spec/rspec/matchers_spec.rb +0 -108
  419. data/rspec-expectations/spec/spec_helper.rb +0 -94
  420. data/rspec-expectations/spec/support/matchers.rb +0 -54
  421. data/rspec-expectations/spec/support/shared_examples.rb +0 -101
  422. data/rspec-mocks/benchmarks/double_creation.rb +0 -66
  423. data/rspec-mocks/benchmarks/each_value_v_values_each.rb +0 -58
  424. data/rspec-mocks/benchmarks/find_original_method_early.rb +0 -64
  425. data/rspec-mocks/benchmarks/method_defined_at_any_visibility.rb +0 -101
  426. data/rspec-mocks/benchmarks/thread_safety.rb +0 -24
  427. data/rspec-mocks/benchmarks/transfer_nested_constants.rb +0 -77
  428. data/rspec-mocks/features/step_definitions/additional_cli_steps.rb +0 -21
  429. data/rspec-mocks/features/support/disallow_certain_apis.rb +0 -24
  430. data/rspec-mocks/features/support/env.rb +0 -22
  431. data/rspec-mocks/features/support/rubinius.rb +0 -6
  432. data/rspec-mocks/lib/rspec/mocks.rb +0 -126
  433. data/rspec-mocks/lib/rspec/mocks/any_instance.rb +0 -10
  434. data/rspec-mocks/lib/rspec/mocks/any_instance/chain.rb +0 -109
  435. data/rspec-mocks/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -35
  436. data/rspec-mocks/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -48
  437. data/rspec-mocks/lib/rspec/mocks/any_instance/message_chains.rb +0 -85
  438. data/rspec-mocks/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  439. data/rspec-mocks/lib/rspec/mocks/any_instance/recorder.rb +0 -267
  440. data/rspec-mocks/lib/rspec/mocks/any_instance/stub_chain.rb +0 -45
  441. data/rspec-mocks/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -27
  442. data/rspec-mocks/lib/rspec/mocks/argument_list_matcher.rb +0 -72
  443. data/rspec-mocks/lib/rspec/mocks/argument_matchers.rb +0 -282
  444. data/rspec-mocks/lib/rspec/mocks/configuration.rb +0 -157
  445. data/rspec-mocks/lib/rspec/mocks/error_generator.rb +0 -253
  446. data/rspec-mocks/lib/rspec/mocks/example_methods.rb +0 -379
  447. data/rspec-mocks/lib/rspec/mocks/instance_method_stasher.rb +0 -135
  448. data/rspec-mocks/lib/rspec/mocks/marshal_extension.rb +0 -41
  449. data/rspec-mocks/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  450. data/rspec-mocks/lib/rspec/mocks/matchers/have_received.rb +0 -121
  451. data/rspec-mocks/lib/rspec/mocks/matchers/receive.rb +0 -106
  452. data/rspec-mocks/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -66
  453. data/rspec-mocks/lib/rspec/mocks/matchers/receive_messages.rb +0 -71
  454. data/rspec-mocks/lib/rspec/mocks/message_chain.rb +0 -91
  455. data/rspec-mocks/lib/rspec/mocks/message_expectation.rb +0 -694
  456. data/rspec-mocks/lib/rspec/mocks/method_double.rb +0 -260
  457. data/rspec-mocks/lib/rspec/mocks/method_reference.rb +0 -155
  458. data/rspec-mocks/lib/rspec/mocks/mutate_const.rb +0 -324
  459. data/rspec-mocks/lib/rspec/mocks/object_reference.rb +0 -91
  460. data/rspec-mocks/lib/rspec/mocks/order_group.rb +0 -81
  461. data/rspec-mocks/lib/rspec/mocks/proxy.rb +0 -431
  462. data/rspec-mocks/lib/rspec/mocks/space.rb +0 -221
  463. data/rspec-mocks/lib/rspec/mocks/standalone.rb +0 -3
  464. data/rspec-mocks/lib/rspec/mocks/syntax.rb +0 -329
  465. data/rspec-mocks/lib/rspec/mocks/targets.rb +0 -97
  466. data/rspec-mocks/lib/rspec/mocks/test_double.rb +0 -135
  467. data/rspec-mocks/lib/rspec/mocks/verifying_double.rb +0 -127
  468. data/rspec-mocks/lib/rspec/mocks/verifying_message_expecation.rb +0 -62
  469. data/rspec-mocks/lib/rspec/mocks/verifying_proxy.rb +0 -171
  470. data/rspec-mocks/lib/rspec/mocks/version.rb +0 -9
  471. data/rspec-mocks/spec/rspec/mocks/and_call_original_spec.rb +0 -267
  472. data/rspec-mocks/spec/rspec/mocks/and_return_spec.rb +0 -21
  473. data/rspec-mocks/spec/rspec/mocks/and_wrap_original_spec.rb +0 -63
  474. data/rspec-mocks/spec/rspec/mocks/and_yield_spec.rb +0 -161
  475. data/rspec-mocks/spec/rspec/mocks/any_instance/message_chains_spec.rb +0 -39
  476. data/rspec-mocks/spec/rspec/mocks/any_instance_spec.rb +0 -1242
  477. data/rspec-mocks/spec/rspec/mocks/argument_matchers_spec.rb +0 -336
  478. data/rspec-mocks/spec/rspec/mocks/array_including_matcher_spec.rb +0 -39
  479. data/rspec-mocks/spec/rspec/mocks/at_least_spec.rb +0 -147
  480. data/rspec-mocks/spec/rspec/mocks/at_most_spec.rb +0 -113
  481. data/rspec-mocks/spec/rspec/mocks/before_all_spec.rb +0 -75
  482. data/rspec-mocks/spec/rspec/mocks/block_return_value_spec.rb +0 -68
  483. data/rspec-mocks/spec/rspec/mocks/combining_implementation_instructions_spec.rb +0 -196
  484. data/rspec-mocks/spec/rspec/mocks/configuration_spec.rb +0 -175
  485. data/rspec-mocks/spec/rspec/mocks/double_spec.rb +0 -830
  486. data/rspec-mocks/spec/rspec/mocks/example_methods_spec.rb +0 -11
  487. data/rspec-mocks/spec/rspec/mocks/expiration_spec.rb +0 -90
  488. data/rspec-mocks/spec/rspec/mocks/hash_excluding_matcher_spec.rb +0 -65
  489. data/rspec-mocks/spec/rspec/mocks/hash_including_matcher_spec.rb +0 -92
  490. data/rspec-mocks/spec/rspec/mocks/instance_method_stasher_spec.rb +0 -72
  491. data/rspec-mocks/spec/rspec/mocks/marshal_extension_spec.rb +0 -67
  492. data/rspec-mocks/spec/rspec/mocks/matchers/have_received_spec.rb +0 -513
  493. data/rspec-mocks/spec/rspec/mocks/matchers/receive_message_chain_spec.rb +0 -227
  494. data/rspec-mocks/spec/rspec/mocks/matchers/receive_messages_spec.rb +0 -148
  495. data/rspec-mocks/spec/rspec/mocks/matchers/receive_spec.rb +0 -525
  496. data/rspec-mocks/spec/rspec/mocks/methods_spec.rb +0 -24
  497. data/rspec-mocks/spec/rspec/mocks/mock_expectation_error_spec.rb +0 -20
  498. data/rspec-mocks/spec/rspec/mocks/mock_ordering_spec.rb +0 -112
  499. data/rspec-mocks/spec/rspec/mocks/multiple_return_value_spec.rb +0 -130
  500. data/rspec-mocks/spec/rspec/mocks/mutate_const_spec.rb +0 -561
  501. data/rspec-mocks/spec/rspec/mocks/nil_expectation_warning_spec.rb +0 -52
  502. data/rspec-mocks/spec/rspec/mocks/null_object_double_spec.rb +0 -135
  503. data/rspec-mocks/spec/rspec/mocks/once_counts_spec.rb +0 -50
  504. data/rspec-mocks/spec/rspec/mocks/order_group_spec.rb +0 -26
  505. data/rspec-mocks/spec/rspec/mocks/partial_double_spec.rb +0 -379
  506. data/rspec-mocks/spec/rspec/mocks/partial_double_using_mocks_directly_spec.rb +0 -83
  507. data/rspec-mocks/spec/rspec/mocks/precise_counts_spec.rb +0 -66
  508. data/rspec-mocks/spec/rspec/mocks/serialization_spec.rb +0 -89
  509. data/rspec-mocks/spec/rspec/mocks/should_syntax_spec.rb +0 -539
  510. data/rspec-mocks/spec/rspec/mocks/space_spec.rb +0 -242
  511. data/rspec-mocks/spec/rspec/mocks/spy_spec.rb +0 -127
  512. data/rspec-mocks/spec/rspec/mocks/stash_spec.rb +0 -43
  513. data/rspec-mocks/spec/rspec/mocks/stub_chain_spec.rb +0 -166
  514. data/rspec-mocks/spec/rspec/mocks/stub_implementation_spec.rb +0 -98
  515. data/rspec-mocks/spec/rspec/mocks/stub_spec.rb +0 -520
  516. data/rspec-mocks/spec/rspec/mocks/stubbed_message_expectations_spec.rb +0 -56
  517. data/rspec-mocks/spec/rspec/mocks/syntax_agnostic_message_matchers_spec.rb +0 -99
  518. data/rspec-mocks/spec/rspec/mocks/syntax_spec.rb +0 -7
  519. data/rspec-mocks/spec/rspec/mocks/test_double_spec.rb +0 -53
  520. data/rspec-mocks/spec/rspec/mocks/thrice_counts_spec.rb +0 -72
  521. data/rspec-mocks/spec/rspec/mocks/to_ary_spec.rb +0 -52
  522. data/rspec-mocks/spec/rspec/mocks/twice_counts_spec.rb +0 -64
  523. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/class_double_with_class_loaded_spec.rb +0 -118
  524. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/class_double_with_class_not_loaded_spec.rb +0 -58
  525. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/construction_spec.rb +0 -54
  526. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/expected_arg_verification_spec.rb +0 -81
  527. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/instance_double_with_class_loaded_spec.rb +0 -195
  528. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/instance_double_with_class_not_loaded_spec.rb +0 -57
  529. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/method_visibility_spec.rb +0 -129
  530. data/rspec-mocks/spec/rspec/mocks/verifying_doubles/object_double_spec.rb +0 -68
  531. data/rspec-mocks/spec/rspec/mocks_spec.rb +0 -199
  532. data/rspec-mocks/spec/spec_helper.rb +0 -131
  533. data/rspec-mocks/spec/support/before_all_shared_example_group.rb +0 -16
  534. data/rspec-mocks/spec/support/doubled_classes.rb +0 -74
  535. data/rspec-mocks/spec/support/matchers.rb +0 -15
  536. data/rspec-support/benchmarks/caller.rb +0 -81
  537. data/rspec-support/lib/rspec/support.rb +0 -76
  538. data/rspec-support/lib/rspec/support/caller_filter.rb +0 -63
  539. data/rspec-support/lib/rspec/support/differ.rb +0 -214
  540. data/rspec-support/lib/rspec/support/directory_maker.rb +0 -61
  541. data/rspec-support/lib/rspec/support/encoded_string.rb +0 -69
  542. data/rspec-support/lib/rspec/support/fuzzy_matcher.rb +0 -48
  543. data/rspec-support/lib/rspec/support/hunk_generator.rb +0 -47
  544. data/rspec-support/lib/rspec/support/matcher_definition.rb +0 -31
  545. data/rspec-support/lib/rspec/support/method_signature_verifier.rb +0 -272
  546. data/rspec-support/lib/rspec/support/os.rb +0 -18
  547. data/rspec-support/lib/rspec/support/recursive_const_methods.rb +0 -76
  548. data/rspec-support/lib/rspec/support/ruby_features.rb +0 -45
  549. data/rspec-support/lib/rspec/support/spec.rb +0 -72
  550. data/rspec-support/lib/rspec/support/spec/deprecation_helpers.rb +0 -60
  551. data/rspec-support/lib/rspec/support/spec/formatting_support.rb +0 -9
  552. data/rspec-support/lib/rspec/support/spec/in_sub_process.rb +0 -43
  553. data/rspec-support/lib/rspec/support/spec/prevent_load_time_warnings.rb +0 -44
  554. data/rspec-support/lib/rspec/support/spec/shell_out.rb +0 -69
  555. data/rspec-support/lib/rspec/support/spec/stderr_splitter.rb +0 -52
  556. data/rspec-support/lib/rspec/support/spec/with_isolated_directory.rb +0 -9
  557. data/rspec-support/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  558. data/rspec-support/lib/rspec/support/version.rb +0 -7
  559. data/rspec-support/lib/rspec/support/version_checker.rb +0 -53
  560. data/rspec-support/lib/rspec/support/warnings.rb +0 -39
  561. data/rspec-support/spec/rspec/support/caller_filter_spec.rb +0 -66
  562. data/rspec-support/spec/rspec/support/differ_spec.rb +0 -322
  563. data/rspec-support/spec/rspec/support/directory_maker_spec.rb +0 -58
  564. data/rspec-support/spec/rspec/support/encoded_string_spec.rb +0 -86
  565. data/rspec-support/spec/rspec/support/fuzzy_matcher_spec.rb +0 -179
  566. data/rspec-support/spec/rspec/support/method_signature_verifier_spec.rb +0 -357
  567. data/rspec-support/spec/rspec/support/os_spec.rb +0 -36
  568. data/rspec-support/spec/rspec/support/recursive_const_methods_spec.rb +0 -49
  569. data/rspec-support/spec/rspec/support/spec/in_sub_process_spec.rb +0 -36
  570. data/rspec-support/spec/rspec/support/spec/prevent_load_time_warnings_spec.rb +0 -10
  571. data/rspec-support/spec/rspec/support/spec/shell_out_spec.rb +0 -44
  572. data/rspec-support/spec/rspec/support/spec/stderr_splitter_spec.rb +0 -60
  573. data/rspec-support/spec/rspec/support/spec/with_isolated_std_err_spec.rb +0 -21
  574. data/rspec-support/spec/rspec/support/version_checker_spec.rb +0 -29
  575. data/rspec-support/spec/rspec/support/warnings_spec.rb +0 -66
  576. data/rspec-support/spec/rspec/support_spec.rb +0 -119
  577. data/rspec-support/spec/spec_helper.rb +0 -2
  578. data/rspec/lib/rspec.rb +0 -3
  579. data/rspec/lib/rspec/version.rb +0 -5
  580. data/spec/mri/integration/browser_spec.rb +0 -21
  581. data/spec/mri/integration/spec_opts_spec.rb +0 -81
  582. data/spec/mri/spec_helper.rb +0 -2
  583. data/spec/mri/support/capybara.rb +0 -14
  584. data/spec/mri/unit/opal/rspec/browser_formatter_spec.rb +0 -26
  585. data/spec/mri/unit/opal/rspec/cached_environment_spec.rb +0 -85
  586. data/spec/mri/unit/opal/rspec/rack/config.ru +0 -12
  587. data/spec/mri/unit/opal/rspec/rake_task_spec.rb +0 -320
  588. data/spec/mri/unit/opal/rspec/sprockets_environment_spec.rb +0 -55
  589. data/spec/mri/unit/opal/rspec/temp_dir_helper.rb +0 -19
  590. data/spec/opal/expected_failures.txt +0 -40
  591. data/spec/rspec/core/config.rb +0 -5
  592. data/spec/rspec/core/config.ru +0 -4
  593. data/spec/rspec/core/core_spec_loader.rb +0 -46
  594. data/spec/rspec/core/filter/core/async/example_group.txt +0 -13
  595. data/spec/rspec/core/filter/core/async/hooks.rb +0 -11
  596. data/spec/rspec/core/filter/core/async/memoized_helpers.txt +0 -3
  597. data/spec/rspec/core/filter/core/async/metadata.rb +0 -4
  598. data/spec/rspec/core/filter/core/bugs/filter_manager.txt +0 -4
  599. data/spec/rspec/core/filter/core/bugs/formatters.txt +0 -4
  600. data/spec/rspec/core/filter/core/bugs/memoized_helpers.rb +0 -5
  601. data/spec/rspec/core/filter/core/bugs/metadata.txt +0 -5
  602. data/spec/rspec/core/filter/core/bugs/sandbox/subject_issue_test.rb +0 -328
  603. data/spec/rspec/core/filter/core/bugs/warnings_deprecations.txt +0 -3
  604. data/spec/rspec/core/filter/core/unsupported/core.txt +0 -5
  605. data/spec/rspec/core/filter/core/unsupported/example.txt +0 -7
  606. data/spec/rspec/core/filter/core/unsupported/example_group.txt +0 -13
  607. data/spec/rspec/core/filter/core/unsupported/filter_manager.txt +0 -7
  608. data/spec/rspec/core/filter/core/unsupported/formatters.txt +0 -27
  609. data/spec/rspec/core/filter/core/unsupported/hooks.txt +0 -2
  610. data/spec/rspec/core/filter/core/unsupported/memoized_helpers.txt +0 -6
  611. data/spec/rspec/core/filter/core/unsupported/metadata.txt +0 -14
  612. data/spec/rspec/core/filter/core/unsupported/notifications.txt +0 -8
  613. data/spec/rspec/core/filter/core/unsupported/world.txt +0 -3
  614. data/spec/rspec/core/fixes/missing_constants.rb +0 -20
  615. data/spec/rspec/core/spec_files_exclude.txt +0 -41
  616. data/spec/rspec/expectations/config.rb +0 -21
  617. data/spec/rspec/expectations/config.ru +0 -4
  618. data/spec/rspec/expectations/expectation_spec_loader.rb +0 -110
  619. data/spec/rspec/expectations/filter/bugs/aliased_matcher.txt +0 -2
  620. data/spec/rspec/expectations/filter/bugs/base_matcher.txt +0 -2
  621. data/spec/rspec/expectations/filter/bugs/be_spec.txt +0 -2
  622. data/spec/rspec/expectations/filter/bugs/configuration.txt +0 -5
  623. data/spec/rspec/expectations/filter/bugs/contain_exactly.rb +0 -8
  624. data/spec/rspec/expectations/filter/bugs/define_negated_matcher.rb +0 -8
  625. data/spec/rspec/expectations/filter/bugs/dsl.rb +0 -15
  626. data/spec/rspec/expectations/filter/bugs/equal.txt +0 -3
  627. data/spec/rspec/expectations/filter/bugs/expectation_target.rb +0 -4
  628. data/spec/rspec/expectations/filter/bugs/expectations.rb +0 -4
  629. data/spec/rspec/expectations/filter/bugs/operators.txt +0 -2
  630. data/spec/rspec/expectations/filter/bugs/raise_error.txt +0 -2
  631. data/spec/rspec/expectations/filter/bugs/respond_to.rb +0 -7
  632. data/spec/rspec/expectations/filter/bugs/sandbox/undef.rb +0 -20
  633. data/spec/rspec/expectations/filter/unsupported/aliases.txt +0 -5
  634. data/spec/rspec/expectations/filter/unsupported/be.txt +0 -2
  635. data/spec/rspec/expectations/filter/unsupported/be_instance_of.txt +0 -3
  636. data/spec/rspec/expectations/filter/unsupported/change.txt +0 -2
  637. data/spec/rspec/expectations/filter/unsupported/configuration.txt +0 -2
  638. data/spec/rspec/expectations/filter/unsupported/contain_exactly.txt +0 -2
  639. data/spec/rspec/expectations/filter/unsupported/description_generation.txt +0 -6
  640. data/spec/rspec/expectations/filter/unsupported/dsl.rb +0 -10
  641. data/spec/rspec/expectations/filter/unsupported/eq.txt +0 -10
  642. data/spec/rspec/expectations/filter/unsupported/equal.txt +0 -3
  643. data/spec/rspec/expectations/filter/unsupported/expectation_target.txt +0 -2
  644. data/spec/rspec/expectations/filter/unsupported/expectations.txt +0 -8
  645. data/spec/rspec/expectations/filter/unsupported/has.txt +0 -2
  646. data/spec/rspec/expectations/filter/unsupported/include.txt +0 -3
  647. data/spec/rspec/expectations/filter/unsupported/match.txt +0 -2
  648. data/spec/rspec/expectations/filter/unsupported/matchers.txt +0 -11
  649. data/spec/rspec/expectations/filter/unsupported/output.txt +0 -14
  650. data/spec/rspec/expectations/filter/unsupported/raise_error.txt +0 -3
  651. data/spec/rspec/expectations/filter/unsupported/syntax.txt +0 -3
  652. data/spec/rspec/expectations/filter/unsupported/yield.txt +0 -2
  653. data/spec/rspec/expectations/fixes/example_patches.rb +0 -15
  654. data/spec/rspec/expectations/fixes/missing_constants.rb +0 -12
  655. data/spec/rspec/expectations/require_specs.rb +0 -15
  656. data/spec/rspec/expectations/shared_examples.rb +0 -47
  657. data/spec/rspec/expectations/spec_helper_opal.rb +0 -13
  658. data/spec/rspec/filter_processor.rb +0 -93
  659. data/spec/rspec/mocks/config.ru +0 -4
  660. data/spec/rspec/mocks/filter/bugs/and_call_original.rb +0 -11
  661. data/spec/rspec/mocks/filter/bugs/and_wrap_original.txt +0 -2
  662. data/spec/rspec/mocks/filter/bugs/and_yield.rb +0 -4
  663. data/spec/rspec/mocks/filter/bugs/any_instance.rb +0 -18
  664. data/spec/rspec/mocks/filter/bugs/configuration.txt +0 -2
  665. data/spec/rspec/mocks/filter/bugs/expiration.txt +0 -2
  666. data/spec/rspec/mocks/filter/bugs/instance_method_stasher.txt +0 -2
  667. data/spec/rspec/mocks/filter/bugs/mocks.txt +0 -6
  668. data/spec/rspec/mocks/filter/bugs/mutate_const.txt +0 -2
  669. data/spec/rspec/mocks/filter/bugs/partial_double.rb +0 -7
  670. data/spec/rspec/mocks/filter/bugs/receive.rb +0 -7
  671. data/spec/rspec/mocks/filter/bugs/should_syntax.txt +0 -5
  672. data/spec/rspec/mocks/filter/bugs/space.txt +0 -2
  673. data/spec/rspec/mocks/filter/bugs/spy.txt +0 -5
  674. data/spec/rspec/mocks/filter/bugs/stub_implementation.rb +0 -5
  675. data/spec/rspec/mocks/filter/unsupported/and_call_original.rb +0 -7
  676. data/spec/rspec/mocks/filter/unsupported/and_return.rb +0 -4
  677. data/spec/rspec/mocks/filter/unsupported/any_instance.rb +0 -6
  678. data/spec/rspec/mocks/filter/unsupported/argument_matchers.rb +0 -7
  679. data/spec/rspec/mocks/filter/unsupported/combining_implementation_instructions.rb +0 -4
  680. data/spec/rspec/mocks/filter/unsupported/double.rb +0 -13
  681. data/spec/rspec/mocks/filter/unsupported/have_received.txt +0 -2
  682. data/spec/rspec/mocks/filter/unsupported/instance_double_with_class_loaded.rb +0 -10
  683. data/spec/rspec/mocks/filter/unsupported/mocks.rb +0 -8
  684. data/spec/rspec/mocks/filter/unsupported/nil_expectation_warning.rb +0 -4
  685. data/spec/rspec/mocks/filter/unsupported/partial_double.rb +0 -4
  686. data/spec/rspec/mocks/filter/unsupported/receive.txt +0 -13
  687. data/spec/rspec/mocks/filter/unsupported/receive_messages.txt +0 -2
  688. data/spec/rspec/mocks/filter/unsupported/should_syntax.txt +0 -1
  689. data/spec/rspec/mocks/filter/unsupported/space.rb +0 -7
  690. data/spec/rspec/mocks/fixes/doubled_classes.rb +0 -76
  691. data/spec/rspec/mocks/mocks_spec_loader.rb +0 -91
  692. data/spec/rspec/mocks/require_specs.rb +0 -14
  693. data/spec/rspec/mocks/spec_helper_opal.rb +0 -131
  694. data/spec/rspec/opal_rspec_spec_loader.rb +0 -371
  695. data/spec/rspec/shared/opal/fixes/deprecation_helpers.rb +0 -31
  696. data/spec/rspec/shared/opal/fixes/rspec_helpers.rb +0 -6
  697. data/spec/rspec/shared/opal/separator_formatter.rb +0 -14
  698. data/spec/rspec/support/config.rb +0 -5
  699. data/spec/rspec/support/config.ru +0 -4
  700. data/spec/rspec/support/filter/bugs/recursive_const_methods.txt +0 -3
  701. data/spec/rspec/support/filter/bugs/sandbox/basic_object.rb +0 -30
  702. data/spec/rspec/support/filter/bugs/stderr_splitter_spec.txt +0 -2
  703. data/spec/rspec/support/filter/bugs/support.txt +0 -2
  704. data/spec/rspec/support/filter/unsupported/fuzzy_matcher.rb +0 -4
  705. data/spec/rspec/support/filter/unsupported/support.rb +0 -4
  706. data/spec/rspec/support/filter/unsupported/warnings.txt +0 -6
  707. data/spec/rspec/support/fixes/missing_constants.rb +0 -3
  708. data/spec/rspec/support/require_specs.rb +0 -14
  709. data/spec/rspec/support/spec_helper.rb +0 -27
  710. data/spec/rspec/support/support_spec_loader.rb +0 -38
@@ -1,24 +0,0 @@
1
- module RSpec
2
- module Mocks
3
- RSpec.describe "Methods added to every object" do
4
- include_context "with syntax", :expect
5
-
6
- def added_methods
7
- host = Class.new
8
- orig_instance_methods = host.instance_methods
9
- Syntax.enable_should(host)
10
- (host.instance_methods - orig_instance_methods).map(&:to_sym)
11
- end
12
-
13
- it 'limits the number of methods that get added to all objects' do
14
- # If really necessary, you can add to this list, but long term,
15
- # we are hoping to cut down on the number of methods added to all objects
16
- expect(added_methods).to match_array([
17
- :as_null_object, :null_object?,
18
- :received_message?, :should_not_receive, :should_receive,
19
- :stub, :stub_chain, :unstub
20
- ])
21
- end
22
- end
23
- end
24
- end
@@ -1,20 +0,0 @@
1
- module RSpec
2
- module Mocks
3
- RSpec.describe 'MockExpectationError' do
4
-
5
- class Foo
6
- def self.foo
7
- bar
8
- rescue StandardError
9
- end
10
- end
11
-
12
- it 'is not caught by StandardError rescue blocks' do
13
- expect(Foo).not_to receive(:bar)
14
- expect {
15
- Foo.foo
16
- }.to raise_error(RSpec::Mocks::MockExpectationError)
17
- end
18
- end
19
- end
20
- end
@@ -1,112 +0,0 @@
1
- module RSpec
2
- module Mocks
3
-
4
- RSpec.describe "ordering" do
5
- before { @double = double("test double") }
6
- after { reset @double }
7
-
8
- it "passes when messages are received in order" do
9
- expect(@double).to receive(:one).ordered
10
- expect(@double).to receive(:two).ordered
11
- expect(@double).to receive(:three).ordered
12
- @double.one
13
- @double.two
14
- @double.three
15
- end
16
-
17
- it "passes when messages are received in order" do
18
- allow(@double).to receive(:something)
19
- expect(@double).to receive(:one).ordered
20
- expect(@double).to receive(:two).ordered
21
- expect(@double).to receive(:three).at_least(:once).ordered
22
- @double.one
23
- @double.two
24
- @double.three
25
- @double.three
26
- end
27
-
28
- it "passes when messages are received in order across objects" do
29
- a = double("a")
30
- b = double("b")
31
- expect(a).to receive(:one).ordered
32
- expect(b).to receive(:two).ordered
33
- expect(a).to receive(:three).ordered
34
- a.one
35
- b.two
36
- a.three
37
- end
38
-
39
- it "fails when messages are received out of order (2nd message 1st)" do
40
- expect(@double).to receive(:one).ordered
41
- expect(@double).to receive(:two).ordered
42
- expect {
43
- @double.two
44
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :two out of order")
45
- end
46
-
47
- it "fails when messages are received out of order (3rd message 1st)" do
48
- expect(@double).to receive(:one).ordered
49
- expect(@double).to receive(:two).ordered
50
- expect(@double).to receive(:three).ordered
51
- @double.one
52
- expect {
53
- @double.three
54
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
55
- end
56
-
57
- it "fails when messages are received out of order (3rd message 2nd)" do
58
- expect(@double).to receive(:one).ordered
59
- expect(@double).to receive(:two).ordered
60
- expect(@double).to receive(:three).ordered
61
- @double.one
62
- expect {
63
- @double.three
64
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
65
- end
66
-
67
- it "fails when messages are out of order across objects" do
68
- a = double("test double")
69
- b = double("another test double")
70
- expect(a).to receive(:one).ordered
71
- expect(b).to receive(:two).ordered
72
- expect(a).to receive(:three).ordered
73
- a.one
74
- expect {
75
- a.three
76
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
77
- reset a
78
- reset b
79
- end
80
-
81
- it "ignores order of non ordered messages" do
82
- expect(@double).to receive(:ignored_0)
83
- expect(@double).to receive(:ordered_1).ordered
84
- expect(@double).to receive(:ignored_1)
85
- expect(@double).to receive(:ordered_2).ordered
86
- expect(@double).to receive(:ignored_2)
87
- expect(@double).to receive(:ignored_3)
88
- expect(@double).to receive(:ordered_3).ordered
89
- expect(@double).to receive(:ignored_4)
90
- @double.ignored_3
91
- @double.ordered_1
92
- @double.ignored_0
93
- @double.ordered_2
94
- @double.ignored_4
95
- @double.ignored_2
96
- @double.ordered_3
97
- @double.ignored_1
98
- verify @double
99
- end
100
-
101
- it "supports duplicate messages" do
102
- expect(@double).to receive(:a).ordered
103
- expect(@double).to receive(:b).ordered
104
- expect(@double).to receive(:a).ordered
105
-
106
- @double.a
107
- @double.b
108
- @double.a
109
- end
110
- end
111
- end
112
- end
@@ -1,130 +0,0 @@
1
- module RSpec
2
- module Mocks
3
- RSpec.describe "a double stubbed with multiple return values" do
4
- let(:a_double) { double }
5
-
6
- before do
7
- allow(a_double).to receive(:foo).and_return(:val_1, nil)
8
- end
9
-
10
- it 'can still set a message expectation with a single return value' do
11
- expect(a_double).to receive(:foo).once.and_return(:val_1)
12
- expect(a_double.foo).to eq(:val_1)
13
- end
14
- end
15
-
16
- RSpec.describe "a message expectation with multiple return values and no specified count" do
17
- before(:each) do
18
- @double = double
19
- @return_values = [1,2,3]
20
- expect(@double).to receive(:do_something).and_return(@return_values[0],@return_values[1],@return_values[2])
21
- end
22
-
23
- it "returns values in order" do
24
- expect(@double.do_something).to eq @return_values[0]
25
- expect(@double.do_something).to eq @return_values[1]
26
- expect(@double.do_something).to eq @return_values[2]
27
- verify @double
28
- end
29
-
30
- it "falls back to a previously stubbed value" do
31
- allow(@double).to receive_messages :do_something => :stub_result
32
- expect(@double.do_something).to eq @return_values[0]
33
- expect(@double.do_something).to eq @return_values[1]
34
- expect(@double.do_something).to eq @return_values[2]
35
- expect(@double.do_something).to eq :stub_result
36
- end
37
-
38
- it "fails when there are too few calls (if there is no stub)" do
39
- @double.do_something
40
- @double.do_something
41
- expect { verify @double }.to raise_error
42
- end
43
-
44
- it "fails when there are too many calls (if there is no stub)" do
45
- @double.do_something
46
- @double.do_something
47
- @double.do_something
48
- @double.do_something
49
- expect { verify @double }.to raise_error
50
- end
51
- end
52
-
53
- RSpec.describe "a message expectation with multiple return values with a specified count equal to the number of values" do
54
- before(:each) do
55
- @double = double
56
- @return_values = [1,2,3]
57
- expect(@double).to receive(:do_something).exactly(3).times.and_return(@return_values[0], @return_values[1], @return_values[2])
58
- end
59
-
60
- it "returns values in order to consecutive calls" do
61
- expect(@double.do_something).to eq @return_values[0]
62
- expect(@double.do_something).to eq @return_values[1]
63
- expect(@double.do_something).to eq @return_values[2]
64
- verify @double
65
- end
66
- end
67
-
68
- RSpec.describe "a message expectation with multiple return values specifying at_least less than the number of values" do
69
- before(:each) do
70
- @double = double
71
- expect(@double).to receive(:do_something).at_least(:twice).with(no_args).and_return(11, 22)
72
- end
73
-
74
- it "uses the last return value for subsequent calls" do
75
- expect(@double.do_something).to equal(11)
76
- expect(@double.do_something).to equal(22)
77
- expect(@double.do_something).to equal(22)
78
- verify @double
79
- end
80
-
81
- it "fails when called less than the specified number" do
82
- expect(@double.do_something).to equal(11)
83
- expect { verify @double }.to raise_error(RSpec::Mocks::MockExpectationError)
84
- end
85
-
86
- context "when method is stubbed too" do
87
- before { allow(@double).to receive(:do_something).and_return :stub_result }
88
-
89
- it "uses the last value for subsequent calls" do
90
- expect(@double.do_something).to equal(11)
91
- expect(@double.do_something).to equal(22)
92
- expect(@double.do_something).to equal(22)
93
- verify @double
94
- end
95
-
96
- it "fails when called less than the specified number" do
97
- expect(@double.do_something).to equal(11)
98
- expect { verify @double }.to raise_error(RSpec::Mocks::MockExpectationError)
99
- end
100
- end
101
- end
102
-
103
- RSpec.describe "a message expectation with multiple return values with a specified count larger than the number of values" do
104
- before(:each) do
105
- @double = RSpec::Mocks::Double.new("double")
106
- expect(@double).to receive(:do_something).exactly(3).times.and_return(11, 22)
107
- end
108
-
109
- it "uses the last return value for subsequent calls" do
110
- expect(@double.do_something).to equal(11)
111
- expect(@double.do_something).to equal(22)
112
- expect(@double.do_something).to equal(22)
113
- verify @double
114
- end
115
-
116
- it "fails when called less than the specified number" do
117
- @double.do_something
118
- @double.do_something
119
- expect { verify @double }.to raise_error
120
- end
121
-
122
- it "fails fast when called greater than the specified number" do
123
- @double.do_something
124
- @double.do_something
125
- @double.do_something
126
- expect { @double.do_something }.to raise_error
127
- end
128
- end
129
- end
130
- end
@@ -1,561 +0,0 @@
1
- TOP_LEVEL_VALUE_CONST = 7
2
-
3
- class TestClass
4
- M = :m
5
- N = :n
6
-
7
- class Nested
8
- class NestedEvenMore
9
- end
10
- end
11
- end
12
-
13
- class TestClassThatDefinesSend
14
- C = :c
15
-
16
- def self.send
17
- end
18
- end
19
-
20
- class TestSubClass < TestClass
21
- P = :p
22
- end
23
-
24
- module RSpec
25
- module Mocks
26
- RSpec.describe "Constant Mutating" do
27
- include RSpec::Support::RecursiveConstMethods
28
-
29
- def reset_rspec_mocks
30
- ::RSpec::Mocks.space.reset_all
31
- end
32
-
33
- shared_context "constant example methods" do |const_name|
34
- define_method :const do
35
- recursive_const_get(const_name)
36
- end
37
-
38
- define_method :parent_const do
39
- recursive_const_get("Object::" + const_name.sub(/(::)?[^:]+\z/, ''))
40
- end
41
-
42
- define_method :last_const_part do
43
- const_name.split('::').last
44
- end
45
- end
46
-
47
- shared_examples "loaded constant stubbing" do |const_name|
48
- include_context "constant example methods", const_name
49
-
50
- let!(:original_const_value) { const }
51
- after { change_const_value_to(original_const_value) }
52
-
53
- def change_const_value_to(value)
54
- parent_const.__send__(:remove_const, last_const_part)
55
- parent_const.const_set(last_const_part, value)
56
- end
57
-
58
- it 'allows it to be stubbed' do
59
- expect(const).not_to eq(7)
60
- stub_const(const_name, 7)
61
- expect(const).to eq(7)
62
- end
63
-
64
- it 'resets it to its original value when rspec clears its mocks' do
65
- original_value = const
66
- expect(original_value).not_to eq(:a)
67
- stub_const(const_name, :a)
68
- reset_rspec_mocks
69
- expect(const).to be(original_value)
70
- end
71
-
72
- it 'returns the stubbed value' do
73
- expect(stub_const(const_name, 7)).to eq(7)
74
- end
75
- end
76
-
77
- shared_examples "loaded constant hiding" do |const_name|
78
- before do
79
- expect(recursive_const_defined?(const_name)).to be_truthy
80
- end
81
-
82
- it 'allows it to be hidden' do
83
- hide_const(const_name)
84
- expect(recursive_const_defined?(const_name)).to be_falsey
85
- end
86
-
87
- it 'resets the constant when rspec clear its mocks' do
88
- hide_const(const_name)
89
- reset_rspec_mocks
90
- expect(recursive_const_defined?(const_name)).to be_truthy
91
- end
92
-
93
- it 'returns nil' do
94
- expect(hide_const(const_name)).to be_nil
95
- end
96
- end
97
-
98
- shared_examples "unloaded constant stubbing" do |const_name|
99
- include_context "constant example methods", const_name
100
-
101
- before do
102
- expect(recursive_const_defined?(const_name)).to be_falsey
103
- end
104
-
105
- it 'allows it to be stubbed' do
106
- stub_const(const_name, 7)
107
- expect(const).to eq(7)
108
- end
109
-
110
- it 'removes the constant when rspec clears its mocks' do
111
- stub_const(const_name, 7)
112
- reset_rspec_mocks
113
- expect(recursive_const_defined?(const_name)).to be_falsey
114
- end
115
-
116
- it 'returns the stubbed value' do
117
- expect(stub_const(const_name, 7)).to eq(7)
118
- end
119
-
120
- it 'ignores the :transfer_nested_constants option if passed' do
121
- stub = Module.new
122
- stub_const(const_name, stub, :transfer_nested_constants => true)
123
- expect(stub.constants).to eq([])
124
- end
125
- end
126
-
127
- shared_examples "unloaded constant hiding" do |const_name|
128
- include_context "constant example methods", const_name
129
-
130
- before do
131
- expect(recursive_const_defined?(const_name)).to be_falsey
132
- end
133
-
134
- it 'allows it to be hidden, though the operation has no effect' do
135
- hide_const(const_name)
136
- expect(recursive_const_defined?(const_name)).to be_falsey
137
- end
138
-
139
- it 'remains undefined after rspec clears its mocks' do
140
- hide_const(const_name)
141
- reset_rspec_mocks
142
- expect(recursive_const_defined?(const_name)).to be_falsey
143
- end
144
-
145
- it 'returns nil' do
146
- expect(hide_const(const_name)).to be_nil
147
- end
148
- end
149
-
150
- describe "#hide_const" do
151
- context "for a loaded constant nested in a module that redefines `send`" do
152
- it_behaves_like "loaded constant hiding", "TestClassThatDefinesSend::C"
153
- end
154
-
155
-
156
- context 'for a loaded nested constant' do
157
- it_behaves_like "loaded constant hiding", "TestClass::Nested"
158
- end
159
-
160
- context 'for a loaded constant prefixed with ::' do
161
- it_behaves_like 'loaded constant hiding', "::TestClass"
162
- end
163
-
164
- context 'for an unloaded constant with nested name that matches a top-level constant' do
165
- it_behaves_like "unloaded constant hiding", "TestClass::Hash"
166
-
167
- it 'does not hide the top-level constant' do
168
- top_level_hash = ::Hash
169
-
170
- hide_const("TestClass::Hash")
171
- expect(::Hash).to equal(top_level_hash)
172
- end
173
-
174
- it 'does not affect the ability to access the top-level constant from nested contexts', :silence_warnings do
175
- top_level_hash = ::Hash
176
-
177
- hide_const("TestClass::Hash")
178
- expect(TestClass::Hash).to equal(top_level_hash)
179
- end
180
- end
181
-
182
- context 'for a loaded deeply nested constant' do
183
- it_behaves_like "loaded constant hiding", "TestClass::Nested::NestedEvenMore"
184
- end
185
-
186
- context 'for an unloaded unnested constant' do
187
- it_behaves_like "unloaded constant hiding", "X"
188
- end
189
-
190
- context 'for an unloaded nested constant' do
191
- it_behaves_like "unloaded constant hiding", "X::Y"
192
- end
193
-
194
- it 'can be hidden multiple times but still restores the original value properly' do
195
- orig_value = TestClass
196
- hide_const("TestClass")
197
- hide_const("TestClass")
198
-
199
- reset_rspec_mocks
200
- expect(TestClass).to be(orig_value)
201
- end
202
-
203
- it 'allows a constant to be hidden, then stubbed, restoring it to its original value properly' do
204
- orig_value = TOP_LEVEL_VALUE_CONST
205
-
206
- hide_const("TOP_LEVEL_VALUE_CONST")
207
- expect(recursive_const_defined?("TOP_LEVEL_VALUE_CONST")).to be_falsey
208
-
209
- stub_const("TOP_LEVEL_VALUE_CONST", 12345)
210
- expect(TOP_LEVEL_VALUE_CONST).to eq 12345
211
-
212
- reset_rspec_mocks
213
- expect(TOP_LEVEL_VALUE_CONST).to eq orig_value
214
- end
215
- end
216
-
217
- describe "#stub_const" do
218
- context "for a loaded constant nested in a module that redefines `send`" do
219
- it_behaves_like "loaded constant stubbing", "TestClassThatDefinesSend::C"
220
- end
221
-
222
- context 'for a loaded unnested constant' do
223
- it_behaves_like "loaded constant stubbing", "TestClass"
224
-
225
- it 'can be stubbed multiple times but still restores the original value properly' do
226
- orig_value = TestClass
227
- stub1, stub2 = Module.new, Module.new
228
- stub_const("TestClass", stub1)
229
- stub_const("TestClass", stub2)
230
-
231
- reset_rspec_mocks
232
- expect(TestClass).to be(orig_value)
233
- end
234
-
235
- it 'allows nested constants to be transferred to a stub module' do
236
- tc_nested = TestClass::Nested
237
- stub = Module.new
238
- stub_const("TestClass", stub, :transfer_nested_constants => true)
239
- expect(stub::M).to eq(:m)
240
- expect(stub::N).to eq(:n)
241
- expect(stub::Nested).to be(tc_nested)
242
- end
243
-
244
- it 'removes the transferred constants on reset' do
245
- stub = Module.new
246
- stub_const("TestClass", stub, :transfer_nested_constants => true)
247
-
248
- expect {
249
- reset_all
250
- }.to change { stub.constants }.to([])
251
- end
252
-
253
- it 'does not transfer nested constants that are inherited from a superclass' do
254
- stub = Module.new
255
- stub_const("TestSubClass", stub, :transfer_nested_constants => true)
256
- expect(stub::P).to eq(:p)
257
- expect(defined?(stub::M)).to be_falsey
258
- expect(defined?(stub::N)).to be_falsey
259
- end
260
-
261
- it 'raises an error when asked to transfer a nested inherited constant' do
262
- original_tsc = TestSubClass
263
-
264
- expect {
265
- stub_const("TestSubClass", Module.new, :transfer_nested_constants => [:M])
266
- }.to raise_error(ArgumentError)
267
-
268
- expect(TestSubClass).to be(original_tsc)
269
- end
270
-
271
- it 'allows nested constants to be selectively transferred to a stub module' do
272
- stub = Module.new
273
- stub_const("TestClass", stub, :transfer_nested_constants => [:M, :N])
274
- expect(stub::M).to eq(:m)
275
- expect(stub::N).to eq(:n)
276
- expect(defined?(stub::Nested)).to be_falsey
277
- end
278
-
279
- it 'raises an error if asked to transfer nested constants but given an object that does not support them' do
280
- original_tc = TestClass
281
- stub = Object.new
282
- expect {
283
- stub_const("TestClass", stub, :transfer_nested_constants => true)
284
- }.to raise_error(ArgumentError)
285
-
286
- expect(TestClass).to be(original_tc)
287
-
288
- expect {
289
- stub_const("TestClass", stub, :transfer_nested_constants => [:M])
290
- }.to raise_error(ArgumentError)
291
-
292
- expect(TestClass).to be(original_tc)
293
- end
294
-
295
- it 'raises an error if asked to transfer nested constants on a constant that does not support nested constants' do
296
- stub = Module.new
297
- expect {
298
- stub_const("TOP_LEVEL_VALUE_CONST", stub, :transfer_nested_constants => true)
299
- }.to raise_error(ArgumentError)
300
-
301
- expect(TOP_LEVEL_VALUE_CONST).to eq(7)
302
-
303
- expect {
304
- stub_const("TOP_LEVEL_VALUE_CONST", stub, :transfer_nested_constants => [:M])
305
- }.to raise_error(ArgumentError)
306
-
307
- expect(TOP_LEVEL_VALUE_CONST).to eq(7)
308
- end
309
-
310
- it 'raises an error if asked to transfer a nested constant that is not defined' do
311
- original_tc = TestClass
312
- expect(defined?(TestClass::V)).to be_falsey
313
- stub = Module.new
314
-
315
- expect {
316
- stub_const("TestClass", stub, :transfer_nested_constants => [:V])
317
- }.to raise_error(/cannot transfer nested constant.*V/i)
318
-
319
- expect(TestClass).to be(original_tc)
320
- end
321
-
322
- describe 'with global transfer_nested_constant option set' do
323
- include_context "with isolated configuration"
324
-
325
- before do
326
- RSpec::Mocks.configuration.transfer_nested_constants = true
327
- end
328
-
329
- it 'allows nested constants to be transferred to a stub module' do
330
- tc_nested = TestClass::Nested
331
- stub = Module.new
332
- stub_const("TestClass", stub)
333
- expect(stub::M).to eq(:m)
334
- expect(stub::N).to eq(:n)
335
- expect(stub::Nested).to be(tc_nested)
336
- end
337
-
338
- context "when stubbing a constant that is not a module or a class" do
339
- it 'does not attempt to transfer constants' do
340
- stub_const("TOP_LEVEL_VALUE_CONST", 4)
341
- expect(TOP_LEVEL_VALUE_CONST).to eq(4)
342
- end
343
-
344
- it 'still raises an error when the `:transfer_nested_constants` option is provided' do
345
- expect {
346
- stub_const("TOP_LEVEL_VALUE_CONST", 4, :transfer_nested_constants => true)
347
- }.to raise_error(/cannot transfer nested constant/i)
348
- end
349
- end
350
- end
351
- end
352
-
353
- context 'for a loaded nested constant' do
354
- it_behaves_like "loaded constant stubbing", "TestClass::Nested"
355
- end
356
-
357
- context 'for a loaded constant prefixed with ::' do
358
- it_behaves_like 'loaded constant stubbing', "::TestClass"
359
- end
360
-
361
- context 'for an unloaded constant prefixed with ::' do
362
- it_behaves_like 'unloaded constant stubbing', "::SomeUndefinedConst"
363
- end
364
-
365
- context "for an unloaded constant nested in a module that redefines `send`" do
366
- it_behaves_like 'unloaded constant stubbing', "TestClassThatDefinesSend::SomeUndefinedConst"
367
- end
368
-
369
- context 'for an unloaded constant with nested name that matches a top-level constant' do
370
- it_behaves_like "unloaded constant stubbing", "TestClass::Hash"
371
- end
372
-
373
- context 'for a loaded deeply nested constant' do
374
- it_behaves_like "loaded constant stubbing", "TestClass::Nested::NestedEvenMore"
375
- end
376
-
377
- context 'for an unloaded unnested constant' do
378
- it_behaves_like "unloaded constant stubbing", "X"
379
- end
380
-
381
- context 'for an unloaded nested constant' do
382
- it_behaves_like "unloaded constant stubbing", "X::Y"
383
-
384
- it 'removes the root constant when rspec clears its mocks' do
385
- expect(defined?(X)).to be_falsey
386
- stub_const("X::Y", 7)
387
- reset_rspec_mocks
388
- expect(defined?(X)).to be_falsey
389
- end
390
- end
391
-
392
- context 'for an unloaded deeply nested constant' do
393
- it_behaves_like "unloaded constant stubbing", "X::Y::Z"
394
-
395
- it 'removes the root constant when rspec clears its mocks' do
396
- expect(defined?(X)).to be_falsey
397
- stub_const("X::Y::Z", 7)
398
- reset_rspec_mocks
399
- expect(defined?(X)).to be_falsey
400
- end
401
- end
402
-
403
- context 'for an unloaded constant nested within a loaded constant' do
404
- it_behaves_like "unloaded constant stubbing", "TestClass::X"
405
-
406
- it 'removes the unloaded constant but leaves the loaded constant when rspec resets its mocks' do
407
- expect(defined?(TestClass)).to be_truthy
408
- expect(defined?(TestClass::X)).to be_falsey
409
- stub_const("TestClass::X", 7)
410
- reset_rspec_mocks
411
- expect(defined?(TestClass)).to be_truthy
412
- expect(defined?(TestClass::X)).to be_falsey
413
- end
414
-
415
- it 'raises a helpful error if it cannot be stubbed due to an intermediary constant that is not a module' do
416
- expect(TestClass::M).to be_a(Symbol)
417
- expect { stub_const("TestClass::M::X", 5) }.to raise_error(/cannot stub/i)
418
- end
419
- end
420
-
421
- context 'for an unloaded constant nested deeply within a deeply nested loaded constant' do
422
- it_behaves_like "unloaded constant stubbing", "TestClass::Nested::NestedEvenMore::X::Y::Z"
423
-
424
- it 'removes the first unloaded constant but leaves the loaded nested constant when rspec resets its mocks' do
425
- expect(defined?(TestClass::Nested::NestedEvenMore)).to be_truthy
426
- expect(defined?(TestClass::Nested::NestedEvenMore::X)).to be_falsey
427
- stub_const("TestClass::Nested::NestedEvenMore::X::Y::Z", 7)
428
- reset_rspec_mocks
429
- expect(defined?(TestClass::Nested::NestedEvenMore)).to be_truthy
430
- expect(defined?(TestClass::Nested::NestedEvenMore::X)).to be_falsey
431
- end
432
- end
433
- end
434
- end
435
-
436
- RSpec.describe Constant do
437
- describe ".original" do
438
- context 'for a previously defined unstubbed constant' do
439
- let(:const) { Constant.original("TestClass::M") }
440
-
441
- it("exposes its name") { expect(const.name).to eq("TestClass::M") }
442
- it("indicates it was previously defined") { expect(const).to be_previously_defined }
443
- it("indicates it has not been mutated") { expect(const).not_to be_mutated }
444
- it("indicates it has not been stubbed") { expect(const).not_to be_stubbed }
445
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
446
- it("exposes its original value") { expect(const.original_value).to eq(:m) }
447
- end
448
-
449
- context 'for a previously defined stubbed constant' do
450
- before { stub_const("TestClass::M", :other) }
451
- let(:const) { Constant.original("TestClass::M") }
452
-
453
- it("exposes its name") { expect(const.name).to eq("TestClass::M") }
454
- it("indicates it was previously defined") { expect(const).to be_previously_defined }
455
- it("indicates it has been mutated") { expect(const).to be_mutated }
456
- it("indicates it has been stubbed") { expect(const).to be_stubbed }
457
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
458
- it("exposes its original value") { expect(const.original_value).to eq(:m) }
459
- end
460
-
461
- context 'for a previously undefined stubbed constant' do
462
- before { stub_const("TestClass::Undefined", :other) }
463
- let(:const) { Constant.original("TestClass::Undefined") }
464
-
465
- it("exposes its name") { expect(const.name).to eq("TestClass::Undefined") }
466
- it("indicates it was not previously defined") { expect(const).not_to be_previously_defined }
467
- it("indicates it has been mutated") { expect(const).to be_mutated }
468
- it("indicates it has been stubbed") { expect(const).to be_stubbed }
469
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
470
- it("returns nil for the original value") { expect(const.original_value).to be_nil }
471
- end
472
-
473
- context 'for a previously undefined parent of a stubbed constant' do
474
- before { stub_const("TestClass::UndefinedModule::Undefined", :other) }
475
- let(:const) { Constant.original("TestClass::UndefinedModule") }
476
-
477
- it("exposes its name") { expect(const.name).to eq("TestClass::UndefinedModule") }
478
- it("indicates it was not previously defined") { expect(const).not_to be_previously_defined }
479
- it("indicates it has been mutated") { expect(const).to be_mutated }
480
- it("indicates it has been stubbed") { expect(const).to be_stubbed }
481
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
482
- it("returns nil for the original value") { expect(const.original_value).to be_nil }
483
- end
484
-
485
- context 'for a previously undefined unstubbed constant' do
486
- let(:const) { Constant.original("TestClass::Undefined") }
487
-
488
- it("exposes its name") { expect(const.name).to eq("TestClass::Undefined") }
489
- it("indicates it was not previously defined") { expect(const).not_to be_previously_defined }
490
- it("indicates it has not been mutated") { expect(const).not_to be_mutated }
491
- it("indicates it has not been stubbed") { expect(const).not_to be_stubbed }
492
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
493
- it("returns nil for the original value") { expect(const.original_value).to be_nil }
494
- end
495
-
496
- context 'for a previously defined constant that has been stubbed twice' do
497
- before { stub_const("TestClass::M", 1) }
498
- before { stub_const("TestClass::M", 2) }
499
- let(:const) { Constant.original("TestClass::M") }
500
-
501
- it("exposes its name") { expect(const.name).to eq("TestClass::M") }
502
- it("indicates it was previously defined") { expect(const).to be_previously_defined }
503
- it("indicates it has been mutated") { expect(const).to be_mutated }
504
- it("indicates it has been stubbed") { expect(const).to be_stubbed }
505
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
506
- it("exposes its original value") { expect(const.original_value).to eq(:m) }
507
- end
508
-
509
- context 'for a previously undefined constant that has been stubbed twice' do
510
- before { stub_const("TestClass::Undefined", 1) }
511
- before { stub_const("TestClass::Undefined", 2) }
512
- let(:const) { Constant.original("TestClass::Undefined") }
513
-
514
- it("exposes its name") { expect(const.name).to eq("TestClass::Undefined") }
515
- it("indicates it was not previously defined") { expect(const).not_to be_previously_defined }
516
- it("indicates it has been mutated") { expect(const).to be_mutated }
517
- it("indicates it has been stubbed") { expect(const).to be_stubbed }
518
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
519
- it("returns nil for the original value") { expect(const.original_value).to be_nil }
520
- end
521
-
522
- context 'for a previously undefined hidden constant' do
523
- before { hide_const("SomeUndefinedConst") }
524
- let(:const) { Constant.original("SomeUndefinedConst") }
525
-
526
- it("exposes its name") { expect(const.name).to eq("SomeUndefinedConst") }
527
- it("indicates it was previously undefined") { expect(const).not_to be_previously_defined }
528
- it("indicates it has not been mutated") { expect(const).not_to be_mutated }
529
- it("indicates it has not not been stubbed") { expect(const).not_to be_stubbed }
530
- it("indicates it has not been hidden") { expect(const).not_to be_hidden }
531
- it("returns nil for the original value") { expect(const.original_value).to be_nil }
532
- end
533
-
534
- context 'for a previously defined hidden constant' do
535
- before { hide_const("TestClass::M") }
536
- let(:const) { Constant.original("TestClass::M") }
537
-
538
- it("exposes its name") { expect(const.name).to eq("TestClass::M") }
539
- it("indicates it was previously defined") { expect(const).to be_previously_defined }
540
- it("indicates it has been mutated") { expect(const).to be_mutated }
541
- it("indicates it has not been stubbed") { expect(const).not_to be_stubbed }
542
- it("indicates it has been hidden") { expect(const).to be_hidden }
543
- it("exposes its original value") { expect(const.original_value).to eq(:m) }
544
- end
545
-
546
- context 'for a previously defined constant that has been hidden twice' do
547
- before { hide_const("TestClass::M") }
548
- before { hide_const("TestClass::M") }
549
- let(:const) { Constant.original("TestClass::M") }
550
-
551
- it("exposes its name") { expect(const.name).to eq("TestClass::M") }
552
- it("indicates it was previously defined") { expect(const).to be_previously_defined }
553
- it("indicates it has been mutated") { expect(const).to be_mutated }
554
- it("indicates it has not been stubbed") { expect(const).not_to be_stubbed }
555
- it("indicates it has been hidden") { expect(const).to be_hidden }
556
- it("exposes its original value") { expect(const.original_value).to eq(:m) }
557
- end
558
- end
559
- end
560
- end
561
- end