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,175 +0,0 @@
1
- module RSpec
2
- module Mocks
3
- RSpec.describe Configuration do
4
- let(:config) { Configuration.new }
5
- let(:mod_1) { Module.new }
6
- let(:mod_2) { Module.new }
7
-
8
- def instance_methods_of(mod)
9
- mod_1.instance_methods.map(&:to_sym)
10
- end
11
-
12
- it 'adds stub and should_receive to the given modules' do
13
- expect(instance_methods_of(mod_1)).not_to include(:stub, :should_receive)
14
- expect(instance_methods_of(mod_2)).not_to include(:stub, :should_receive)
15
-
16
- config.add_stub_and_should_receive_to(mod_1, mod_2)
17
-
18
- expect(instance_methods_of(mod_1)).to include(:stub, :should_receive)
19
- expect(instance_methods_of(mod_2)).to include(:stub, :should_receive)
20
- end
21
-
22
- shared_examples "configuring the syntax" do
23
- def sandboxed
24
- orig_syntax = RSpec::Mocks.configuration.syntax
25
- yield
26
- ensure
27
- configure_syntax(orig_syntax)
28
- end
29
-
30
- around(:each) { |ex| sandboxed(&ex) }
31
- let(:dbl) { double }
32
- let(:should_methods) { [:should_receive, :stub, :should_not_receive] }
33
- let(:should_class_methods) { [:any_instance] }
34
- let(:expect_methods) { [:receive, :allow, :expect_any_instance_of, :allow_any_instance_of] }
35
-
36
- it 'defaults to enabling both the :should and :expect syntaxes' do
37
- # This is kinda a hack, but since we want to enforce use of
38
- # the expect syntax within our specs here, we have modified the
39
- # config setting, which makes it hard to get at the original
40
- # default value. in spec_helper.rb we store the default value
41
- # in $default_rspec_mocks_syntax so we can use it here.
42
- RSpec::Mocks.configuration.syntax = $default_rspec_mocks_syntax
43
- expect(dbl).to respond_to(*should_methods)
44
- expect(self).to respond_to(*expect_methods)
45
- end
46
-
47
- context 'when configured to :expect' do
48
- before { configure_syntax :expect }
49
-
50
- it 'removes the should methods from every object' do
51
- expect(dbl).not_to respond_to(*should_methods)
52
- end
53
-
54
- it 'removes `any_instance` from every class' do
55
- expect(Class.new).not_to respond_to(*should_class_methods)
56
- end
57
-
58
- it 'adds the expect methods to the example group context' do
59
- expect(self).to respond_to(*expect_methods)
60
- end
61
-
62
- it 'reports that the syntax is :expect' do
63
- expect(configured_syntax).to eq([:expect])
64
- end
65
-
66
- it 'is a no-op when configured a second time' do
67
- expect(Syntax.default_should_syntax_host).not_to receive(:method_undefined)
68
- expect(::RSpec::Mocks::ExampleMethods).not_to receive(:method_added)
69
- configure_syntax :expect
70
- end
71
- end
72
-
73
- context 'when configured to :should' do
74
- before { configure_syntax :should }
75
-
76
- it 'adds the should methods to every object' do
77
- expect(dbl).to respond_to(*should_methods)
78
- end
79
-
80
- it 'adds `any_instance` to every class' do
81
- expect(Class.new).to respond_to(*should_class_methods)
82
- end
83
-
84
- it 'removes the expect methods from the example group context' do
85
- expect(self).not_to respond_to(*expect_methods)
86
- end
87
-
88
- it 'reports that the syntax is :should' do
89
- expect(configured_syntax).to eq([:should])
90
- end
91
-
92
- it "does not warn about the should syntax" do
93
- RSpec.should_not_receive(:deprecate)
94
- Object.new.should_not_receive(:bees)
95
- end
96
-
97
- it 'is a no-op when configured a second time' do
98
- Syntax.default_should_syntax_host.should_not_receive(:method_added)
99
- ::RSpec::Mocks::ExampleMethods.should_not_receive(:method_undefined)
100
- configure_syntax :should
101
- end
102
- end
103
-
104
- context 'when configured to [:should, :expect]' do
105
- before { configure_syntax [:should, :expect] }
106
-
107
- it 'adds the should methods to every object' do
108
- expect(dbl).to respond_to(*should_methods)
109
- end
110
-
111
- it 'adds `any_instance` to every class' do
112
- expect(Class.new).to respond_to(*should_class_methods)
113
- end
114
-
115
- it 'adds the expect methods to the example group context' do
116
- expect(self).to respond_to(*expect_methods)
117
- end
118
-
119
- it 'reports that both syntaxes are enabled' do
120
- expect(configured_syntax).to eq([:should, :expect])
121
- end
122
-
123
- it "does not warn about the should syntax" do
124
- expect(RSpec).not_to receive(:deprecate)
125
- expect(Object.new).not_to receive(:bees)
126
- end
127
- end
128
- end
129
-
130
- describe "configuring rspec-mocks directly" do
131
- it_behaves_like "configuring the syntax" do
132
- def configure_syntax(syntax)
133
- RSpec::Mocks.configuration.syntax = syntax
134
- end
135
-
136
- def configured_syntax
137
- RSpec::Mocks.configuration.syntax
138
- end
139
-
140
- def configure_default_syntax
141
- RSpec::Mocks.configuration.reset_syntaxes_to_default
142
- end
143
- end
144
- end
145
-
146
- describe "configuring using the rspec-core config API" do
147
- it_behaves_like "configuring the syntax" do
148
- def configure_syntax(syntax)
149
- RSpec.configure do |rspec|
150
- rspec.mock_with :rspec do |c|
151
- c.syntax = syntax
152
- end
153
- end
154
- end
155
-
156
- def configured_syntax
157
- RSpec.configure do |rspec|
158
- rspec.mock_with :rspec do |c|
159
- return c.syntax
160
- end
161
- end
162
- end
163
-
164
- def configure_default_syntax
165
- RSpec.configure do |rspec|
166
- rspec.mock_with :rspec do |c|
167
- c.reset_syntaxes_to_default
168
- end
169
- end
170
- end
171
- end
172
- end
173
- end
174
- end
175
- end
@@ -1,830 +0,0 @@
1
- module RSpec
2
- module Mocks
3
- RSpec.describe Double do
4
- before(:each) { @double = double("test double") }
5
- after(:each) { reset @double }
6
-
7
- it "has method_missing as private" do
8
- expect(RSpec::Mocks::Double.private_instance_methods).to include_method(:method_missing)
9
- end
10
-
11
- it "does not respond_to? method_missing (because it's private)" do
12
- expect(RSpec::Mocks::Double.new).not_to respond_to(:method_missing)
13
- end
14
-
15
- it "uses 'Double' in failure messages" do
16
- double = double('name')
17
- expect { double.foo }.to raise_error(/Double "name" received/)
18
- end
19
-
20
- it "hides internals in its inspect representation" do
21
- m = double('cup')
22
- expect(m.inspect).to match(/#<RSpec::Mocks::Double:0x[a-f0-9.]+ @name="cup">/)
23
- end
24
-
25
- it 'does not blow up when resetting standard object methods' do
26
- dbl = double(:tainted? => true)
27
- expect(dbl.tainted?).to eq(true)
28
- expect { reset dbl }.not_to raise_error
29
- end
30
-
31
- it 'does not get string vs symbol messages confused' do
32
- dbl = double("foo" => 1)
33
- allow(dbl).to receive(:foo).and_return(2)
34
- expect(dbl.foo).to eq(2)
35
- expect { reset dbl }.not_to raise_error
36
- end
37
-
38
- it "generates the correct error when an unfulfilled expectation uses an unused double as a `with` argument" do
39
- expect {
40
- a = double('a')
41
- b = double('b')
42
- expect(a).to receive(:append).with(b)
43
- verify_all
44
- }.to raise_error(RSpec::Mocks::MockExpectationError)
45
- end
46
-
47
- it 'allows string representation of methods in constructor' do
48
- dbl = double('foo' => 1)
49
- expect(dbl.foo).to eq(1)
50
- end
51
-
52
- it 'allows setter methods to be stubbed' do
53
- dbl = double('foo=' => 1)
54
-
55
- # Note the specified return value is thrown away. This is a Ruby semantics
56
- # thing. You cannot change the return value of assignment.
57
- expect(dbl.foo = "bar").to eq("bar")
58
- end
59
-
60
- it 'allows `class` to be stubbed even when `any_instance` has already been used' do
61
- # See https://github.com/rspec/rspec-mocks/issues/687
62
- # The infinite recursion code path was only triggered when there were
63
- # active any instance recorders in the current example, so we make one here.
64
- allow_any_instance_of(Object).to receive(:bar).and_return(2)
65
-
66
- dbl = double(:foo => 1, :class => String)
67
- expect(dbl.foo).to eq(1)
68
- expect(dbl.class).to eq(String)
69
- end
70
-
71
- it 'allows `send` to be stubbed' do
72
- dbl = double
73
- allow(dbl).to receive(:send).and_return("received")
74
- expect(dbl.send(:some_msg)).to eq("received")
75
- end
76
-
77
- it "reports line number of expectation of unreceived message" do
78
- expected_error_line = __LINE__; expect(@double).to receive(:wont_happen).with("x", 3)
79
- expect {
80
- verify @double
81
- }.to raise_error(RSpec::Mocks::MockExpectationError) { |e|
82
- # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line
83
- expect(e.backtrace[0]).to match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
84
- }
85
- end
86
-
87
- it "reports line number of expectation of unreceived message after a message expecation after similar stub" do
88
- allow(@double).to receive(:wont_happen)
89
- expected_error_line = __LINE__; expect(@double).to receive(:wont_happen).with("x", 3)
90
- expect {
91
- verify @double
92
- }.to raise_error(RSpec::Mocks::MockExpectationError) { |e|
93
- # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line
94
- expect(e.backtrace[0]).to match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
95
- }
96
- end
97
-
98
- it "passes when not receiving message specified as not to be received" do
99
- expect(@double).not_to receive(:not_expected)
100
- verify @double
101
- end
102
-
103
- it "prevents confusing double-negative expressions involving `never`" do
104
- expect {
105
- expect(@double).not_to receive(:not_expected).never
106
- }.to raise_error(/trying to negate it again/)
107
- end
108
-
109
- it "warns when `and_return` is called on a negative expectation" do
110
- expect {
111
- expect(@double).not_to receive(:do_something).and_return(1)
112
- }.to raise_error(/not supported/)
113
-
114
- expect {
115
- expect(@double).not_to receive(:do_something).and_return(1)
116
- }.to raise_error(/not supported/)
117
-
118
- expect {
119
- expect(@double).to receive(:do_something).never.and_return(1)
120
- }.to raise_error(/not supported/)
121
- end
122
-
123
- it "passes when receiving message specified as not to be received with different args" do
124
- expect(@double).not_to receive(:message).with("unwanted text")
125
- expect(@double).to receive(:message).with("other text")
126
- @double.message "other text"
127
- verify @double
128
- end
129
-
130
- it "fails when receiving message specified as not to be received" do
131
- expect(@double).not_to receive(:not_expected)
132
- expect {
133
- @double.not_expected
134
- }.to raise_error(
135
- RSpec::Mocks::MockExpectationError,
136
- %Q|(Double "test double").not_expected(no args)\n expected: 0 times with any arguments\n received: 1 time|
137
- )
138
- end
139
-
140
- it "fails when receiving message specified as not to be received with args" do
141
- expect(@double).not_to receive(:not_expected).with("unexpected text")
142
- expect {
143
- @double.not_expected("unexpected text")
144
- }.to raise_error(
145
- RSpec::Mocks::MockExpectationError,
146
- %Q|(Double "test double").not_expected("unexpected text")\n expected: 0 times with arguments: ("unexpected text")\n received: 1 time with arguments: ("unexpected text")|
147
- )
148
- end
149
-
150
- it "fails when array arguments do not match" do
151
- expect(@double).not_to receive(:not_expected).with(["do not want"])
152
- expect {
153
- @double.not_expected(["do not want"])
154
- }.to raise_error(
155
- RSpec::Mocks::MockExpectationError,
156
- %Q|(Double "test double").not_expected(["do not want"])\n expected: 0 times with arguments: (["do not want"])\n received: 1 time with arguments: (["do not want"])|
157
- )
158
- end
159
-
160
- context "when specifying a message should not be received with specific args" do
161
- context "using `expect(...).not_to receive()`" do
162
- it 'passes when receiving the message with different args' do
163
- expect(@double).not_to receive(:not_expected).with("unexpected text")
164
- @double.not_expected "really unexpected text"
165
- verify @double
166
- end
167
- end
168
-
169
- context "using `expect(...).to receive().never`" do
170
- it 'passes when receiving the message with different args' do
171
- expect(@double).to receive(:not_expected).with("unexpected text").never
172
- @double.not_expected "really unexpected text"
173
- verify @double
174
- end
175
- end
176
- end
177
-
178
- it 'does not get confused when a negative expecation is used with a string and symbol message' do
179
- allow(@double).to receive(:foo) { 3 }
180
- expect(@double).not_to receive(:foo).with(1)
181
- expect(@double).not_to receive("foo").with(2)
182
-
183
- expect(@double.foo).to eq(3)
184
- verify @double
185
- end
186
-
187
- it 'does not get confused when a positive expectation is used with a string and symbol message' do
188
- expect(@double).to receive(:foo).with(1)
189
- expect(@double).to receive("foo").with(2)
190
-
191
- @double.foo(1)
192
- @double.foo(2)
193
-
194
- verify @double
195
- end
196
-
197
- it "allows parameter as return value" do
198
- expect(@double).to receive(:something).with("a","b","c").and_return("booh")
199
- expect(@double.something("a","b","c")).to eq "booh"
200
- verify @double
201
- end
202
-
203
- it "returns the previously stubbed value if no return value is set" do
204
- allow(@double).to receive(:something).with("a","b","c").and_return(:stubbed_value)
205
- expect(@double).to receive(:something).with("a","b","c")
206
- expect(@double.something("a","b","c")).to eq :stubbed_value
207
- verify @double
208
- end
209
-
210
- it "returns nil if no return value is set and there is no previously stubbed value" do
211
- expect(@double).to receive(:something).with("a","b","c")
212
- expect(@double.something("a","b","c")).to be_nil
213
- verify @double
214
- end
215
-
216
- it "raises exception if args don't match when method called" do
217
- expect(@double).to receive(:something).with("a","b","c").and_return("booh")
218
- expect {
219
- @double.something("a","d","c")
220
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
221
- end
222
-
223
- describe "even when a similar expectation with different arguments exist" do
224
- it "raises exception if args don't match when method called, correctly reporting the offending arguments" do
225
- expect(@double).to receive(:something).with("a","b","c").once
226
- expect(@double).to receive(:something).with("z","x","c").once
227
- expect {
228
- @double.something("a","b","c")
229
- @double.something("z","x","g")
230
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"z\", \"x\", \"c\")\n got: (\"z\", \"x\", \"g\")")
231
- end
232
- end
233
-
234
- it "raises exception if args don't match when method called even when the method is stubbed" do
235
- allow(@double).to receive(:something)
236
- expect(@double).to receive(:something).with("a","b","c")
237
- expect {
238
- @double.something("a","d","c")
239
- verify @double
240
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
241
- end
242
-
243
- it "raises exception if args don't match when method called even when using null_object" do
244
- @double = double("test double").as_null_object
245
- expect(@double).to receive(:something).with("a","b","c")
246
- expect {
247
- @double.something("a","d","c")
248
- verify @double
249
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
250
- end
251
-
252
- describe 'with a method that has a default argument' do
253
- it "raises an exception if the arguments don't match when the method is called, correctly reporting the offending arguments" do
254
- def @double.method_with_default_argument(arg={}); end
255
- expect(@double).to receive(:method_with_default_argument).with({})
256
-
257
- expect {
258
- @double.method_with_default_argument(nil)
259
- verify @double
260
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :method_with_default_argument with unexpected arguments\n expected: ({})\n got: (nil)")
261
- end
262
- end
263
-
264
- it "fails if unexpected method called" do
265
- expect {
266
- @double.something("a","b","c")
267
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received unexpected message :something with (\"a\", \"b\", \"c\")")
268
- end
269
-
270
- it "uses block for expectation if provided" do
271
- expect(@double).to receive(:something) do | a, b |
272
- expect(a).to eq "a"
273
- expect(b).to eq "b"
274
- "booh"
275
- end
276
- expect(@double.something("a", "b")).to eq "booh"
277
- verify @double
278
- end
279
-
280
- it "fails if expectation block fails" do
281
- expect(@double).to receive(:something) do |bool|
282
- expect(bool).to be_truthy
283
- end
284
-
285
- expect {
286
- @double.something false
287
- }.to raise_error(RSpec::Expectations::ExpectationNotMetError)
288
- end
289
-
290
- it "is wrappable in an array" do
291
- with_isolated_stderr do
292
- expect( Array(@double) ).to eq([@double])
293
- end
294
- end
295
-
296
- it "is wrappable in an array when a null object" do
297
- with_isolated_stderr do
298
- expect( Array(@double.as_null_object) ).to eq [@double]
299
- end
300
- end
301
-
302
- it "responds to to_ary as a null object" do
303
- expect(@double.as_null_object.to_ary).to eq nil
304
- end
305
-
306
- it "responds to to_a as a null object" do
307
- if RUBY_VERSION.to_f > 1.8
308
- expect(@double.as_null_object.to_a).to eq nil
309
- else
310
- with_isolated_stderr do
311
- expect(@double.as_null_object.to_a).to eq [@double]
312
- end
313
- end
314
- end
315
-
316
- it "passes proc to expectation block without an argument" do
317
- expect(@double).to receive(:foo) { |&block| expect(block.call).to eq(:bar) }
318
- @double.foo { :bar }
319
- end
320
-
321
- it "passes proc to expectation block with an argument" do
322
- expect(@double).to receive(:foo) { |arg, &block| expect(block.call).to eq(:bar) }
323
- @double.foo(:arg) { :bar }
324
- end
325
-
326
- it "passes proc to stub block without an argurment" do
327
- allow(@double).to receive(:foo) { |&block| expect(block.call).to eq(:bar) }
328
- @double.foo { :bar }
329
- end
330
-
331
- it "passes proc to stub block with an argument" do
332
- allow(@double).to receive(:foo) { |arg, &block| expect(block.call).to eq(:bar) }
333
- @double.foo(:arg) { :bar }
334
- end
335
-
336
- it "fails right away when method defined as never is received" do
337
- expect(@double).to receive(:not_expected).never
338
- expect { @double.not_expected }.
339
- to raise_error(RSpec::Mocks::MockExpectationError,
340
- %Q|(Double "test double").not_expected(no args)\n expected: 0 times with any arguments\n received: 1 time|
341
- )
342
- end
343
-
344
- it "raises RuntimeError by default" do
345
- expect(@double).to receive(:something).and_raise
346
- expect { @double.something }.to raise_error(RuntimeError)
347
- end
348
-
349
- it "raises RuntimeError with a message by default" do
350
- expect(@double).to receive(:something).and_raise("error message")
351
- expect { @double.something }.to raise_error(RuntimeError, "error message")
352
- end
353
-
354
- it "raises an exception of a given type without an error message" do
355
- expect(@double).to receive(:something).and_raise(StandardError)
356
- expect { @double.something }.to raise_error(StandardError)
357
- end
358
-
359
- it "raises an exception of a given type with a message" do
360
- expect(@double).to receive(:something).and_raise(RuntimeError, "error message")
361
- expect { @double.something }.to raise_error(RuntimeError, "error message")
362
- end
363
-
364
- it "raises a given instance of an exception" do
365
- expect(@double).to receive(:something).and_raise(RuntimeError.new("error message"))
366
- expect { @double.something }.to raise_error(RuntimeError, "error message")
367
- end
368
-
369
- class OutOfGas < StandardError
370
- attr_reader :amount, :units
371
- def initialize(amount, units)
372
- @amount = amount
373
- @units = units
374
- end
375
- end
376
-
377
- it "raises a given instance of an exception with arguments other than the standard 'message'" do
378
- expect(@double).to receive(:something).and_raise(OutOfGas.new(2, :oz))
379
-
380
- expect {
381
- @double.something
382
- }.to raise_error(OutOfGas) { |e|
383
- expect(e.amount).to eq 2
384
- expect(e.units).to eq :oz
385
- }
386
- end
387
-
388
- it "does not raise when told to if args dont match" do
389
- expect(@double).to receive(:something).with(2).and_raise(RuntimeError)
390
- expect {
391
- @double.something 1
392
- }.to raise_error(RSpec::Mocks::MockExpectationError)
393
- end
394
-
395
- it "throws when told to" do
396
- expect(@double).to receive(:something).and_throw(:blech)
397
- expect {
398
- @double.something
399
- }.to throw_symbol(:blech)
400
- end
401
-
402
- it "ignores args on any args" do
403
- expect(@double).to receive(:something).at_least(:once).with(any_args)
404
- @double.something
405
- @double.something 1
406
- @double.something "a", 2
407
- @double.something [], {}, "joe", 7
408
- verify @double
409
- end
410
-
411
- it "fails on no args if any args received" do
412
- expect(@double).to receive(:something).with(no_args())
413
- expect {
414
- @double.something 1
415
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (no args)\n got: (1)")
416
- end
417
-
418
- it "fails when args are expected but none are received" do
419
- expect(@double).to receive(:something).with(1)
420
- expect {
421
- @double.something
422
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (1)\n got: (no args)")
423
- end
424
-
425
- it "returns value from block by default" do
426
- allow(@double).to receive(:method_that_yields).and_yield
427
- value = @double.method_that_yields { :returned_obj }
428
- expect(value).to eq :returned_obj
429
- verify @double
430
- end
431
-
432
- it "yields 0 args to blocks that take a variable number of arguments" do
433
- expect(@double).to receive(:yield_back).with(no_args()).once.and_yield
434
- a = nil
435
- @double.yield_back {|*x| a = x}
436
- expect(a).to eq []
437
- verify @double
438
- end
439
-
440
- it "yields 0 args multiple times to blocks that take a variable number of arguments" do
441
- expect(@double).to receive(:yield_back).once.with(no_args()).once.and_yield.
442
- and_yield
443
- b = []
444
- @double.yield_back {|*a| b << a}
445
- expect(b).to eq [ [], [] ]
446
- verify @double
447
- end
448
-
449
- it "yields one arg to blocks that take a variable number of arguments" do
450
- expect(@double).to receive(:yield_back).with(no_args()).once.and_yield(99)
451
- a = nil
452
- @double.yield_back {|*x| a = x}
453
- expect(a).to eq [99]
454
- verify @double
455
- end
456
-
457
- it "yields one arg 3 times consecutively to blocks that take a variable number of arguments" do
458
- expect(@double).to receive(:yield_back).once.with(no_args()).once.and_yield(99).
459
- and_yield(43).
460
- and_yield("something fruity")
461
- b = []
462
- @double.yield_back {|*a| b << a}
463
- expect(b).to eq [[99], [43], ["something fruity"]]
464
- verify @double
465
- end
466
-
467
- it "yields many args to blocks that take a variable number of arguments" do
468
- expect(@double).to receive(:yield_back).with(no_args()).once.and_yield(99, 27, "go")
469
- a = nil
470
- @double.yield_back {|*x| a = x}
471
- expect(a).to eq [99, 27, "go"]
472
- verify @double
473
- end
474
-
475
- it "yields many args 3 times consecutively to blocks that take a variable number of arguments" do
476
- expect(@double).to receive(:yield_back).once.with(no_args()).once.and_yield(99, :green, "go").
477
- and_yield("wait", :amber).
478
- and_yield("stop", 12, :red)
479
- b = []
480
- @double.yield_back {|*a| b << a}
481
- expect(b).to eq [[99, :green, "go"], ["wait", :amber], ["stop", 12, :red]]
482
- verify @double
483
- end
484
-
485
- it "yields single value" do
486
- expect(@double).to receive(:yield_back).with(no_args()).once.and_yield(99)
487
- a = nil
488
- @double.yield_back {|x| a = x}
489
- expect(a).to eq 99
490
- verify @double
491
- end
492
-
493
- it "yields single value 3 times consecutively" do
494
- expect(@double).to receive(:yield_back).once.with(no_args()).once.and_yield(99).
495
- and_yield(43).
496
- and_yield("something fruity")
497
- b = []
498
- @double.yield_back {|a| b << a}
499
- expect(b).to eq [99, 43, "something fruity"]
500
- verify @double
501
- end
502
-
503
- it "yields two values" do
504
- expect(@double).to receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
505
- a, b = nil
506
- @double.yield_back {|x,y| a=x; b=y}
507
- expect(a).to eq 'wha'
508
- expect(b).to eq 'zup'
509
- verify @double
510
- end
511
-
512
- it "yields two values 3 times consecutively" do
513
- expect(@double).to receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup').
514
- and_yield('not', 'down').
515
- and_yield(14, 65)
516
- c = []
517
- @double.yield_back {|a,b| c << [a, b]}
518
- expect(c).to eq [['wha', 'zup'], ['not', 'down'], [14, 65]]
519
- verify @double
520
- end
521
-
522
- it "fails when calling yielding method with wrong arity" do
523
- expect(@double).to receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
524
- expect {
525
- @double.yield_back {|a|}
526
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" yielded |\"wha\", \"zup\"| to block with arity of 1")
527
- end
528
-
529
- if kw_args_supported?
530
- it 'fails when calling yielding method with invalid kw args' do
531
- expect(@double).to receive(:yield_back).and_yield(:x => 1, :y => 2)
532
- expect {
533
- eval("@double.yield_back { |x: 1| }")
534
- }.to raise_error(RSpec::Mocks::MockExpectationError,
535
- 'Double "test double" yielded |{:x=>1, :y=>2}| to block with optional keyword args (:x)')
536
- end
537
- end
538
-
539
- it "fails when calling yielding method consecutively with wrong arity" do
540
- expect(@double).to receive(:yield_back).once.with(no_args()).and_yield('wha', 'zup').
541
- and_yield('down').
542
- and_yield(14, 65)
543
- expect {
544
- c = []
545
- @double.yield_back {|a,b| c << [a, b]}
546
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" yielded |\"down\"| to block with arity of 2")
547
- end
548
-
549
- it "fails when calling yielding method without block" do
550
- expect(@double).to receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
551
- expect {
552
- @double.yield_back
553
- }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" asked to yield |[\"wha\", \"zup\"]| but no block was passed")
554
- end
555
-
556
- it "is able to double send" do
557
- expect(@double).to receive(:send).with(any_args)
558
- @double.send 'hi'
559
- verify @double
560
- end
561
-
562
- it "is able to raise from method calling yielding double" do
563
- expect(@double).to receive(:yield_me).and_yield 44
564
-
565
- expect {
566
- @double.yield_me do |x|
567
- raise "Bang"
568
- end
569
- }.to raise_error(StandardError, "Bang")
570
-
571
- verify @double
572
- end
573
-
574
- it "clears expectations after verify" do
575
- expect(@double).to receive(:foobar)
576
- @double.foobar
577
- verify @double
578
- expect {
579
- @double.foobar
580
- }.to raise_error(RSpec::Mocks::MockExpectationError, %q|Double "test double" received unexpected message :foobar with (no args)|)
581
- end
582
-
583
- it "restores objects to their original state on rspec_reset" do
584
- double = double("this is a double")
585
- expect(double).to receive(:blah)
586
- reset double
587
- verify double #should throw if reset didn't work
588
- end
589
-
590
- it "temporarily replaces a method stub on a double" do
591
- allow(@double).to receive(:msg).and_return(:stub_value)
592
- expect(@double).to receive(:msg).with(:arg).and_return(:double_value)
593
- expect(@double.msg(:arg)).to equal(:double_value)
594
- expect(@double.msg).to equal(:stub_value)
595
- expect(@double.msg).to equal(:stub_value)
596
- verify @double
597
- end
598
-
599
- it "does not require a different signature to replace a method stub" do
600
- allow(@double).to receive(:msg).and_return(:stub_value)
601
- expect(@double).to receive(:msg).and_return(:double_value)
602
- expect(@double.msg(:arg)).to equal(:double_value)
603
- expect(@double.msg).to equal(:stub_value)
604
- expect(@double.msg).to equal(:stub_value)
605
- verify @double
606
- end
607
-
608
- it "raises an error when a previously stubbed method has a negative expectation" do
609
- allow(@double).to receive(:msg).and_return(:stub_value)
610
- expect(@double).not_to receive(:msg)
611
- expect { @double.msg(:arg) }.to raise_error(RSpec::Mocks::MockExpectationError)
612
- end
613
-
614
- it "temporarily replaces a method stub on a non-double" do
615
- non_double = Object.new
616
- allow(non_double).to receive(:msg).and_return(:stub_value)
617
- expect(non_double).to receive(:msg).with(:arg).and_return(:double_value)
618
- expect(non_double.msg(:arg)).to equal(:double_value)
619
- expect(non_double.msg).to equal(:stub_value)
620
- expect(non_double.msg).to equal(:stub_value)
621
- verify non_double
622
- end
623
-
624
- it "returns the stubbed value when no new value specified" do
625
- allow(@double).to receive(:msg).and_return(:stub_value)
626
- expect(@double).to receive(:msg)
627
- expect(@double.msg).to equal(:stub_value)
628
- verify @double
629
- end
630
-
631
- it "returns the stubbed value when stubbed with args and no new value specified" do
632
- allow(@double).to receive(:msg).with(:arg).and_return(:stub_value)
633
- expect(@double).to receive(:msg).with(:arg)
634
- expect(@double.msg(:arg)).to equal(:stub_value)
635
- verify @double
636
- end
637
-
638
- it "does not mess with the stub's yielded values when also doubleed" do
639
- allow(@double).to receive(:yield_back).and_yield(:stub_value)
640
- expect(@double).to receive(:yield_back).and_yield(:double_value)
641
- @double.yield_back{|v| expect(v).to eq :double_value }
642
- @double.yield_back{|v| expect(v).to eq :stub_value }
643
- verify @double
644
- end
645
-
646
- it "can yield multiple times when told to do so" do
647
- allow(@double).to receive(:foo).and_yield(:stub_value)
648
- expect(@double).to receive(:foo).and_yield(:first_yield).and_yield(:second_yield)
649
-
650
- expect { |b| @double.foo(&b) }.to yield_successive_args(:first_yield, :second_yield)
651
- expect { |b| @double.foo(&b) }.to yield_with_args(:stub_value)
652
-
653
- verify @double
654
- end
655
-
656
- it "assigns stub return values" do
657
- double = RSpec::Mocks::Double.new('name', :message => :response)
658
- expect(double.message).to eq :response
659
- end
660
-
661
- describe "a double message receiving a block" do
662
- before(:each) do
663
- @double = double("double")
664
- @calls = 0
665
- end
666
-
667
- def add_call
668
- @calls = @calls + 1
669
- end
670
-
671
- it "supports a block passed to `receive` for `expect`" do
672
- expect(@double).to receive(:foo) { add_call }
673
-
674
- @double.foo
675
-
676
- expect(@calls).to eq 1
677
- end
678
-
679
- it "supports a block passed to `receive` for `expect` after a similar stub" do
680
- allow(@double).to receive(:foo).and_return(:bar)
681
- expect(@double).to receive(:foo) { add_call }
682
-
683
- @double.foo
684
-
685
- expect(@calls).to eq 1
686
- end
687
-
688
- it "calls the block after #once" do
689
- expect(@double).to receive(:foo).once { add_call }
690
-
691
- @double.foo
692
-
693
- expect(@calls).to eq 1
694
- end
695
-
696
- it "calls the block after #twice" do
697
- expect(@double).to receive(:foo).twice { add_call }
698
-
699
- @double.foo
700
- @double.foo
701
-
702
- expect(@calls).to eq 2
703
- end
704
-
705
- it "calls the block after #times" do
706
- expect(@double).to receive(:foo).exactly(10).times { add_call }
707
-
708
- (1..10).each { @double.foo }
709
-
710
- expect(@calls).to eq 10
711
- end
712
-
713
- it "calls the block after #ordered" do
714
- expect(@double).to receive(:foo).ordered { add_call }
715
- expect(@double).to receive(:bar).ordered { add_call }
716
-
717
- @double.foo
718
- @double.bar
719
-
720
- expect(@calls).to eq 2
721
- end
722
- end
723
-
724
- describe 'string representation generated by #to_s' do
725
- it 'does not contain < because that might lead to invalid HTML in some situations' do
726
- double = double("Dog")
727
- valid_html_str = "#{double}"
728
- expect(valid_html_str).not_to include('<')
729
- end
730
- end
731
-
732
- describe "#to_str", :unless => RUBY_VERSION == '1.9.2' do
733
- it "should not respond to #to_str to avoid being coerced to strings by the runtime" do
734
- double = double("Foo")
735
- expect { double.to_str }.to raise_error(
736
- RSpec::Mocks::MockExpectationError,
737
- 'Double "Foo" received unexpected message :to_str with (no args)')
738
- end
739
- end
740
-
741
- describe "double created with no name" do
742
- it "does not use a name in a failure message" do
743
- double = double()
744
- expect {double.foo}.to raise_error(/Double received/)
745
- end
746
-
747
- it "does respond to initially stubbed methods" do
748
- double = double(:foo => "woo", :bar => "car")
749
- expect(double.foo).to eq "woo"
750
- expect(double.bar).to eq "car"
751
- end
752
- end
753
-
754
- describe "==" do
755
- it "sends '== self' to the comparison object" do
756
- first = double('first')
757
- second = double('second')
758
-
759
- expect(first).to receive(:==).with(second)
760
- second == first
761
- end
762
- end
763
-
764
- describe "with" do
765
- before { @double = double('double') }
766
- context "with args" do
767
- context "with matching args" do
768
- it "passes" do
769
- expect(@double).to receive(:foo).with('bar')
770
- @double.foo('bar')
771
- end
772
- end
773
-
774
- context "with non-matching args" do
775
- it "fails" do
776
- expect(@double).to receive(:foo).with('bar')
777
- expect do
778
- @double.foo('baz')
779
- end.to raise_error
780
- reset @double
781
- end
782
- end
783
-
784
- context "with non-matching doubles" do
785
- it "fails" do
786
- d1 = double('1')
787
- d2 = double('2')
788
- expect(@double).to receive(:foo).with(d1)
789
- expect do
790
- @double.foo(d2)
791
- end.to raise_error
792
- reset @double
793
- end
794
- end
795
-
796
- context "with non-matching doubles as_null_object" do
797
- it "fails" do
798
- d1 = double('1').as_null_object
799
- d2 = double('2').as_null_object
800
- expect(@double).to receive(:foo).with(d1)
801
- expect do
802
- @double.foo(d2)
803
- end.to raise_error
804
- reset @double
805
- end
806
- end
807
- end
808
-
809
- context "with a block" do
810
- context "with matching args" do
811
- it "returns the result of the block" do
812
- expect(@double).to receive(:foo).with('bar') { 'baz' }
813
- expect(@double.foo('bar')).to eq('baz')
814
- end
815
- end
816
-
817
- context "with non-matching args" do
818
- it "fails" do
819
- expect(@double).to receive(:foo).with('bar') { 'baz' }
820
- expect do
821
- expect(@double.foo('wrong')).to eq('baz')
822
- end.to raise_error(/received :foo with unexpected arguments/)
823
- reset @double
824
- end
825
- end
826
- end
827
- end
828
- end
829
- end
830
- end