rspec 1.3.2 → 2.0.0.a2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. data/.document +4 -6
  2. data/.gitignore +4 -14
  3. data/License.txt +1 -1
  4. data/README.markdown +46 -0
  5. data/Rakefile +26 -100
  6. data/lib/rspec.rb +4 -0
  7. data/lib/rspec/version.rb +14 -0
  8. data/rspec.gemspec +46 -19
  9. metadata +72 -673
  10. data/.autotest +0 -5
  11. data/Gemfile +0 -20
  12. data/History.rdoc +0 -1560
  13. data/README.rdoc +0 -44
  14. data/Ruby1.9.rdoc +0 -31
  15. data/TODO.txt +0 -17
  16. data/Upgrade.rdoc +0 -260
  17. data/bin/autospec +0 -4
  18. data/bin/spec +0 -5
  19. data/cucumber.yml +0 -5
  20. data/example_spec.rb +0 -4
  21. data/examples/failing/README.txt +0 -11
  22. data/examples/failing/diffing_spec.rb +0 -36
  23. data/examples/failing/failing_implicit_docstrings_example.rb +0 -17
  24. data/examples/failing/failure_in_after.rb +0 -10
  25. data/examples/failing/failure_in_before.rb +0 -10
  26. data/examples/failing/mocking_example.rb +0 -38
  27. data/examples/failing/mocking_with_flexmock.rb +0 -26
  28. data/examples/failing/mocking_with_mocha.rb +0 -25
  29. data/examples/failing/mocking_with_rr.rb +0 -27
  30. data/examples/failing/partial_mock_example.rb +0 -18
  31. data/examples/failing/pending_example.rb +0 -7
  32. data/examples/failing/predicate_example.rb +0 -32
  33. data/examples/failing/raising_example.rb +0 -47
  34. data/examples/failing/syntax_error_example.rb +0 -7
  35. data/examples/failing/team_spec.rb +0 -41
  36. data/examples/failing/timeout_behaviour.rb +0 -5
  37. data/examples/passing/custom_formatter.rb +0 -11
  38. data/examples/passing/custom_matchers.rb +0 -54
  39. data/examples/passing/dynamic_spec.rb +0 -7
  40. data/examples/passing/file_accessor.rb +0 -18
  41. data/examples/passing/file_accessor_spec.rb +0 -37
  42. data/examples/passing/filtered_formatter.rb +0 -17
  43. data/examples/passing/filtered_formatter_example.rb +0 -31
  44. data/examples/passing/greeter_spec.rb +0 -30
  45. data/examples/passing/helper_method_example.rb +0 -12
  46. data/examples/passing/implicit_docstrings_example.rb +0 -16
  47. data/examples/passing/io_processor.rb +0 -8
  48. data/examples/passing/io_processor_spec.rb +0 -20
  49. data/examples/passing/mocking_example.rb +0 -25
  50. data/examples/passing/multi_threaded_example_group_runner.rb +0 -26
  51. data/examples/passing/nested_classes_example.rb +0 -35
  52. data/examples/passing/options_example.rb +0 -29
  53. data/examples/passing/options_formatter.rb +0 -20
  54. data/examples/passing/partial_mock_example.rb +0 -27
  55. data/examples/passing/pending_example.rb +0 -18
  56. data/examples/passing/predicate_example.rb +0 -25
  57. data/examples/passing/shared_example_group_example.rb +0 -43
  58. data/examples/passing/shared_stack_examples.rb +0 -36
  59. data/examples/passing/simple_matcher_example.rb +0 -29
  60. data/examples/passing/stack.rb +0 -36
  61. data/examples/passing/stack_spec.rb +0 -63
  62. data/examples/passing/stack_spec_with_nested_example_groups.rb +0 -66
  63. data/examples/passing/stubbing_example.rb +0 -67
  64. data/examples/passing/yielding_example.rb +0 -31
  65. data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +0 -85
  66. data/features-pending/cli/conditional_exclusion.feature +0 -39
  67. data/features-pending/heckle/heckle.feature +0 -56
  68. data/features/before_and_after_blocks/before_and_after_blocks.feature +0 -167
  69. data/features/command_line/line_number_option.feature +0 -56
  70. data/features/command_line/line_number_option_with_example_with_no_name.feature +0 -22
  71. data/features/example_groups/define_example_attribute.feature +0 -41
  72. data/features/example_groups/example_group_with_should_methods.feature +0 -29
  73. data/features/example_groups/implicit_docstrings.feature +0 -59
  74. data/features/example_groups/nested_groups.feature +0 -32
  75. data/features/expectations/customized_message.feature +0 -54
  76. data/features/expectations/expect_change.feature +0 -65
  77. data/features/expectations/expect_error.feature +0 -44
  78. data/features/extensions/custom_example_group.feature +0 -19
  79. data/features/formatters/custom_formatter.feature +0 -30
  80. data/features/formatters/nested_formatter.feature +0 -32
  81. data/features/interop/cucumber_stubs_dont_leak.feature +0 -11
  82. data/features/interop/examples_and_tests_together.feature +0 -84
  83. data/features/interop/rspec_output.feature +0 -25
  84. data/features/interop/test_but_not_test_unit.feature +0 -26
  85. data/features/interop/test_case_with_should_methods.feature +0 -46
  86. data/features/load_paths/add_lib_to_load_path.feature +0 -20
  87. data/features/load_paths/add_spec_to_load_path.feature +0 -20
  88. data/features/matchers/define_diffable_matcher.feature +0 -26
  89. data/features/matchers/define_matcher.feature +0 -179
  90. data/features/matchers/define_matcher_outside_rspec.feature +0 -37
  91. data/features/matchers/define_matcher_with_fluent_interface.feature +0 -48
  92. data/features/matchers/define_wrapped_matcher.feature +0 -56
  93. data/features/matchers/match_unless_raises.feature +0 -60
  94. data/features/matchers/match_unless_raises_unexpected_error.feature +0 -39
  95. data/features/mock_framework_integration/use_flexmock.feature +0 -27
  96. data/features/mock_framework_integration/use_mocha.feature +0 -27
  97. data/features/mock_framework_integration/use_rr.feature +0 -27
  98. data/features/mocks/block_local_expectations.feature +0 -62
  99. data/features/mocks/mix_stubs_and_mocks.feature +0 -22
  100. data/features/mocks/stub_implementation.feature +0 -26
  101. data/features/pending/pending_examples.feature +0 -81
  102. data/features/runner/specify_line_number.feature +0 -32
  103. data/features/spec_helper/spec_helper.feature +0 -25
  104. data/features/step_definitions/running_rspec_steps.rb +0 -52
  105. data/features/step_definitions/stubbing_steps.rb +0 -16
  106. data/features/subject/explicit_subject.feature +0 -31
  107. data/features/subject/implicit_subject.feature +0 -43
  108. data/features/support/env.rb +0 -83
  109. data/features/support/matchers/smart_match.rb +0 -31
  110. data/init.rb +0 -9
  111. data/lib/autotest/discover.rb +0 -3
  112. data/lib/autotest/rspec.rb +0 -54
  113. data/lib/spec.rb +0 -8
  114. data/lib/spec/adapters/mock_frameworks/flexmock.rb +0 -24
  115. data/lib/spec/adapters/mock_frameworks/mocha.rb +0 -25
  116. data/lib/spec/adapters/mock_frameworks/rr.rb +0 -22
  117. data/lib/spec/adapters/mock_frameworks/rspec.rb +0 -21
  118. data/lib/spec/autorun.rb +0 -3
  119. data/lib/spec/deprecation.rb +0 -41
  120. data/lib/spec/dsl.rb +0 -1
  121. data/lib/spec/dsl/main.rb +0 -93
  122. data/lib/spec/example.rb +0 -164
  123. data/lib/spec/example/args_and_options.rb +0 -27
  124. data/lib/spec/example/before_and_after_hooks.rb +0 -93
  125. data/lib/spec/example/errors.rb +0 -25
  126. data/lib/spec/example/example_group.rb +0 -10
  127. data/lib/spec/example/example_group_factory.rb +0 -82
  128. data/lib/spec/example/example_group_hierarchy.rb +0 -53
  129. data/lib/spec/example/example_group_methods.rb +0 -287
  130. data/lib/spec/example/example_group_proxy.rb +0 -61
  131. data/lib/spec/example/example_matcher.rb +0 -43
  132. data/lib/spec/example/example_methods.rb +0 -152
  133. data/lib/spec/example/example_proxy.rb +0 -41
  134. data/lib/spec/example/module_reopening_fix.rb +0 -43
  135. data/lib/spec/example/pending.rb +0 -18
  136. data/lib/spec/example/predicate_matchers.rb +0 -46
  137. data/lib/spec/example/shared_example_group.rb +0 -59
  138. data/lib/spec/example/subject.rb +0 -114
  139. data/lib/spec/expectations.rb +0 -35
  140. data/lib/spec/expectations/errors.rb +0 -12
  141. data/lib/spec/expectations/extensions.rb +0 -1
  142. data/lib/spec/expectations/extensions/kernel.rb +0 -52
  143. data/lib/spec/expectations/fail_with.rb +0 -45
  144. data/lib/spec/expectations/handler.rb +0 -50
  145. data/lib/spec/extensions/instance_exec.rb +0 -31
  146. data/lib/spec/interop/test.rb +0 -44
  147. data/lib/spec/interop/test/unit/autorunner.rb +0 -6
  148. data/lib/spec/interop/test/unit/testcase.rb +0 -56
  149. data/lib/spec/interop/test/unit/testresult.rb +0 -6
  150. data/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -36
  151. data/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
  152. data/lib/spec/matchers.rb +0 -214
  153. data/lib/spec/matchers/be.rb +0 -249
  154. data/lib/spec/matchers/be_close.rb +0 -32
  155. data/lib/spec/matchers/be_instance_of.rb +0 -26
  156. data/lib/spec/matchers/be_kind_of.rb +0 -26
  157. data/lib/spec/matchers/change.rb +0 -151
  158. data/lib/spec/matchers/compatibility.rb +0 -14
  159. data/lib/spec/matchers/dsl.rb +0 -20
  160. data/lib/spec/matchers/eql.rb +0 -42
  161. data/lib/spec/matchers/equal.rb +0 -53
  162. data/lib/spec/matchers/errors.rb +0 -5
  163. data/lib/spec/matchers/exist.rb +0 -16
  164. data/lib/spec/matchers/generated_descriptions.rb +0 -36
  165. data/lib/spec/matchers/has.rb +0 -35
  166. data/lib/spec/matchers/have.rb +0 -152
  167. data/lib/spec/matchers/include.rb +0 -44
  168. data/lib/spec/matchers/match.rb +0 -21
  169. data/lib/spec/matchers/match_array.rb +0 -71
  170. data/lib/spec/matchers/matcher.rb +0 -132
  171. data/lib/spec/matchers/method_missing.rb +0 -9
  172. data/lib/spec/matchers/operator_matcher.rb +0 -83
  173. data/lib/spec/matchers/pretty.rb +0 -37
  174. data/lib/spec/matchers/raise_exception.rb +0 -131
  175. data/lib/spec/matchers/respond_to.rb +0 -71
  176. data/lib/spec/matchers/satisfy.rb +0 -47
  177. data/lib/spec/matchers/simple_matcher.rb +0 -134
  178. data/lib/spec/matchers/throw_symbol.rb +0 -100
  179. data/lib/spec/matchers/wrap_expectation.rb +0 -55
  180. data/lib/spec/mocks.rb +0 -200
  181. data/lib/spec/mocks/argument_expectation.rb +0 -51
  182. data/lib/spec/mocks/argument_matchers.rb +0 -237
  183. data/lib/spec/mocks/error_generator.rb +0 -92
  184. data/lib/spec/mocks/errors.rb +0 -10
  185. data/lib/spec/mocks/example_methods.rb +0 -69
  186. data/lib/spec/mocks/extensions.rb +0 -1
  187. data/lib/spec/mocks/extensions/object.rb +0 -3
  188. data/lib/spec/mocks/framework.rb +0 -15
  189. data/lib/spec/mocks/message_expectation.rb +0 -344
  190. data/lib/spec/mocks/methods.rb +0 -94
  191. data/lib/spec/mocks/mock.rb +0 -71
  192. data/lib/spec/mocks/order_group.rb +0 -29
  193. data/lib/spec/mocks/proxy.rb +0 -254
  194. data/lib/spec/mocks/space.rb +0 -28
  195. data/lib/spec/rake/spectask.rb +0 -230
  196. data/lib/spec/rake/verify_rcov.rb +0 -52
  197. data/lib/spec/ruby.rb +0 -9
  198. data/lib/spec/runner.rb +0 -66
  199. data/lib/spec/runner/backtrace_tweaker.rb +0 -78
  200. data/lib/spec/runner/class_and_arguments_parser.rb +0 -14
  201. data/lib/spec/runner/command_line.rb +0 -15
  202. data/lib/spec/runner/configuration.rb +0 -202
  203. data/lib/spec/runner/differs/default.rb +0 -93
  204. data/lib/spec/runner/differs/load-diff-lcs.rb +0 -12
  205. data/lib/spec/runner/drb_command_line.rb +0 -32
  206. data/lib/spec/runner/example_group_runner.rb +0 -58
  207. data/lib/spec/runner/extensions/kernel.rb +0 -9
  208. data/lib/spec/runner/formatter/base_formatter.rb +0 -139
  209. data/lib/spec/runner/formatter/base_text_formatter.rb +0 -142
  210. data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -25
  211. data/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
  212. data/lib/spec/runner/formatter/html_formatter.rb +0 -338
  213. data/lib/spec/runner/formatter/nested_text_formatter.rb +0 -50
  214. data/lib/spec/runner/formatter/no_op_method_missing.rb +0 -21
  215. data/lib/spec/runner/formatter/profile_formatter.rb +0 -47
  216. data/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -33
  217. data/lib/spec/runner/formatter/silent_formatter.rb +0 -10
  218. data/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
  219. data/lib/spec/runner/formatter/specdoc_formatter.rb +0 -33
  220. data/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
  221. data/lib/spec/runner/heckle_runner.rb +0 -77
  222. data/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
  223. data/lib/spec/runner/line_number_query.rb +0 -78
  224. data/lib/spec/runner/option_parser.rb +0 -225
  225. data/lib/spec/runner/options.rb +0 -406
  226. data/lib/spec/runner/reporter.rb +0 -171
  227. data/lib/spec/stubs/cucumber.rb +0 -5
  228. data/lib/spec/test/unit.rb +0 -10
  229. data/lib/spec/version.rb +0 -14
  230. data/resources/helpers/cmdline.rb +0 -8
  231. data/resources/rake/examples.rake +0 -7
  232. data/resources/rake/examples_with_rcov.rake +0 -9
  233. data/resources/rake/failing_examples_with_html.rake +0 -9
  234. data/resources/rake/verify_rcov.rake +0 -7
  235. data/spec/README.jruby +0 -15
  236. data/spec/autotest/autotest_helper.rb +0 -8
  237. data/spec/autotest/autotest_matchers.rb +0 -38
  238. data/spec/autotest/discover_spec.rb +0 -8
  239. data/spec/autotest/failed_results_re_spec.rb +0 -31
  240. data/spec/autotest/rspec_spec.rb +0 -126
  241. data/spec/ruby_forker.rb +0 -13
  242. data/spec/spec.opts +0 -6
  243. data/spec/spec/dsl/main_spec.rb +0 -103
  244. data/spec/spec/example/example_group_class_definition_spec.rb +0 -51
  245. data/spec/spec/example/example_group_factory_spec.rb +0 -180
  246. data/spec/spec/example/example_group_methods_spec.rb +0 -778
  247. data/spec/spec/example/example_group_proxy_spec.rb +0 -107
  248. data/spec/spec/example/example_group_spec.rb +0 -632
  249. data/spec/spec/example/example_matcher_spec.rb +0 -85
  250. data/spec/spec/example/example_methods_spec.rb +0 -162
  251. data/spec/spec/example/example_proxy_spec.rb +0 -57
  252. data/spec/spec/example/helper_method_spec.rb +0 -24
  253. data/spec/spec/example/nested_example_group_spec.rb +0 -71
  254. data/spec/spec/example/pending_module_spec.rb +0 -58
  255. data/spec/spec/example/predicate_matcher_spec.rb +0 -41
  256. data/spec/spec/example/shared_example_group_spec.rb +0 -257
  257. data/spec/spec/example/subclassing_example_group_spec.rb +0 -25
  258. data/spec/spec/example/subject_spec.rb +0 -110
  259. data/spec/spec/expectations/differs/default_spec.rb +0 -194
  260. data/spec/spec/expectations/extensions/kernel_spec.rb +0 -45
  261. data/spec/spec/expectations/fail_with_spec.rb +0 -96
  262. data/spec/spec/expectations/handler_spec.rb +0 -206
  263. data/spec/spec/expectations/wrap_expectation_spec.rb +0 -31
  264. data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
  265. data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
  266. data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
  267. data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
  268. data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
  269. data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
  270. data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
  271. data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +0 -22
  272. data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
  273. data/spec/spec/interop/test/unit/spec_spec.rb +0 -48
  274. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -18
  275. data/spec/spec/interop/test/unit/testcase_spec.rb +0 -50
  276. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
  277. data/spec/spec/matchers/be_close_spec.rb +0 -50
  278. data/spec/spec/matchers/be_instance_of_spec.rb +0 -36
  279. data/spec/spec/matchers/be_kind_of_spec.rb +0 -33
  280. data/spec/spec/matchers/be_spec.rb +0 -460
  281. data/spec/spec/matchers/change_spec.rb +0 -349
  282. data/spec/spec/matchers/compatibility_spec.rb +0 -28
  283. data/spec/spec/matchers/description_generation_spec.rb +0 -160
  284. data/spec/spec/matchers/dsl_spec.rb +0 -34
  285. data/spec/spec/matchers/eql_spec.rb +0 -33
  286. data/spec/spec/matchers/equal_spec.rb +0 -57
  287. data/spec/spec/matchers/exist_spec.rb +0 -65
  288. data/spec/spec/matchers/has_spec.rb +0 -190
  289. data/spec/spec/matchers/have_spec.rb +0 -381
  290. data/spec/spec/matchers/include_spec.rb +0 -88
  291. data/spec/spec/matchers/match_array_spec.rb +0 -115
  292. data/spec/spec/matchers/match_spec.rb +0 -57
  293. data/spec/spec/matchers/matcher_spec.rb +0 -289
  294. data/spec/spec/matchers/matchers_spec.rb +0 -2
  295. data/spec/spec/matchers/operator_matcher_spec.rb +0 -191
  296. data/spec/spec/matchers/pretty_spec.rb +0 -22
  297. data/spec/spec/matchers/raise_exception_spec.rb +0 -345
  298. data/spec/spec/matchers/respond_to_spec.rb +0 -116
  299. data/spec/spec/matchers/satisfy_spec.rb +0 -36
  300. data/spec/spec/matchers/simple_matcher_spec.rb +0 -100
  301. data/spec/spec/matchers/throw_symbol_spec.rb +0 -121
  302. data/spec/spec/mocks/and_yield_spec.rb +0 -117
  303. data/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
  304. data/spec/spec/mocks/argument_expectation_spec.rb +0 -23
  305. data/spec/spec/mocks/argument_matchers_spec.rb +0 -19
  306. data/spec/spec/mocks/at_least_spec.rb +0 -97
  307. data/spec/spec/mocks/at_most_spec.rb +0 -93
  308. data/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
  309. data/spec/spec/mocks/bug_report_10263_spec.rb +0 -27
  310. data/spec/spec/mocks/bug_report_1049_spec.rb +0 -30
  311. data/spec/spec/mocks/bug_report_11545_spec.rb +0 -32
  312. data/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
  313. data/spec/spec/mocks/bug_report_496_spec.rb +0 -17
  314. data/spec/spec/mocks/bug_report_600_spec.rb +0 -22
  315. data/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
  316. data/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
  317. data/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
  318. data/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
  319. data/spec/spec/mocks/bug_report_830_spec.rb +0 -21
  320. data/spec/spec/mocks/bug_report_957_spec.rb +0 -22
  321. data/spec/spec/mocks/double_spec.rb +0 -12
  322. data/spec/spec/mocks/failing_argument_matchers_spec.rb +0 -95
  323. data/spec/spec/mocks/hash_including_matcher_spec.rb +0 -90
  324. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +0 -67
  325. data/spec/spec/mocks/mock_ordering_spec.rb +0 -94
  326. data/spec/spec/mocks/mock_space_spec.rb +0 -54
  327. data/spec/spec/mocks/mock_spec.rb +0 -601
  328. data/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
  329. data/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
  330. data/spec/spec/mocks/null_object_mock_spec.rb +0 -54
  331. data/spec/spec/mocks/once_counts_spec.rb +0 -53
  332. data/spec/spec/mocks/options_hash_spec.rb +0 -35
  333. data/spec/spec/mocks/partial_mock_spec.rb +0 -164
  334. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
  335. data/spec/spec/mocks/passing_argument_matchers_spec.rb +0 -145
  336. data/spec/spec/mocks/precise_counts_spec.rb +0 -52
  337. data/spec/spec/mocks/record_messages_spec.rb +0 -26
  338. data/spec/spec/mocks/stub_chain_spec.rb +0 -42
  339. data/spec/spec/mocks/stub_implementation_spec.rb +0 -31
  340. data/spec/spec/mocks/stub_spec.rb +0 -203
  341. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +0 -26
  342. data/spec/spec/mocks/twice_counts_spec.rb +0 -67
  343. data/spec/spec/mocks/unstub_spec.rb +0 -127
  344. data/spec/spec/package/bin_spec_spec.rb +0 -16
  345. data/spec/spec/rake/spectask_spec.rb +0 -150
  346. data/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
  347. data/spec/spec/runner/command_line_spec.rb +0 -162
  348. data/spec/spec/runner/configuration_spec.rb +0 -320
  349. data/spec/spec/runner/drb_command_line_spec.rb +0 -146
  350. data/spec/spec/runner/empty_file.txt +0 -0
  351. data/spec/spec/runner/example_group_runner_spec.rb +0 -26
  352. data/spec/spec/runner/examples.txt +0 -2
  353. data/spec/spec/runner/failed.txt +0 -3
  354. data/spec/spec/runner/formatter/base_formatter_spec.rb +0 -30
  355. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +0 -113
  356. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
  357. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
  358. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -377
  359. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -377
  360. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +0 -377
  361. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +0 -377
  362. data/spec/spec/runner/formatter/html_formatted-1.9.2.html +0 -377
  363. data/spec/spec/runner/formatter/html_formatter_spec.rb +0 -118
  364. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -329
  365. data/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -70
  366. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -149
  367. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
  368. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
  369. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +0 -371
  370. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
  371. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +0 -371
  372. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +0 -371
  373. data/spec/spec/runner/formatter/text_mate_formatted-1.9.2.html +0 -371
  374. data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +0 -106
  375. data/spec/spec/runner/heckle_runner_spec.rb +0 -78
  376. data/spec/spec/runner/heckler_spec.rb +0 -20
  377. data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +0 -70
  378. data/spec/spec/runner/line_number_query_spec.rb +0 -129
  379. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -51
  380. data/spec/spec/runner/option_parser_spec.rb +0 -551
  381. data/spec/spec/runner/options_spec.rb +0 -554
  382. data/spec/spec/runner/output_one_time_fixture.rb +0 -7
  383. data/spec/spec/runner/output_one_time_fixture_runner.rb +0 -7
  384. data/spec/spec/runner/output_one_time_spec.rb +0 -15
  385. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -123
  386. data/spec/spec/runner/reporter_spec.rb +0 -244
  387. data/spec/spec/runner/resources/a_bar.rb +0 -0
  388. data/spec/spec/runner/resources/a_foo.rb +0 -0
  389. data/spec/spec/runner/resources/a_spec.rb +0 -1
  390. data/spec/spec/runner/resources/custom_example_group_runner.rb +0 -14
  391. data/spec/spec/runner/resources/utf8_encoded.rb +0 -8
  392. data/spec/spec/runner/spec.opts +0 -2
  393. data/spec/spec/runner/spec_drb.opts +0 -2
  394. data/spec/spec/runner/spec_spaced.opts +0 -2
  395. data/spec/spec/runner_spec.rb +0 -13
  396. data/spec/spec_helper.rb +0 -113
  397. data/spec/support/macros.rb +0 -29
  398. data/spec/support/spec_classes.rb +0 -133
@@ -1,94 +0,0 @@
1
- module Spec
2
- module Mocks
3
- module Methods
4
- def should_receive(sym, opts={}, &block)
5
- __mock_proxy.add_message_expectation(opts[:expected_from] || caller(1)[0], sym.to_sym, opts, &block)
6
- end
7
-
8
- def should_not_receive(sym, &block)
9
- __mock_proxy.add_negative_message_expectation(caller(1)[0], sym.to_sym, &block)
10
- end
11
-
12
- def stub!(sym_or_hash, opts={}, &block)
13
- if Hash === sym_or_hash
14
- sym_or_hash.each {|method, value| stub!(method).and_return value }
15
- else
16
- __mock_proxy.add_stub(caller(1)[0], sym_or_hash.to_sym, opts, &block)
17
- end
18
- end
19
-
20
- alias_method :stub, :stub!
21
-
22
- def unstub!(message)
23
- __mock_proxy.remove_stub(message)
24
- end
25
-
26
- alias_method :unstub, :unstub!
27
-
28
- # :call-seq:
29
- # object.stub_chain(:first, :second, :third).and_return(:this)
30
- #
31
- # Supports stubbing a chain of methods. Each argument represents
32
- # a method name to stub, and each one returns a proxy object that
33
- # can accept more stubs, until the last, which returns whatever
34
- # is passed to +and_return_.
35
- #
36
- # == Examples
37
- #
38
- # # with this in an example ...
39
- # article = double('article')
40
- # Article.stub_chain(:authored_by, :published, :recent).and_return([article])
41
- # # then this will return an Array with the article double in it:
42
- # Article.authored_by(params[:author_id]).published.recent
43
- def stub_chain(*methods)
44
- if methods.length > 1
45
- if matching_stub = __mock_proxy.find_matching_method_stub(methods[0])
46
- methods.shift
47
- matching_stub.invoke_return_block.stub_chain(*methods)
48
- else
49
- next_in_chain = Object.new
50
- stub!(methods.shift) {next_in_chain}
51
- next_in_chain.stub_chain(*methods)
52
- end
53
- else
54
- stub!(methods.shift)
55
- end
56
- end
57
-
58
- # Record and otherwise ignore all messages that aren't specified,
59
- # with +stub+, +stub!+, or +should_receive+.
60
- #
61
- # == Returns
62
- # self
63
- def as_null_object
64
- __mock_proxy.as_null_object
65
- end
66
-
67
- def null_object?
68
- __mock_proxy.null_object?
69
- end
70
-
71
- def received_message?(sym, *args, &block) #:nodoc:
72
- __mock_proxy.received_message?(sym.to_sym, *args, &block)
73
- end
74
-
75
- def rspec_verify #:nodoc:
76
- __mock_proxy.verify
77
- end
78
-
79
- def rspec_reset #:nodoc:
80
- __mock_proxy.reset
81
- end
82
-
83
- private
84
-
85
- def __mock_proxy
86
- if Mock === self
87
- @mock_proxy ||= Proxy.new(self, @name, @options)
88
- else
89
- @mock_proxy ||= Proxy.new(self)
90
- end
91
- end
92
- end
93
- end
94
- end
@@ -1,71 +0,0 @@
1
- module Spec
2
- module Mocks
3
- class Mock
4
- include Methods
5
-
6
- # Creates a new mock with a +name+ (that will be used in error messages
7
- # only) == Options:
8
- # * <tt>:null_object</tt> - if true, the mock object acts as a forgiving
9
- # null object allowing any message to be sent to it.
10
- def initialize(name=nil, stubs_and_options={})
11
- if name.is_a?(Hash) && stubs_and_options.empty?
12
- stubs_and_options = name
13
- @name = nil
14
- else
15
- @name = name
16
- end
17
- @options = extract_options(stubs_and_options)
18
- assign_stubs(stubs_and_options)
19
- end
20
-
21
- # This allows for comparing the mock to other objects that proxy such as
22
- # ActiveRecords belongs_to proxy objects. By making the other object run
23
- # the comparison, we're sure the call gets delegated to the proxy
24
- # target.
25
- def ==(other)
26
- other == __mock_proxy
27
- end
28
-
29
- def inspect
30
- "#<#{self.class}:#{sprintf '0x%x', self.object_id} @name=#{@name.inspect}>"
31
- end
32
-
33
- def to_s
34
- inspect.gsub('<','[').gsub('>',']')
35
- end
36
-
37
- private
38
-
39
- def method_missing(sym, *args, &block)
40
- __mock_proxy.record_message_received(sym, args, block)
41
- begin
42
- return self if __mock_proxy.null_object?
43
- super(sym, *args, &block)
44
- rescue NameError
45
- __mock_proxy.raise_unexpected_message_error sym, *args
46
- end
47
- end
48
-
49
- def extract_options(stubs_and_options)
50
- options = {}
51
- extract_option(stubs_and_options, options, :null_object)
52
- extract_option(stubs_and_options, options, :__declared_as, 'Mock')
53
- options
54
- end
55
-
56
- def extract_option(source, target, key, default=nil)
57
- if source[key]
58
- target[key] = source.delete(key)
59
- elsif default
60
- target[key] = default
61
- end
62
- end
63
-
64
- def assign_stubs(stubs)
65
- stubs.each_pair do |message, response|
66
- stub!(message).and_return(response)
67
- end
68
- end
69
- end
70
- end
71
- end
@@ -1,29 +0,0 @@
1
- module Spec
2
- module Mocks
3
- class OrderGroup
4
- def initialize error_generator
5
- @error_generator = error_generator
6
- @ordering = Array.new
7
- end
8
-
9
- def register(expectation)
10
- @ordering << expectation
11
- end
12
-
13
- def ready_for?(expectation)
14
- return @ordering.first == expectation
15
- end
16
-
17
- def consume
18
- @ordering.shift
19
- end
20
-
21
- def handle_order_constraint expectation
22
- return unless @ordering.include? expectation
23
- return consume if ready_for?(expectation)
24
- @error_generator.raise_out_of_order_error expectation.sym
25
- end
26
-
27
- end
28
- end
29
- end
@@ -1,254 +0,0 @@
1
- module Spec
2
- module Mocks
3
- class Proxy
4
- DEFAULT_OPTIONS = {
5
- :null_object => false,
6
- }
7
-
8
- @@warn_about_expectations_on_nil = true
9
-
10
- def self.allow_message_expectations_on_nil
11
- @@warn_about_expectations_on_nil = false
12
-
13
- # ensure nil.rspec_verify is called even if an expectation is not set in the example
14
- # otherwise the allowance would effect subsequent examples
15
- $rspec_mocks.add(nil) unless $rspec_mocks.nil?
16
- end
17
-
18
- def initialize(target, name=nil, options={})
19
- @target = target
20
- @name = name
21
- @error_generator = ErrorGenerator.new target, name, options
22
- @expectation_ordering = OrderGroup.new @error_generator
23
- @expectations = []
24
- @messages_received = []
25
- @stubs = []
26
- @proxied_methods = []
27
- @options = options ? DEFAULT_OPTIONS.dup.merge(options) : DEFAULT_OPTIONS
28
- @already_proxied_respond_to = false
29
- end
30
-
31
- def null_object?
32
- @options[:null_object]
33
- end
34
-
35
- def as_null_object
36
- @options[:null_object] = true
37
- @target
38
- end
39
-
40
- def add_message_expectation(expected_from, sym, opts={}, &block)
41
- __add sym
42
- warn_if_nil_class sym
43
- if existing_stub = @stubs.detect {|s| s.sym == sym }
44
- expectation = existing_stub.build_child(expected_from, block_given?? block : nil, 1, opts)
45
- else
46
- expectation = MessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, block_given? ? block : nil, 1, opts)
47
- end
48
- @expectations << expectation
49
- @expectations.last
50
- end
51
-
52
- def add_negative_message_expectation(expected_from, sym, &block)
53
- __add sym
54
- warn_if_nil_class sym
55
- @expectations << NegativeMessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, block_given? ? block : nil)
56
- @expectations.last
57
- end
58
-
59
- def add_stub(expected_from, sym, opts={}, &implementation)
60
- __add sym
61
- @stubs.unshift MessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, nil, :any, opts, &implementation)
62
- @stubs.first
63
- end
64
-
65
- def remove_stub(message)
66
- message = message.to_sym
67
-
68
- if stub_to_remove = @stubs.detect { |s| s.matches_name?(message) }
69
- reset_proxied_method(message)
70
- @stubs.delete(stub_to_remove)
71
- else
72
- raise MockExpectationError, "The method `#{message}` was not stubbed or was already unstubbed"
73
- end
74
- end
75
-
76
- def verify #:nodoc:
77
- verify_expectations
78
- ensure
79
- reset
80
- end
81
-
82
- def reset
83
- clear_expectations
84
- clear_stubs
85
- reset_proxied_methods
86
- clear_proxied_methods
87
- reset_nil_expectations_warning
88
- end
89
-
90
- def received_message?(sym, *args, &block)
91
- @messages_received.any? {|array| array == [sym, args, block]}
92
- end
93
-
94
- def has_negative_expectation?(sym)
95
- @expectations.detect {|expectation| expectation.negative_expectation_for?(sym)}
96
- end
97
-
98
- def record_message_received(sym, args, block)
99
- @messages_received << [sym, args, block]
100
- end
101
-
102
- def message_received(sym, *args, &block)
103
- expectation = find_matching_expectation(sym, *args)
104
- stub = find_matching_method_stub(sym, *args)
105
-
106
- if (stub && expectation && expectation.called_max_times?) || (stub && !expectation)
107
- if expectation = find_almost_matching_expectation(sym, *args)
108
- expectation.advise(*args) unless expectation.expected_messages_received?
109
- end
110
- stub.invoke(*args, &block)
111
- elsif expectation
112
- expectation.invoke(*args, &block)
113
- elsif expectation = find_almost_matching_expectation(sym, *args)
114
- expectation.advise(*args) if null_object? unless expectation.expected_messages_received?
115
- raise_unexpected_message_args_error(expectation, *args) unless (has_negative_expectation?(sym) or null_object?)
116
- elsif stub = find_almost_matching_stub(sym, *args)
117
- stub.advise(*args)
118
- raise_unexpected_message_args_error(stub, *args)
119
- elsif @target.is_a?(Class) && @target.superclass.respond_to?(sym, true)
120
- @target.superclass.send(sym, *args, &block)
121
- else
122
- @target.__send__ :method_missing, sym, *args, &block
123
- end
124
- end
125
-
126
- def raise_unexpected_message_args_error(expectation, *args)
127
- @error_generator.raise_unexpected_message_args_error expectation, *args
128
- end
129
-
130
- def raise_unexpected_message_error(sym, *args)
131
- @error_generator.raise_unexpected_message_error sym, *args
132
- end
133
-
134
- def find_matching_method_stub(sym, *args)
135
- @stubs.find {|stub| stub.matches(sym, args)}
136
- end
137
-
138
- private
139
-
140
- def __add(sym)
141
- $rspec_mocks.add(@target) unless $rspec_mocks.nil?
142
- define_expected_method(sym)
143
- end
144
-
145
- def warn_if_nil_class(sym)
146
- if proxy_for_nil_class? & @@warn_about_expectations_on_nil
147
- Kernel.warn("An expectation of :#{sym} was set on nil. Called from #{caller[2]}. Use allow_message_expectations_on_nil to disable warnings.")
148
- end
149
- end
150
-
151
- def define_expected_method(sym)
152
- unless @proxied_methods.include?(sym)
153
- visibility_string = "#{visibility(sym)} :#{sym}"
154
- if target_responds_to?(sym)
155
- munged_sym = munge(sym)
156
- target_metaclass.instance_eval do
157
- alias_method munged_sym, sym if method_defined?(sym)
158
- end
159
- @proxied_methods << sym
160
- end
161
- target_metaclass.class_eval(<<-EOF, __FILE__, __LINE__)
162
- def #{sym}(*args, &block)
163
- __mock_proxy.message_received :#{sym}, *args, &block
164
- end
165
- #{visibility_string}
166
- EOF
167
- end
168
- end
169
-
170
- def target_responds_to?(sym)
171
- return @target.__send__(munge(:respond_to?),sym) if @already_proxied_respond_to
172
- return @already_proxied_respond_to = true if sym == :respond_to?
173
- return @target.respond_to?(sym, true)
174
- end
175
-
176
- def visibility(sym)
177
- if Mock === @target
178
- 'public'
179
- elsif target_metaclass.private_method_defined?(sym)
180
- 'private'
181
- elsif target_metaclass.protected_method_defined?(sym)
182
- 'protected'
183
- else
184
- 'public'
185
- end
186
- end
187
-
188
- def munge(sym)
189
- "proxied_by_rspec__#{sym}"
190
- end
191
-
192
- def clear_expectations
193
- @expectations.clear
194
- end
195
-
196
- def clear_stubs
197
- @stubs.clear
198
- end
199
-
200
- def clear_proxied_methods
201
- @proxied_methods.clear
202
- end
203
-
204
- def target_metaclass
205
- class << @target; self; end
206
- end
207
-
208
- def verify_expectations
209
- @expectations.each do |expectation|
210
- expectation.verify_messages_received
211
- end
212
- end
213
-
214
- def reset_proxied_methods
215
- @proxied_methods.each do |sym|
216
- reset_proxied_method(sym)
217
- end
218
- end
219
-
220
- def reset_proxied_method(sym)
221
- munged_sym = munge(sym)
222
- target_metaclass.instance_eval do
223
- remove_method sym
224
- if method_defined?(munged_sym)
225
- alias_method sym, munged_sym
226
- remove_method munged_sym
227
- end
228
- end
229
- end
230
-
231
- def proxy_for_nil_class?
232
- @target.nil?
233
- end
234
-
235
- def reset_nil_expectations_warning
236
- @@warn_about_expectations_on_nil = true if proxy_for_nil_class?
237
- end
238
-
239
- def find_matching_expectation(sym, *args)
240
- @expectations.find {|expectation| expectation.matches(sym, args) && !expectation.called_max_times?} ||
241
- @expectations.find {|expectation| expectation.matches(sym, args)}
242
- end
243
-
244
- def find_almost_matching_expectation(sym, *args)
245
- @expectations.find {|expectation| expectation.matches_name_but_not_args(sym, args)}
246
- end
247
-
248
- def find_almost_matching_stub(sym, *args)
249
- @stubs.find {|stub| stub.matches_name_but_not_args(sym, args)}
250
- end
251
-
252
- end
253
- end
254
- end