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,1036 +0,0 @@
1
- # encoding: utf-8
2
-
3
- RSpec.describe "a matcher defined using the matcher DSL" do
4
- def question?
5
- :answer
6
- end
7
-
8
- def ok
9
- "ok"
10
- end
11
-
12
- it "supports calling custom matchers from within other custom matchers" do
13
- RSpec::Matchers.define :be_ok do
14
- match { |actual| actual == ok }
15
- end
16
-
17
- RSpec::Matchers.define :be_well do
18
- match { |actual| expect(actual).to be_ok }
19
- end
20
-
21
- expect(ok).to be_well
22
- end
23
-
24
- it "has access to methods available in the scope of the example" do
25
- RSpec::Matchers::define(:matcher_a) {}
26
- expect(matcher_a.question?).to eq(:answer)
27
- end
28
-
29
- it "raises when method is missing from local scope as well as matcher" do
30
- RSpec::Matchers::define(:matcher_b) {}
31
- expect { matcher_b.i_dont_exist }.to raise_error(NameError)
32
- end
33
-
34
- it "clears user instance variables between invocations" do
35
- RSpec::Matchers::define(:be_just_like) do |expected|
36
- match do |actual|
37
- @foo ||= expected
38
- @foo == actual
39
- end
40
- end
41
-
42
- expect(3).to be_just_like(3)
43
- expect(4).to be_just_like(4)
44
- end
45
-
46
- describe "#respond_to?" do
47
- it "returns true for methods in example scope" do
48
- RSpec::Matchers::define(:matcher_c) {}
49
- expect(matcher_c).to respond_to(:question?)
50
- end
51
-
52
- it "returns false for methods not defined in matcher or example scope" do
53
- RSpec::Matchers::define(:matcher_d) {}
54
- expect(matcher_d).not_to respond_to(:i_dont_exist)
55
- end
56
- end
57
- end
58
-
59
- class UnexpectedError < StandardError; end
60
- module MatcherHelperModule
61
- def self.included(base)
62
- base.module_exec do
63
- def included_method; end
64
- end
65
- end
66
-
67
- def self.extended(base)
68
- base.instance_exec do
69
- def extended_method; end
70
- end
71
- end
72
-
73
- def greeting
74
- "Hello, World"
75
- end
76
- end
77
-
78
- module RSpec::Matchers::DSL
79
- RSpec.describe Matcher do
80
- def new_matcher(name, *expected, &block)
81
- RSpec::Matchers::DSL::Matcher.new(name, block, self, *expected)
82
- end
83
-
84
- it_behaves_like "an RSpec matcher", :valid_value => 1, :invalid_value => 2 do
85
- let(:matcher) do
86
- new_matcher(:equal_to_1) do
87
- match { |v| v == 1 }
88
- end
89
- end
90
- end
91
-
92
- it "can be stored aside and used later" do
93
- # Supports using rspec-expectation matchers as argument matchers in
94
- # rspec-mocks.
95
- RSpec::Matchers.define :example_matcher do |expected|
96
- match do |actual|
97
- actual == expected
98
- end
99
- end
100
-
101
- m1 = example_matcher(1)
102
- m2 = example_matcher(2)
103
-
104
- expect(m1.matches?(1)).to be_truthy
105
- expect(m2.matches?(2)).to be_truthy
106
- end
107
-
108
- context 'using deprecated APIs' do
109
- before { allow_deprecation }
110
-
111
- describe "failure_message_for_should" do
112
- let(:matcher) do
113
- new_matcher(:foo) do
114
- match { false }
115
- failure_message_for_should { "failed" }
116
- end
117
- end
118
- line = __LINE__ - 3
119
-
120
- it 'defines the failure message for a positive expectation' do
121
- expect {
122
- expect(nil).to matcher
123
- }.to fail_with("failed")
124
- end
125
-
126
- it 'prints a deprecation warning' do
127
- expect_deprecation_with_call_site(__FILE__, line, /failure_message_for_should/)
128
- matcher
129
- end
130
- end
131
-
132
- describe "failure_message_for_should_not" do
133
- let(:matcher) do
134
- new_matcher(:foo) do
135
- match { true }
136
- failure_message_for_should_not { "failed" }
137
- end
138
- end
139
- line = __LINE__ - 3
140
-
141
- it 'defines the failure message for a negative expectation' do
142
- expect {
143
- expect(nil).not_to matcher
144
- }.to fail_with("failed")
145
- end
146
-
147
- it 'prints a deprecation warning' do
148
- expect_deprecation_with_call_site(__FILE__, line, /failure_message_for_should_not/)
149
- matcher
150
- end
151
- end
152
-
153
- describe "match_for_should" do
154
- let(:matcher) do
155
- new_matcher(:foo) do
156
- match_for_should { |arg| arg }
157
- end
158
- end
159
- line = __LINE__ - 3
160
-
161
- it 'defines the positive expectation match logic' do
162
- expect(true).to matcher
163
- expect { expect(false).to matcher }.to fail_with(/foo/)
164
- end
165
-
166
- it 'prints a deprecation warning' do
167
- expect_deprecation_with_call_site(__FILE__, line, /match_for_should/)
168
- matcher
169
- end
170
- end
171
-
172
- describe "match_for_should_not" do
173
- let(:matcher) do
174
- new_matcher(:foo) do
175
- match_for_should_not { |arg| !arg }
176
- end
177
- end
178
- line = __LINE__ - 3
179
-
180
- it 'defines the positive expectation match logic' do
181
- expect(false).not_to matcher
182
- expect { expect(true).not_to matcher }.to fail_with(/foo/)
183
- end
184
-
185
- it 'prints a deprecation warning' do
186
- expect_deprecation_with_call_site(__FILE__, line, /match_for_should_not/)
187
- matcher
188
- end
189
- end
190
- end
191
-
192
- context "with an included module" do
193
- let(:matcher) do
194
- new_matcher(:be_a_greeting) do
195
- include MatcherHelperModule
196
- match { |actual| actual == greeting }
197
- end
198
- end
199
-
200
- it "has access to the module's methods" do
201
- matcher.matches?("Hello, World")
202
- end
203
-
204
- it "runs the module's included hook" do
205
- expect(matcher).to respond_to(:included_method)
206
- end
207
-
208
- it "does not run the module's extended hook" do
209
- expect(matcher).not_to respond_to(:extended_method)
210
- end
211
-
212
- it 'allows multiple modules to be included at once' do
213
- m = new_matcher(:multiple_modules) do
214
- include Enumerable, Comparable
215
- end
216
- expect(m).to be_a(Enumerable)
217
- expect(m).to be_a(Comparable)
218
- end
219
- end
220
-
221
- context "without overrides" do
222
- let(:matcher) do
223
- new_matcher(:be_a_multiple_of, 3) do |multiple|
224
- match do |actual|
225
- actual % multiple == 0
226
- end
227
- end
228
- end
229
-
230
- it "provides a default description" do
231
- expect(matcher.description).to eq "be a multiple of 3"
232
- end
233
-
234
- it "provides a default positive expectation failure message" do
235
- expect { expect(8).to matcher }.to fail_with 'expected 8 to be a multiple of 3'
236
- end
237
-
238
- it "provides a default negative expectation failure message" do
239
- expect { expect(9).to_not matcher }.to fail_with 'expected 9 not to be a multiple of 3'
240
- end
241
- end
242
-
243
- context "without overrides with chained matchers" do
244
- let(:matcher) do
245
- new_matcher(:be_bigger_than, 5) do |five|
246
- match do |to_match|
247
- (to_match > five) && smaller_than_ceiling?(to_match) && divisible_by_divisor?(to_match)
248
- end
249
-
250
- match_when_negated do |to_match|
251
- (to_match <= five) || greater_than_ceiling(to_match) && not_divisible_by_divisor?(to_match)
252
- end
253
-
254
- chain :and_smaller_than do |ceiling|
255
- @ceiling = ceiling
256
- end
257
-
258
- chain :and_divisible_by do |divisor|
259
- @divisor = divisor
260
- end
261
-
262
- private
263
-
264
- def smaller_than_ceiling?(to_match)
265
- to_match < @ceiling
266
- end
267
-
268
- def greater_than_ceiling(to_match)
269
- to_match >= @ceiling
270
- end
271
-
272
- def divisible_by_divisor?(to_match)
273
- @divisor % to_match == 0
274
- end
275
-
276
- def not_divisible_by_divisor?(to_match)
277
- @divisor % to_match != 0
278
- end
279
- end
280
- end
281
-
282
- context "when the matchers are chained" do
283
- include_context "isolate include_chain_clauses_in_custom_matcher_descriptions"
284
-
285
- context "without include_chain_clauses_in_custom_matcher_descriptions configured" do
286
- before { RSpec::Expectations.configuration.include_chain_clauses_in_custom_matcher_descriptions = false }
287
- let(:match) { matcher.and_smaller_than(10).and_divisible_by(3) }
288
-
289
- it "provides a default description that does not include any of the chained matchers' descriptions" do
290
- expect(match.description).to eq 'be bigger than 5'
291
- end
292
-
293
- it "provides a default positive expectation failure message that does not include any of the chained matchers' descriptions" do
294
- expect { expect(8).to match }.to fail_with 'expected 8 to be bigger than 5'
295
- end
296
-
297
- it "provides a default negative expectation failure message that does not include the any of the chained matchers's descriptions" do
298
- expect { expect(9).to_not match }.to fail_with 'expected 9 not to be bigger than 5'
299
- end
300
- end
301
-
302
- context "with include_chain_clauses_in_custom_matcher_descriptions configured to be true" do
303
- before do
304
- expect(RSpec::Expectations.configuration.include_chain_clauses_in_custom_matcher_descriptions?).to be true
305
- end
306
-
307
- it "provides a default description that includes the chained matchers' descriptions in they were used" do
308
- expect(matcher.and_divisible_by(3).and_smaller_than(29).and_smaller_than(20).and_divisible_by(5).description).to \
309
- eq 'be bigger than 5 and divisible by 3 and smaller than 29 and smaller than 20 and divisible by 5'
310
- end
311
-
312
- it "provides a default positive expectation failure message that includes the chained matchers' failures" do
313
- expect { expect(30).to matcher.and_smaller_than(29).and_divisible_by(3) }.to \
314
- fail_with 'expected 30 to be bigger than 5 and smaller than 29 and divisible by 3'
315
- end
316
-
317
- it "provides a default negative expectation failure message that includes the chained matchers' failures" do
318
- expect { expect(21).to_not matcher.and_smaller_than(29).and_divisible_by(3) }.to \
319
- fail_with 'expected 21 not to be bigger than 5 and smaller than 29 and divisible by 3'
320
- end
321
- end
322
-
323
- it 'only decides if to include the chained clauses at the time description is invoked' do
324
- matcher.and_divisible_by(3)
325
-
326
- expect {
327
- RSpec::Expectations.configuration.include_chain_clauses_in_custom_matcher_descriptions = false
328
- }.to change { matcher.description }.
329
- from('be bigger than 5 and divisible by 3').
330
- to('be bigger than 5')
331
- end
332
- end
333
- end
334
-
335
- context "with separate match logic for positive and negative expectations" do
336
- let(:matcher) do
337
- new_matcher(:to_be_composed_of, 7, 11) do |a, b|
338
- match do |actual|
339
- actual == a * b
340
- end
341
-
342
- match_when_negated do |actual|
343
- actual == a + b
344
- end
345
- end
346
- end
347
-
348
- it "invokes the match block for #matches?" do
349
- expect(matcher.matches?(77)).to be_truthy
350
- expect(matcher.matches?(18)).to be_falsey
351
- end
352
-
353
- it "invokes the match_when_negated block for #does_not_match?" do
354
- expect(matcher.does_not_match?(77)).to be_falsey
355
- expect(matcher.does_not_match?(18)).to be_truthy
356
- end
357
-
358
- it "provides a default failure message for negative expectations" do
359
- matcher.does_not_match?(77)
360
- expect(matcher.failure_message_when_negated).to eq "expected 77 not to to be composed of 7 and 11"
361
- end
362
-
363
- it 'can access helper methods from `match_when_negated`' do
364
- matcher = new_matcher(:be_foo) do
365
- def foo
366
- :foo
367
- end
368
-
369
- match_when_negated do |actual|
370
- actual != foo
371
- end
372
- end
373
-
374
- expect(matcher.does_not_match?(:bar)).to be true
375
- end
376
- end
377
-
378
- it "allows helper methods to be defined with #define_method to have access to matcher parameters" do
379
- matcher = new_matcher(:name, 3, 4) do |a, b|
380
- define_method(:sum) { a + b }
381
- end
382
-
383
- expect(matcher.sum).to eq 7
384
- end
385
-
386
- it "is not diffable by default" do
387
- matcher = new_matcher(:name) { }
388
- expect(matcher).not_to be_diffable
389
- end
390
-
391
- it "is diffable when told to be" do
392
- matcher = new_matcher(:name) { diffable }
393
- expect(matcher).to be_diffable
394
- end
395
-
396
- it 'handles multiline string diffs' do
397
- actual = "LINE1\nline2\n"
398
- expected = "line1\nline2\n"
399
-
400
- matcher = new_matcher(:custom_match, expected) do
401
- match { |act| act == expected }
402
- diffable
403
- end
404
-
405
- diff = nil
406
- begin
407
- allow(RSpec::Matchers.configuration).to receive(:color?).and_return(false)
408
- expect(actual).to matcher
409
- rescue RSpec::Expectations::ExpectationNotMetError => e
410
- diff = e.message.sub(/\A.*Diff:/m, "Diff:").gsub(/^\s*/,'')
411
- end
412
-
413
- expect(diff).to eq "Diff:\n@@ -1,3 +1,3 @@\n-line1\n+LINE1\nline2\n"
414
- end
415
-
416
- it 'does not confuse the diffability of different matchers' do
417
- # Necessary to guard against a regression that involved
418
- # using a class variable to store the diffable state,
419
- # which had the side effect of causing all custom matchers
420
- # to share that state
421
- m1 = new_matcher(:m1) { diffable }
422
- m2 = new_matcher(:m2) { }
423
- m3 = new_matcher(:m3) { diffable }
424
-
425
- expect(m1).to be_diffable
426
- expect(m2).not_to be_diffable
427
- expect(m3).to be_diffable
428
- end
429
-
430
- it "provides expected" do
431
- matcher = new_matcher(:name, "expected string") { }
432
- expect(matcher.expected).to eq 'expected string'
433
- end
434
-
435
- it "provides expected when there is more than one argument" do
436
- matcher = new_matcher(:name, "expected string", "another arg") { }
437
- expect(matcher.expected).to eq ['expected string', "another arg"]
438
- end
439
-
440
- it "provides expected_as_array which returns an array regardless of expected" do
441
- matcher = new_matcher(:name, "expected string") { }
442
- expect(matcher.expected_as_array).to eq ['expected string']
443
- matcher = new_matcher(:name, "expected\nstring") { }
444
- expect(matcher.expected_as_array).to eq ["expected\nstring"]
445
- matcher = new_matcher(:name, "expected string", "another arg") { }
446
- expect(matcher.expected_as_array).to eq ['expected string', "another arg"]
447
- end
448
-
449
- it "provides actual when `match` is used" do
450
- matcher = new_matcher(:name, 'expected string') do
451
- match {|actual|}
452
- end
453
-
454
- matcher.matches?('actual string')
455
-
456
- expect(matcher.actual).to eq 'actual string'
457
- end
458
-
459
- it "provides actual when the `match` block accepts splat args" do
460
- matcher = new_matcher(:actual) do
461
- match { |*actual| actual == [5] }
462
- end
463
-
464
- expect(matcher.matches?(5)).to be true
465
- expect(matcher.matches?(4)).to be false
466
- end
467
-
468
- it 'allows an early `return` to be used from a `match` block' do
469
- matcher = new_matcher(:with_return, 5) do |expected|
470
- match { |actual| return true if expected == actual }
471
- end
472
-
473
- expect(matcher.matches?(5)).to be true
474
- expect(matcher.matches?(4)).to be_falsey
475
- end
476
-
477
- it 'provides actual when `match_unless_raises` is used' do
478
- matcher = new_matcher(:name, 'expected string') do
479
- match_unless_raises(SyntaxError) {|actual|}
480
- end
481
-
482
- matcher.matches?('actual string')
483
-
484
- expect(matcher.actual).to eq 'actual string'
485
- end
486
-
487
- it 'allows an early `return` to be used from a `match_unless_raises` block' do
488
- matcher = new_matcher(:with_return) do
489
- match_unless_raises(ArgumentError) do |actual|
490
- return actual if [true, false].include?(actual)
491
- raise ArgumentError
492
- end
493
- end
494
-
495
- expect(matcher.matches?(true)).to be true
496
- # It should match even if it returns false, because no error was raised.
497
- expect(matcher.matches?(false)).to be true
498
- expect(matcher.matches?(4)).to be_falsey
499
- end
500
-
501
- it 'provides actual when `match_when_negated` is used' do
502
- matcher = new_matcher(:name, 'expected string') do
503
- match_when_negated {|actual|}
504
- end
505
-
506
- matcher.does_not_match?('actual string')
507
-
508
- expect(matcher.actual).to eq 'actual string'
509
- end
510
-
511
- it 'allows an early `return` to be used from a `match_when_negated` block' do
512
- matcher = new_matcher(:with_return, 5) do |expected|
513
- match_when_negated { |actual| return true if expected != actual }
514
- end
515
-
516
- expect(matcher.does_not_match?(5)).to be_falsey
517
- expect(matcher.does_not_match?(4)).to be true
518
- end
519
-
520
- context "wrapping another expectation (expect(...).to eq ...)" do
521
- let(:matcher) do
522
- new_matcher(:name, "value") do |expected|
523
- match do |actual|
524
- expect(actual).to eq expected
525
- end
526
- end
527
- end
528
-
529
- it "returns true if the wrapped expectation passes" do
530
- expect(matcher.matches?('value')).to be_truthy
531
- end
532
-
533
- it "returns false if the wrapped expectation fails" do
534
- expect(matcher.matches?('other value')).to be_falsey
535
- end
536
-
537
- it "can use the `include` matcher from a `match` block" do
538
- RSpec::Matchers.define(:descend_from) do |mod|
539
- match do |klass|
540
- expect(klass.ancestors).to include(mod)
541
- end
542
- end
543
-
544
- expect(Fixnum).to descend_from(Object)
545
- expect(Fixnum).not_to descend_from(Array)
546
-
547
- expect {
548
- expect(Fixnum).to descend_from(Array)
549
- }.to fail_with(/expected Fixnum to descend from Array/)
550
-
551
- expect {
552
- expect(Fixnum).not_to descend_from(Object)
553
- }.to fail_with(/expected Fixnum not to descend from Object/)
554
- end
555
-
556
- it "can use the `match` matcher from a `match` block" do
557
- RSpec::Matchers.define(:be_a_phone_number_string) do
558
- match do |string|
559
- expect(string).to match(/\A\d{3}\-\d{3}\-\d{4}\z/)
560
- end
561
- end
562
-
563
- expect("206-123-1234").to be_a_phone_number_string
564
- expect("foo").not_to be_a_phone_number_string
565
-
566
- expect {
567
- expect("foo").to be_a_phone_number_string
568
- }.to fail_with(/expected "foo" to be a phone number string/)
569
-
570
- expect {
571
- expect("206-123-1234").not_to be_a_phone_number_string
572
- }.to fail_with(/expected "206-123-1234" not to be a phone number string/)
573
- end
574
- end
575
-
576
- context "with overrides" do
577
- let(:matcher) do
578
- new_matcher(:be_boolean, true) do |boolean|
579
- match do |actual|
580
- actual
581
- end
582
- description do |actual|
583
- "be the boolean #{boolean} (actual was #{actual})"
584
- end
585
- failure_message do |actual|
586
- "expected #{actual} to be the boolean #{boolean}"
587
- end
588
- failure_message_when_negated do |actual|
589
- "expected #{actual} not to be the boolean #{boolean}"
590
- end
591
- end
592
- end
593
-
594
- it "does not hide result of match block when true" do
595
- expect(matcher.matches?(true)).to be_truthy
596
- end
597
-
598
- it "does not hide result of match block when false" do
599
- expect(matcher.matches?(false)).to be_falsey
600
- end
601
-
602
- it "overrides the description (which yields `actual`)" do
603
- matcher.matches?(true)
604
- expect(matcher.description).to eq "be the boolean true (actual was true)"
605
- end
606
-
607
- it "overrides the failure message for positive expectations" do
608
- matcher.matches?(false)
609
- expect(matcher.failure_message).to eq "expected false to be the boolean true"
610
- end
611
-
612
- it "overrides the failure message for negative expectations" do
613
- matcher.matches?(true)
614
- expect(matcher.failure_message_when_negated).to eq "expected true not to be the boolean true"
615
- end
616
-
617
- it 'can access helper methods from `description`' do
618
- matcher = new_matcher(:desc) do
619
- def subdesc() "sub description" end
620
- description { "Desc (#{subdesc})" }
621
- end
622
-
623
- expect(matcher.description).to eq("Desc (sub description)")
624
- end
625
-
626
- it 'can access helper methods from `failure_message`' do
627
- matcher = new_matcher(:positive_failure_message) do
628
- def helper() "helper" end
629
- failure_message { helper }
630
- end
631
-
632
- expect(matcher.failure_message).to eq("helper")
633
- end
634
-
635
- it 'can access helper methods from `failure_message_when_negated`' do
636
- matcher = new_matcher(:negative_failure_message) do
637
- def helper() "helper" end
638
- failure_message_when_negated { helper }
639
- end
640
-
641
- expect(matcher.failure_message_when_negated).to eq("helper")
642
- end
643
-
644
- it 'can exit early with a `return` from `description` just like in a method' do
645
- matcher = new_matcher(:desc) do
646
- description { return "Desc" }
647
- end
648
-
649
- expect(matcher.description).to eq("Desc")
650
- end
651
-
652
- it 'can exit early with a `return` from `failure_message` just like in a method' do
653
- matcher = new_matcher(:positive_failure_message) do
654
- failure_message { return "msg" }
655
- end
656
-
657
- expect(matcher.failure_message).to eq("msg")
658
- end
659
-
660
- it 'can exit early with a `return` from `failure_message_when_negated` just like in a method' do
661
- matcher = new_matcher(:negative_failure_message) do
662
- failure_message_when_negated { return "msg" }
663
- end
664
-
665
- expect(matcher.failure_message_when_negated).to eq("msg")
666
- end
667
- end
668
-
669
- context "with description override and chained matcher" do
670
- context "by default" do
671
- let(:matcher) do
672
- new_matcher(:be_even) do
673
- match do |to_match|
674
- (to_match % 2 == 0) && (to_match % @divisible_by == 0)
675
- end
676
-
677
- chain :and_divisible_by do |divisible_by|
678
- @divisible_by = divisible_by
679
- end
680
-
681
- description { super() + " and divisible by #{@divisible_by}" }
682
- end
683
- end
684
-
685
- context "with include_chain_clauses_in_custom_matcher_descriptions configured to false" do
686
- include_context "isolate include_chain_clauses_in_custom_matcher_descriptions"
687
- before { RSpec::Expectations.configuration.include_chain_clauses_in_custom_matcher_descriptions = false }
688
-
689
- it "provides a default description that does not include any of the chained matchers' descriptions" do
690
- expect(matcher.and_divisible_by(10).description).to eq 'be even and divisible by 10'
691
- end
692
- end
693
-
694
- context "with include_chain_clauses_in_custom_matcher_descriptions configured to true" do
695
- it "provides a default description that does includes the chained matchers' descriptions" do
696
- expect(matcher.and_divisible_by(10).description).to eq 'be even and divisible by 10 and divisible by 10'
697
- end
698
- end
699
- end
700
- end
701
-
702
- context "matching blocks" do
703
- it 'cannot match blocks by default' do
704
- matcher = new_matcher(:foo) { match { true } }
705
- expect(3).to matcher
706
-
707
- expect {
708
- expect { 3 }.to matcher
709
- }.to fail_with(/must pass an argument/)
710
- end
711
-
712
- it 'can match blocks if it declares `supports_block_expectations`' do
713
- matcher = new_matcher(:foo) do
714
- match { true }
715
- supports_block_expectations
716
- end
717
-
718
- expect(3).to matcher
719
- expect { 3 }.to matcher
720
- end
721
- end
722
-
723
- context "#new" do
724
- it "passes matches? arg to match block" do
725
- matcher = new_matcher(:ignore) do
726
- match do |actual|
727
- actual == 5
728
- end
729
- end
730
- expect(matcher.matches?(5)).to be_truthy
731
- end
732
-
733
- it "exposes arg submitted through #new to matcher block" do
734
- matcher = new_matcher(:ignore, 4) do |expected|
735
- match do |actual|
736
- actual > expected
737
- end
738
- end
739
- expect(matcher.matches?(5)).to be_truthy
740
- end
741
- end
742
-
743
- context "with no args" do
744
- let(:matcher) do
745
- new_matcher(:matcher_name) do
746
- match do |actual|
747
- actual == 5
748
- end
749
- end
750
- end
751
-
752
- it "matches" do
753
- expect(matcher.matches?(5)).to be_truthy
754
- end
755
-
756
- it "describes" do
757
- expect(matcher.description).to eq "matcher name"
758
- end
759
- end
760
-
761
- context "with 1 arg" do
762
- let(:matcher) do
763
- new_matcher(:matcher_name, 1) do |expected|
764
- match do |actual|
765
- actual == 5 && expected == 1
766
- end
767
- end
768
- end
769
-
770
- it "matches" do
771
- expect(matcher.matches?(5)).to be_truthy
772
- end
773
-
774
- it "describes" do
775
- expect(matcher.description).to eq "matcher name 1"
776
- end
777
- end
778
-
779
- context "with multiple args" do
780
- let(:matcher) do
781
- new_matcher(:matcher_name, 1, 2, 3, 4) do |a, b, c, d|
782
- match do |sum|
783
- a + b + c + d == sum
784
- end
785
- end
786
- end
787
-
788
- it "matches" do
789
- expect(matcher.matches?(10)).to be_truthy
790
- end
791
-
792
- it "describes" do
793
- expect(matcher.description).to eq "matcher name 1, 2, 3, and 4"
794
- end
795
- end
796
-
797
- it "supports helper methods" do
798
- matcher = new_matcher(:be_similar_to, [1, 2, 3]) do |sample|
799
- match do |actual|
800
- similar?(sample, actual)
801
- end
802
-
803
- def similar?(a, b)
804
- a.sort == b.sort
805
- end
806
- end
807
-
808
- expect(matcher.matches?([2,3,1])).to be_truthy
809
- end
810
-
811
- it "supports fluent interface" do
812
- matcher = new_matcher(:first_word) do
813
- def second_word
814
- self
815
- end
816
- end
817
-
818
- expect(matcher.second_word).to eq matcher
819
- end
820
-
821
- it "treats method missing normally for undeclared methods" do
822
- matcher = new_matcher(:ignore) { }
823
- expect { matcher.non_existent_method }.to raise_error(NoMethodError)
824
- end
825
-
826
- it "has access to other matchers" do
827
- matcher = new_matcher(:ignore, 3) do |expected|
828
- match do |actual|
829
- extend RSpec::Matchers
830
- expect(actual).to eql(5 + expected)
831
- end
832
- end
833
-
834
- expect(matcher.matches?(8)).to be_truthy
835
- end
836
-
837
- context 'when multiple instances of the same matcher are used in the same example' do
838
- RSpec::Matchers.define(:be_like_a) do |expected|
839
- match { |actual| actual == expected }
840
- description { "be like a #{expected}" }
841
- failure_message { "expected to be like a #{expected}" }
842
- failure_message_when_negated { "expected not to be like a #{expected}" }
843
- end
844
-
845
- # Note: these bugs were only exposed when creating both instances
846
- # first, then checking their descriptions/failure messages.
847
- #
848
- # That's why we eager-instantiate them here.
849
- let!(:moose) { be_like_a("moose") }
850
- let!(:horse) { be_like_a("horse") }
851
-
852
- it 'allows them to use the expected value in the description' do
853
- expect(horse.description).to eq("be like a horse")
854
- expect(moose.description).to eq("be like a moose")
855
- end
856
-
857
- it 'allows them to use the expected value in the positive failure message' do
858
- expect(moose.failure_message).to eq("expected to be like a moose")
859
- expect(horse.failure_message).to eq("expected to be like a horse")
860
- end
861
-
862
- it 'allows them to use the expected value in the negative failure message' do
863
- expect(moose.failure_message_when_negated).to eq("expected not to be like a moose")
864
- expect(horse.failure_message_when_negated).to eq("expected not to be like a horse")
865
- end
866
-
867
- it 'allows them to match separately' do
868
- expect("moose").to moose
869
- expect("horse").to horse
870
- expect("horse").not_to moose
871
- expect("moose").not_to horse
872
- end
873
- end
874
-
875
- describe "#match_unless_raises" do
876
- context "with an assertion" do
877
- mod = Module.new do
878
- def assert_equal(a,b)
879
- raise UnexpectedError.new("#{b} does not equal #{a}") unless a == b
880
- end
881
- end
882
-
883
- let(:matcher) do
884
- new_matcher(:equal, 4) do |expected|
885
- include mod
886
- match_unless_raises UnexpectedError do
887
- assert_equal expected, actual
888
- end
889
- end
890
- end
891
-
892
- context "with passing assertion" do
893
- it "passes" do
894
- expect(matcher.matches?(4)).to be_truthy
895
- end
896
- end
897
-
898
- context "with failing assertion" do
899
- it "fails" do
900
- expect(matcher.matches?(5)).to be_falsey
901
- end
902
-
903
- it "provides the raised exception" do
904
- matcher.matches?(5)
905
- expect(matcher.rescued_exception.message).to eq("5 does not equal 4")
906
- end
907
- end
908
- end
909
-
910
- context "with an unexpected error" do
911
- let(:matcher) do
912
- new_matcher(:foo, :bar) do |expected|
913
- match_unless_raises SyntaxError do |actual|
914
- raise "unexpected exception"
915
- end
916
- end
917
- end
918
-
919
- it "raises the error" do
920
- expect {
921
- matcher.matches?(:bar)
922
- }.to raise_error("unexpected exception")
923
- end
924
- end
925
-
926
- context "without a specified error class" do
927
- let(:matcher) do
928
- new_matcher(:foo) do
929
- match_unless_raises do |actual|
930
- raise Exception unless actual == 5
931
- end
932
- end
933
- end
934
-
935
- it 'passes if no error is raised' do
936
- expect(matcher.matches?(5)).to be true
937
- end
938
-
939
- it 'fails if an exception is raised' do
940
- expect(matcher.matches?(4)).to be false
941
- end
942
- end
943
-
944
- end
945
-
946
- it "can define chainable methods" do
947
- matcher = new_matcher(:name) do
948
- chain(:expecting) do |expected_value|
949
- @expected_value = expected_value
950
- end
951
- match { |actual| actual == @expected_value }
952
- end
953
-
954
- expect(matcher.expecting('value').matches?('value')).to be_truthy
955
- expect(matcher.expecting('value').matches?('other value')).to be_falsey
956
- end
957
-
958
- it 'can use an early return from a `chain` block' do
959
- matcher = new_matcher(:name) do
960
- chain(:expecting) do |expected_value|
961
- @expected_value = expected_value
962
- return
963
- end
964
- match { |actual| actual == @expected_value }
965
- end
966
-
967
- expect(matcher.expecting('value').matches?('value')).to be_truthy
968
- expect(matcher.expecting('value').matches?('other value')).to be_falsey
969
- end
970
-
971
- it 'allows chainable methods to accept blocks' do
972
- matcher = new_matcher(:name) do
973
- chain(:for_block) { |&b| @block = b }
974
- match { |value| @block.call == value }
975
- end
976
-
977
- expect(matcher.for_block { 5 }.matches?(5)).to be true
978
- expect(matcher.for_block { 3 }.matches?(4)).to be false
979
- end
980
-
981
- it "prevents name collisions on chainable methods from different matchers" do
982
- m1 = new_matcher(:m1) { chain(:foo) { raise "foo in m1" } }
983
- m2 = new_matcher(:m2) { chain(:foo) { raise "foo in m2" } }
984
-
985
- expect { m1.foo }.to raise_error("foo in m1")
986
- expect { m2.foo }.to raise_error("foo in m2")
987
- end
988
-
989
- context "defined using the dsl" do
990
- def a_method_in_the_example
991
- "method defined in the example"
992
- end
993
-
994
- it "can access methods in the running example" do |example|
995
- RSpec::Matchers.define(:__access_running_example) do
996
- match do |actual|
997
- a_method_in_the_example == "method defined in the example"
998
- end
999
- end
1000
- expect(example).to __access_running_example
1001
- end
1002
-
1003
- it 'can get a method object for methods in the running example', :if => (RUBY_VERSION.to_f > 1.8) do
1004
- matcher = new_matcher(:get_method_object) { }
1005
- method = matcher.method(:a_method_in_the_example)
1006
- expect(method.call).to eq("method defined in the example")
1007
- end
1008
-
1009
- it 'indicates that it responds to a method from the running example' do
1010
- matcher = new_matcher(:respond_to) { }
1011
- expect(matcher).to respond_to(:a_method_in_the_example)
1012
- expect(matcher).not_to respond_to(:a_method_not_in_the_example)
1013
- end
1014
-
1015
- it "raises NoMethodError for methods not in the running_example" do |example|
1016
- RSpec::Matchers.define(:__raise_no_method_error) do
1017
- match do |actual|
1018
- self.a_method_not_in_the_example == "method defined in the example"
1019
- end
1020
- end
1021
-
1022
- expected_msg = "RSpec::Matchers::DSL::Matcher"
1023
- expected_msg << " __raise_no_method_error" unless rbx?
1024
-
1025
- expect {
1026
- expect(example).to __raise_no_method_error
1027
- }.to raise_error(NoMethodError, /#{expected_msg}/)
1028
- end
1029
-
1030
- def rbx?
1031
- defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
1032
- end
1033
- end
1034
-
1035
- end
1036
- end