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,54 +0,0 @@
1
- require 'spec_helper'
2
- require 'spec/mocks'
3
-
4
- module Spec
5
- module Mocks
6
- describe Space do
7
- before :each do
8
- @space = Space.new
9
- klazz = Class.new do
10
- def rspec_verify
11
- @verified = true
12
- end
13
- def verified?
14
- @verified
15
- end
16
- def rspec_reset
17
- @reset = true
18
- end
19
- def reset?
20
- @reset
21
- end
22
- end
23
- @m1 = klazz.new
24
- @m2 = klazz.new
25
- end
26
- it "should verify all mocks within" do
27
- @space.add(@m1)
28
- @space.add(@m2)
29
- @space.verify_all
30
- @m1.should be_verified
31
- @m2.should be_verified
32
- end
33
- it "should reset all mocks within" do
34
- @space.add(m1 = mock("mock1"))
35
- @space.add(m2 = mock("mock2"))
36
- m1.should_receive(:rspec_reset)
37
- m2.should_receive(:rspec_reset)
38
- @space.reset_all
39
- end
40
- it "should clear internal mocks on reset_all" do
41
- @space.add(m = mock("mock"))
42
- @space.reset_all
43
- @space.instance_eval { mocks.empty? }.should be_true
44
- end
45
- it "should only add an instance once" do
46
- @space.add(m1 = mock("mock1"))
47
- @space.add(m1)
48
- m1.should_receive(:rspec_verify)
49
- @space.verify_all
50
- end
51
- end
52
- end
53
- end
54
-
@@ -1,601 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spec
4
- module Mocks
5
- describe Mock do
6
- treats_method_missing_as_private :subject => Mock.new, :noop => false
7
-
8
- before(:each) do
9
- @mock = mock("test mock")
10
- end
11
-
12
- after(:each) do
13
- @mock.rspec_reset
14
- end
15
-
16
- describe "deprecated #stub_everything method" do
17
- before(:each) do
18
- Kernel.stub!(:warn)
19
- end
20
-
21
- it "creates a mock that behaves as a null object" do
22
- stub_everything.should be_null_object
23
- end
24
-
25
- it "provides deprecation warning" do
26
- Kernel.should_receive(:warn).with(/DEPRECATION: stub_everything.* is deprecated./)
27
- stub_everything
28
- end
29
- end
30
-
31
- it "should report line number of expectation of unreceived message" do
32
- expected_error_line = __LINE__; @mock.should_receive(:wont_happen).with("x", 3)
33
- begin
34
- @mock.rspec_verify
35
- violated
36
- rescue MockExpectationError => e
37
- # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line
38
- e.backtrace[0].should match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
39
- end
40
- end
41
-
42
- it "should report line number of expectation of unreceived message after #should_receive after similar stub" do
43
- @mock.stub!(:wont_happen)
44
- expected_error_line = __LINE__; @mock.should_receive(:wont_happen).with("x", 3)
45
- begin
46
- @mock.rspec_verify
47
- violated
48
- rescue MockExpectationError => e
49
- # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line
50
- e.backtrace[0].should match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
51
- end
52
- end
53
-
54
- it "should pass when not receiving message specified as not to be received" do
55
- @mock.should_not_receive(:not_expected)
56
- @mock.rspec_verify
57
- end
58
-
59
- it "should pass when receiving message specified as not to be received with different args" do
60
- @mock.should_not_receive(:message).with("unwanted text")
61
- @mock.should_receive(:message).with("other text")
62
- @mock.message "other text"
63
- @mock.rspec_verify
64
- end
65
-
66
- it "should fail when receiving message specified as not to be received" do
67
- @mock.should_not_receive(:not_expected)
68
- lambda {
69
- @mock.not_expected
70
- violated
71
- }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (no args) 0 times, but received it once")
72
- end
73
-
74
- it "should fail when receiving message specified as not to be received with args" do
75
- @mock.should_not_receive(:not_expected).with("unexpected text")
76
- lambda {
77
- @mock.not_expected("unexpected text")
78
- violated
79
- }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (\"unexpected text\") 0 times, but received it once")
80
- end
81
-
82
- it "should pass when receiving message specified as not to be received with wrong args" do
83
- @mock.should_not_receive(:not_expected).with("unexpected text")
84
- @mock.not_expected "really unexpected text"
85
- @mock.rspec_verify
86
- end
87
-
88
- it "should allow block to calculate return values" do
89
- @mock.should_receive(:something).with("a","b","c").and_return { |a,b,c| c+b+a }
90
- @mock.something("a","b","c").should == "cba"
91
- @mock.rspec_verify
92
- end
93
-
94
- it "should allow parameter as return value" do
95
- @mock.should_receive(:something).with("a","b","c").and_return("booh")
96
- @mock.something("a","b","c").should == "booh"
97
- @mock.rspec_verify
98
- end
99
-
100
- it "should return nil if no return value set" do
101
- @mock.should_receive(:something).with("a","b","c")
102
- @mock.something("a","b","c").should be_nil
103
- @mock.rspec_verify
104
- end
105
-
106
- it "should raise exception if args don't match when method called" do
107
- @mock.should_receive(:something).with("a","b","c").and_return("booh")
108
- lambda {
109
- @mock.something("a","d","c")
110
- violated
111
- }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
112
- end
113
-
114
- it "should raise exception if args don't match when method called even when the method is stubbed" do
115
- @mock.stub!(:something)
116
- @mock.should_receive(:something).with("a","b","c")
117
- lambda {
118
- @mock.something("a","d","c")
119
- @mock.rspec_verify
120
- }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: ([\"a\", \"d\", \"c\"])")
121
- end
122
-
123
- it "should raise exception if args don't match when method called even when using null_object" do
124
- @mock = mock("test mock", :null_object => true)
125
- @mock.should_receive(:something).with("a","b","c")
126
- lambda {
127
- @mock.something("a","d","c")
128
- @mock.rspec_verify
129
- }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: ([\"a\", \"d\", \"c\"])")
130
- end
131
-
132
- it "should fail if unexpected method called" do
133
- lambda {
134
- @mock.something("a","b","c")
135
- violated
136
- }.should raise_error(MockExpectationError, "Mock \"test mock\" received unexpected message :something with (\"a\", \"b\", \"c\")")
137
- end
138
-
139
- it "should use block for expectation if provided" do
140
- @mock.should_receive(:something) do | a, b |
141
- a.should == "a"
142
- b.should == "b"
143
- "booh"
144
- end
145
- @mock.something("a", "b").should == "booh"
146
- @mock.rspec_verify
147
- end
148
-
149
- it "should fail if expectation block fails" do
150
- @mock.should_receive(:something) {| bool | bool.should be_true}
151
- lambda {
152
- @mock.something false
153
- }.should raise_error(MockExpectationError, /Mock "test mock" received :something but passed block failed with: expected false to be true/)
154
- end
155
-
156
- it "should fail right away when method defined as never is received" do
157
- @mock.should_receive(:not_expected).never
158
- lambda {
159
- @mock.not_expected
160
- }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (no args) 0 times, but received it once")
161
- end
162
-
163
- it "should eventually fail when method defined as never is received" do
164
- @mock.should_receive(:not_expected).never
165
- lambda {
166
- @mock.not_expected
167
- }.should raise_error(MockExpectationError, "Mock \"test mock\" expected :not_expected with (no args) 0 times, but received it once")
168
- end
169
-
170
- it "should raise when told to" do
171
- @mock.should_receive(:something).and_raise(RuntimeError)
172
- lambda do
173
- @mock.something
174
- end.should raise_error(RuntimeError)
175
- end
176
-
177
- it "should raise passed an Exception instance" do
178
- error = RuntimeError.new("error message")
179
- @mock.should_receive(:something).and_raise(error)
180
- lambda {
181
- @mock.something
182
- }.should raise_error(RuntimeError, "error message")
183
- end
184
-
185
- it "should raise RuntimeError with passed message" do
186
- @mock.should_receive(:something).and_raise("error message")
187
- lambda {
188
- @mock.something
189
- }.should raise_error(RuntimeError, "error message")
190
- end
191
-
192
- it "should not raise when told to if args dont match" do
193
- @mock.should_receive(:something).with(2).and_raise(RuntimeError)
194
- lambda {
195
- @mock.something 1
196
- }.should raise_error(MockExpectationError)
197
- end
198
-
199
- it "should throw when told to" do
200
- @mock.should_receive(:something).and_throw(:blech)
201
- lambda {
202
- @mock.something
203
- }.should throw_symbol(:blech)
204
- end
205
-
206
- it "should raise when explicit return and block constrained" do
207
- lambda {
208
- @mock.should_receive(:fruit) do |colour|
209
- :strawberry
210
- end.and_return :apple
211
- }.should raise_error(AmbiguousReturnError)
212
- end
213
-
214
- it "should ignore args on any args" do
215
- @mock.should_receive(:something).at_least(:once).with(any_args)
216
- @mock.something
217
- @mock.something 1
218
- @mock.something "a", 2
219
- @mock.something [], {}, "joe", 7
220
- @mock.rspec_verify
221
- end
222
-
223
- it "should fail on no args if any args received" do
224
- @mock.should_receive(:something).with(no_args())
225
- lambda {
226
- @mock.something 1
227
- }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (no args)\n got: (1)")
228
- end
229
-
230
- it "should fail when args are expected but none are received" do
231
- @mock.should_receive(:something).with(1)
232
- lambda {
233
- @mock.something
234
- }.should raise_error(MockExpectationError, "Mock \"test mock\" received :something with unexpected arguments\n expected: (1)\n got: (no args)")
235
- end
236
-
237
- it "should return value from block by default" do
238
- @mock.stub!(:method_that_yields).and_yield
239
- @mock.method_that_yields { :returned_obj }.should == :returned_obj
240
- @mock.rspec_verify
241
- end
242
-
243
- it "should yield 0 args to blocks that take a variable number of arguments" do
244
- @mock.should_receive(:yield_back).with(no_args()).once.and_yield
245
- a = nil
246
- @mock.yield_back {|*x| a = x}
247
- a.should == []
248
- @mock.rspec_verify
249
- end
250
-
251
- it "should yield 0 args multiple times to blocks that take a variable number of arguments" do
252
- @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield.
253
- and_yield
254
- a = nil
255
- b = []
256
- @mock.yield_back {|*a| b << a}
257
- b.should == [ [], [] ]
258
- @mock.rspec_verify
259
- end
260
-
261
- it "should yield one arg to blocks that take a variable number of arguments" do
262
- @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99)
263
- a = nil
264
- @mock.yield_back {|*x| a = x}
265
- a.should == [99]
266
- @mock.rspec_verify
267
- end
268
-
269
- it "should yield one arg 3 times consecutively to blocks that take a variable number of arguments" do
270
- @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99).
271
- and_yield(43).
272
- and_yield("something fruity")
273
- a = nil
274
- b = []
275
- @mock.yield_back {|*a| b << a}
276
- b.should == [[99], [43], ["something fruity"]]
277
- @mock.rspec_verify
278
- end
279
-
280
- it "should yield many args to blocks that take a variable number of arguments" do
281
- @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99, 27, "go")
282
- a = nil
283
- @mock.yield_back {|*x| a = x}
284
- a.should == [99, 27, "go"]
285
- @mock.rspec_verify
286
- end
287
-
288
- it "should yield many args 3 times consecutively to blocks that take a variable number of arguments" do
289
- @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99, :green, "go").
290
- and_yield("wait", :amber).
291
- and_yield("stop", 12, :red)
292
- a = nil
293
- b = []
294
- @mock.yield_back {|*a| b << a}
295
- b.should == [[99, :green, "go"], ["wait", :amber], ["stop", 12, :red]]
296
- @mock.rspec_verify
297
- end
298
-
299
- it "should yield single value" do
300
- @mock.should_receive(:yield_back).with(no_args()).once.and_yield(99)
301
- a = nil
302
- @mock.yield_back {|x| a = x}
303
- a.should == 99
304
- @mock.rspec_verify
305
- end
306
-
307
- it "should yield single value 3 times consecutively" do
308
- @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99).
309
- and_yield(43).
310
- and_yield("something fruity")
311
- a = nil
312
- b = []
313
- @mock.yield_back {|a| b << a}
314
- b.should == [99, 43, "something fruity"]
315
- @mock.rspec_verify
316
- end
317
-
318
- it "should yield two values" do
319
- @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
320
- a, b = nil
321
- @mock.yield_back {|x,y| a=x; b=y}
322
- a.should == 'wha'
323
- b.should == 'zup'
324
- @mock.rspec_verify
325
- end
326
-
327
- it "should yield two values 3 times consecutively" do
328
- @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup').
329
- and_yield('not', 'down').
330
- and_yield(14, 65)
331
- a, b = nil
332
- c = []
333
- @mock.yield_back {|a,b| c << [a, b]}
334
- c.should == [['wha', 'zup'], ['not', 'down'], [14, 65]]
335
- @mock.rspec_verify
336
- end
337
-
338
- it "should fail when calling yielding method with wrong arity" do
339
- @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
340
- lambda {
341
- @mock.yield_back {|a|}
342
- }.should raise_error(MockExpectationError, "Mock \"test mock\" yielded |\"wha\", \"zup\"| to block with arity of 1")
343
- end
344
-
345
- it "should fail when calling yielding method consecutively with wrong arity" do
346
- @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup').
347
- and_yield('down').
348
- and_yield(14, 65)
349
- lambda {
350
- a, b = nil
351
- c = []
352
- @mock.yield_back {|a,b| c << [a, b]}
353
- }.should raise_error(MockExpectationError, "Mock \"test mock\" yielded |\"down\"| to block with arity of 2")
354
- end
355
-
356
- it "should fail when calling yielding method without block" do
357
- @mock.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
358
- lambda {
359
- @mock.yield_back
360
- }.should raise_error(MockExpectationError, "Mock \"test mock\" asked to yield |[\"wha\", \"zup\"]| but no block was passed")
361
- end
362
-
363
- it "should be able to mock send" do
364
- @mock.should_receive(:send).with(any_args)
365
- @mock.send 'hi'
366
- @mock.rspec_verify
367
- end
368
-
369
- it "should be able to raise from method calling yielding mock" do
370
- @mock.should_receive(:yield_me).and_yield 44
371
-
372
- lambda {
373
- @mock.yield_me do |x|
374
- raise "Bang"
375
- end
376
- }.should raise_error(StandardError, "Bang")
377
-
378
- @mock.rspec_verify
379
- end
380
-
381
- it "should clear expectations after verify" do
382
- @mock.should_receive(:foobar)
383
- @mock.foobar
384
- @mock.rspec_verify
385
- lambda {
386
- @mock.foobar
387
- }.should raise_error(MockExpectationError, "Mock \"test mock\" received unexpected message :foobar with (no args)")
388
- end
389
-
390
- it "should restore objects to their original state on rspec_reset" do
391
- mock = mock("this is a mock")
392
- mock.should_receive(:blah)
393
- mock.rspec_reset
394
- mock.rspec_verify #should throw if reset didn't work
395
- end
396
-
397
- it "should work even after method_missing starts raising NameErrors instead of NoMethodErrors" do
398
- # Object#method_missing throws either NameErrors or NoMethodErrors.
399
- #
400
- # On a fresh ruby program Object#method_missing:
401
- # * raises a NoMethodError when called directly
402
- # * raises a NameError when called indirectly
403
- #
404
- # Once Object#method_missing has been called at least once (on any object)
405
- # it starts behaving differently:
406
- # * raises a NameError when called directly
407
- # * raises a NameError when called indirectly
408
- #
409
- # There was a bug in Mock#method_missing that relied on the fact
410
- # that calling Object#method_missing directly raises a NoMethodError.
411
- # This example tests that the bug doesn't exist anymore.
412
-
413
-
414
- # Ensures that method_missing always raises NameErrors.
415
- a_method_that_doesnt_exist rescue
416
-
417
-
418
- @mock.should_receive(:foobar)
419
- @mock.foobar
420
- @mock.rspec_verify
421
-
422
- lambda { @mock.foobar }.should_not raise_error(NameError)
423
- lambda { @mock.foobar }.should raise_error(MockExpectationError)
424
- end
425
-
426
- it "should temporarily replace a method stub on a mock" do
427
- @mock.stub!(:msg).and_return(:stub_value)
428
- @mock.should_receive(:msg).with(:arg).and_return(:mock_value)
429
- @mock.msg(:arg).should equal(:mock_value)
430
- @mock.msg.should equal(:stub_value)
431
- @mock.msg.should equal(:stub_value)
432
- @mock.rspec_verify
433
- end
434
-
435
- it "should not require a different signature to replace a method stub" do
436
- @mock.stub!(:msg).and_return(:stub_value)
437
- @mock.should_receive(:msg).and_return(:mock_value)
438
- @mock.msg(:arg).should equal(:mock_value)
439
- @mock.msg.should equal(:stub_value)
440
- @mock.msg.should equal(:stub_value)
441
- @mock.rspec_verify
442
- end
443
-
444
- it "should raise an error when a previously stubbed method has a negative expectation" do
445
- @mock.stub!(:msg).and_return(:stub_value)
446
- @mock.should_not_receive(:msg).and_return(:mock_value)
447
- lambda {@mock.msg(:arg)}.should raise_error(MockExpectationError)
448
- end
449
-
450
- it "should temporarily replace a method stub on a non-mock" do
451
- non_mock = Object.new
452
- non_mock.stub!(:msg).and_return(:stub_value)
453
- non_mock.should_receive(:msg).with(:arg).and_return(:mock_value)
454
- non_mock.msg(:arg).should equal(:mock_value)
455
- non_mock.msg.should equal(:stub_value)
456
- non_mock.msg.should equal(:stub_value)
457
- non_mock.rspec_verify
458
- end
459
-
460
- it "should return the stubbed value when no new value specified" do
461
- @mock.stub!(:msg).and_return(:stub_value)
462
- @mock.should_receive(:msg)
463
- @mock.msg.should equal(:stub_value)
464
- @mock.rspec_verify
465
- end
466
-
467
- it "should return the stubbed value when stubbed with args and no new value specified" do
468
- @mock.stub!(:msg).with(:arg).and_return(:stub_value)
469
- @mock.should_receive(:msg).with(:arg)
470
- @mock.msg(:arg).should equal(:stub_value)
471
- @mock.rspec_verify
472
- end
473
-
474
- it "should not mess with the stub's yielded values when also mocked" do
475
- @mock.stub!(:yield_back).and_yield(:stub_value)
476
- @mock.should_receive(:yield_back).and_yield(:mock_value)
477
- @mock.yield_back{|v| v.should == :mock_value }
478
- @mock.yield_back{|v| v.should == :stub_value }
479
- @mock.rspec_verify
480
- end
481
-
482
- it "should yield multiple values after a similar stub" do
483
- File.stub!(:open).and_yield(:stub_value)
484
- File.should_receive(:open).and_yield(:first_call).and_yield(:second_call)
485
- yielded_args = []
486
- File.open {|v| yielded_args << v }
487
- yielded_args.should == [:first_call, :second_call]
488
- File.open {|v| v.should == :stub_value }
489
- File.rspec_verify
490
- end
491
-
492
- it "should assign stub return values" do
493
- mock = Mock.new('name', :message => :response)
494
- mock.message.should == :response
495
- end
496
-
497
- end
498
-
499
- describe "a mock message receiving a block" do
500
- before(:each) do
501
- @mock = mock("mock")
502
- @calls = 0
503
- end
504
-
505
- def add_call
506
- @calls = @calls + 1
507
- end
508
-
509
- it "should call the block after #should_receive" do
510
- @mock.should_receive(:foo) { add_call }
511
-
512
- @mock.foo
513
-
514
- @calls.should == 1
515
- end
516
-
517
- it "should call the block after #should_receive after a similar stub" do
518
- @mock.stub!(:foo).and_return(:bar)
519
- @mock.should_receive(:foo) { add_call }
520
-
521
- @mock.foo
522
-
523
- @calls.should == 1
524
- end
525
-
526
- it "should call the block after #once" do
527
- @mock.should_receive(:foo).once { add_call }
528
-
529
- @mock.foo
530
-
531
- @calls.should == 1
532
- end
533
-
534
- it "should call the block after #twice" do
535
- @mock.should_receive(:foo).twice { add_call }
536
-
537
- @mock.foo
538
- @mock.foo
539
-
540
- @calls.should == 2
541
- end
542
-
543
- it "should call the block after #times" do
544
- @mock.should_receive(:foo).exactly(10).times { add_call }
545
-
546
- (1..10).each { @mock.foo }
547
-
548
- @calls.should == 10
549
- end
550
-
551
- it "should call the block after #any_number_of_times" do
552
- @mock.should_receive(:foo).any_number_of_times { add_call }
553
-
554
- (1..7).each { @mock.foo }
555
-
556
- @calls.should == 7
557
- end
558
-
559
- it "should call the block after #ordered" do
560
- @mock.should_receive(:foo).ordered { add_call }
561
- @mock.should_receive(:bar).ordered { add_call }
562
-
563
- @mock.foo
564
- @mock.bar
565
-
566
- @calls.should == 2
567
- end
568
- end
569
-
570
- describe 'string representation generated by #to_s' do
571
- it 'should not contain < because that might lead to invalid HTML in some situations' do
572
- mock = mock("Dog")
573
- valid_html_str = "#{mock}"
574
- valid_html_str.should_not include('<')
575
- end
576
- end
577
-
578
- describe "mock created with no name" do
579
- it "should not use a name in a failure message" do
580
- mock = mock()
581
- expect {mock.foo}.to raise_error(/Mock received/)
582
- end
583
-
584
- it "should respond to initially stubbed methods" do
585
- mock = mock(:foo => "woo", :bar => "car")
586
- mock.foo.should == "woo"
587
- mock.bar.should == "car"
588
- end
589
- end
590
-
591
- describe "==" do
592
- it "sends '== self' to the comparison object" do
593
- first = mock('first')
594
- second = mock('second')
595
-
596
- first.should_receive(:==).with(second)
597
- second == first
598
- end
599
- end
600
- end
601
- end