rspec 1.3.2 → 2.0.0.a2

Sign up to get free protection for your applications and to get access to all the features.
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,107 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spec
4
- module Example
5
- describe ExampleGroupProxy do
6
- before(:each) do
7
- @group = stub("example group",:nested_descriptions => []).as_null_object
8
- end
9
-
10
- attr_reader :group
11
- def proxy
12
- @proxy ||= ExampleGroupProxy.new(@group)
13
- end
14
-
15
- describe "#description" do
16
- it "provides the example group's description" do
17
- group.stub!(:description => "the description")
18
- proxy.description.should == "the description"
19
- end
20
- end
21
-
22
- describe "#nested_descriptions" do
23
- it "provides the example group's nested_descriptions" do
24
- group.stub!(:nested_descriptions => ["the description"])
25
- proxy.nested_descriptions.should == ["the description"]
26
- end
27
- end
28
-
29
- describe "#filtered_description (DEPRECATED)" do
30
- before(:each) do
31
- Spec.stub!(:deprecate)
32
- end
33
-
34
- it "is deprecated" do
35
- Spec.should_receive(:deprecate)
36
- proxy.filtered_description(/(ignore)/)
37
- end
38
-
39
- it "builds the description from the group's nested_descriptions" do
40
- group.stub!(:nested_descriptions => ["ignore","the","description"])
41
- proxy.filtered_description(/(ignore)/).should == "the description"
42
- end
43
-
44
- it "filters out description parts that match the supplied regexp" do
45
- group.stub!(:nested_descriptions => ["ignore the","description"])
46
- proxy.filtered_description(/(ignore )/).should == "the description"
47
- end
48
- end
49
-
50
- describe "#examples" do
51
- it "provides a collection of example group proxies" do
52
- group.stub!(:example_proxies => ["array","of","proxies"])
53
- proxy.examples.should == ["array","of","proxies"]
54
- end
55
- end
56
-
57
- describe "#backtrace (deprecated - use #location)" do
58
- before(:each) do
59
- Spec.stub!(:deprecate)
60
- end
61
-
62
- it "provides the location of the declaration of this group" do
63
- group.stub!(:location => "path/to/location:37")
64
- proxy.backtrace.should == "path/to/location:37"
65
- end
66
-
67
- it "warns deprecation" do
68
- Spec.should_receive(:deprecate)
69
- group.stub!(:location => "path/to/location:37")
70
- proxy.backtrace
71
- end
72
- end
73
-
74
- describe "#location" do
75
- it "provides the location of the declaration of this group" do
76
- group.stub!(:location => "path/to/location:37")
77
- proxy.location.should == "path/to/location:37"
78
- end
79
- end
80
-
81
- describe "#options" do
82
- it "provides the options passed to the example group declaration" do
83
- group.stub!(:options => {:a => 'b'})
84
- proxy.options.should == {:a => 'b'}
85
- end
86
-
87
- it "excludes :location" do
88
- group.stub!(:options => {:location => 'b'})
89
- proxy.options.should == {}
90
- end
91
-
92
- it "excludes :scope" do
93
- group.stub!(:options => {:scope => 'b'})
94
- proxy.options.should == {}
95
- end
96
-
97
- it "preserves the original hash" do
98
- hash = {:a => 'b', :location => 'here', :scope => 'tiny'}
99
- group.stub!(:options => hash)
100
- proxy.options.should == {:a => 'b'}
101
- hash.should == {:a => 'b', :location => 'here', :scope => 'tiny'}
102
- end
103
- end
104
-
105
- end
106
- end
107
- end
@@ -1,632 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spec
4
- module Example
5
- class ExampleModuleScopingSpec < ExampleGroup
6
- describe ExampleGroup, "via a class definition"
7
-
8
- module Foo
9
- module Bar
10
- def self.loaded?; true; end
11
- end
12
- end
13
- include Foo
14
-
15
- it "should understand module scoping" do
16
- Bar.should be_loaded
17
- end
18
-
19
- @@class_variable = "a class variable"
20
-
21
- it "can access class variables in examples in Ruby 1.8" do
22
- @@class_variable.should == "a class variable"
23
- end
24
-
25
- end
26
-
27
- class ExampleClassVariablePollutionSpec < ExampleGroup
28
- describe ExampleGroup, "via a class definition without a class variable"
29
-
30
- it "should not retain class variables from other Example classes" do
31
- proc do
32
- @@class_variable
33
- end.should raise_error
34
- end
35
- end
36
-
37
- describe ExampleGroup, "#pending" do
38
- it "should raise a Pending error when its block fails" do
39
- block_ran = false
40
- lambda {
41
- pending("something") do
42
- block_ran = true
43
- raise "something wrong with my example"
44
- end
45
- }.should raise_error(Spec::Example::ExamplePendingError, "something")
46
- block_ran.should == true
47
- end
48
-
49
- it "should raise Spec::Example::PendingExampleFixedError when its block does not fail" do
50
- block_ran = false
51
- lambda {
52
- pending("something") do
53
- block_ran = true
54
- end
55
- }.should raise_error(Spec::Example::PendingExampleFixedError, "Expected pending 'something' to fail. No Error was raised.")
56
- block_ran.should == true
57
- end
58
- end
59
-
60
- describe ExampleGroup, "#run with failure in example", :shared => true do
61
- it "should add an example failure to the TestResult" do
62
- example_group.run(options).should be_false
63
- end
64
- end
65
-
66
- describe ExampleGroup, "#run" do
67
- with_sandboxed_options do
68
- attr_reader :example_group, :formatter, :reporter
69
- before :each do
70
- method_with_three_args = lambda { |arg1, arg2, arg3| }
71
- @formatter = mock("formatter", :null_object => true, :example_pending => method_with_three_args)
72
- options.formatters << formatter
73
- options.backtrace_tweaker = mock("backtrace_tweaker", :null_object => true)
74
- @reporter = FakeReporter.new(options)
75
- options.reporter = reporter
76
- @example_group = Class.new(ExampleGroupDouble) do
77
- describe("example")
78
- it "does nothing" do
79
- end
80
- end
81
- class << example_group
82
- public :include
83
- end
84
- end
85
-
86
- after :each do
87
- ExampleGroup.reset
88
- end
89
-
90
- it "should not run when there are no examples" do
91
- example_group = Class.new(ExampleGroupDouble) do
92
- describe("Foobar")
93
- end
94
- example_group.examples.should be_empty
95
-
96
- reporter = mock("Reporter")
97
- reporter.should_not_receive(:add_example_group)
98
- example_group.run(options)
99
- end
100
-
101
- it "should report the start of an example run" do
102
- reporter.should_receive(:example_started) do |example|
103
- example.should equal(example_group.examples[0])
104
- end
105
- example_group.run(options)
106
- end
107
-
108
- it "should report the end of an example run" do
109
- reporter.should_receive(:example_finished) do |example, execution_error|
110
- example.should equal(example_group.examples[0])
111
- execution_error.should be_nil
112
- end
113
- example_group.run(options)
114
- end
115
-
116
- describe "when before_each fails" do
117
- before(:each) do
118
- $example_ran = $after_each_ran = false
119
- @example_group = describe("Foobar") do
120
- before(:each) {raise}
121
- it "should not be run" do
122
- $example_ran = true
123
- end
124
- after(:each) do
125
- $after_each_ran = true
126
- end
127
- end
128
- end
129
-
130
- it "should not run example block" do
131
- example_group.run(options)
132
- $example_ran.should be_false
133
- end
134
-
135
- it "should run after_each" do
136
- example_group.run(options)
137
- $after_each_ran.should be_true
138
- end
139
-
140
- it "should report failure location when in before_each" do
141
- reporter.should_receive(:example_finished) do |example_group, error|
142
- error.message.should eql("in before_each")
143
- end
144
- example_group.run(options)
145
- end
146
- end
147
-
148
- describe ExampleGroup, "#run on dry run" do
149
- before do
150
- @options.dry_run = true
151
- end
152
-
153
- it "should not run before(:all) or after(:all)" do
154
- before_all_ran = false
155
- after_all_ran = false
156
- ExampleGroup.before(:all) { before_all_ran = true }
157
- ExampleGroup.after(:all) { after_all_ran = true }
158
- example_group.it("should") {}
159
- example_group.run(options)
160
- before_all_ran.should be_false
161
- after_all_ran.should be_false
162
- end
163
-
164
- it "should not run example" do
165
- example_ran = false
166
- example_group.it("should") {example_ran = true}
167
- example_group.run(options)
168
- example_ran.should be_false
169
- end
170
- end
171
-
172
- describe ExampleGroup, "#run with specified examples" do
173
- attr_reader :examples_that_were_run
174
- before do
175
- @examples_that_were_run = []
176
- end
177
-
178
- describe "when specified_examples matches entire ExampleGroup" do
179
- before do
180
- examples_that_were_run = @examples_that_were_run
181
- @example_group = Class.new(ExampleGroupDouble) do
182
- describe("the ExampleGroup")
183
- it("should be run") do
184
- examples_that_were_run << 'should be run'
185
- end
186
-
187
- it("should also be run") do
188
- examples_that_were_run << 'should also be run'
189
- end
190
- end
191
- options.parse_example "the ExampleGroup"
192
- end
193
-
194
- it "should not run the Examples in the ExampleGroup" do
195
- example_group.run(options)
196
- examples_that_were_run.should == ['should be run', 'should also be run']
197
- end
198
- end
199
-
200
- describe ExampleGroup, "#run when specified_examples matches only Example description" do
201
- before do
202
- examples_that_were_run = @examples_that_were_run
203
- @example_group = Class.new(ExampleGroupDouble) do
204
- describe("example")
205
- it("should be run") do
206
- examples_that_were_run << 'should be run'
207
- end
208
- end
209
- options.parse_example "should be run"
210
- end
211
-
212
- it "should not run the example" do
213
- example_group.run(options)
214
- examples_that_were_run.should == ['should be run']
215
- end
216
- end
217
-
218
- describe ExampleGroup, "#run when specified_examples does not match an Example description" do
219
- before do
220
- examples_that_were_run = @examples_that_were_run
221
- @example_group = Class.new(ExampleGroupDouble) do
222
- describe("example")
223
- it("should be something else") do
224
- examples_that_were_run << 'should be something else'
225
- end
226
- end
227
- options.parse_example "does not match anything"
228
- end
229
-
230
- it "should not run the example" do
231
- example_group.run(options)
232
- examples_that_were_run.should == []
233
- end
234
- end
235
-
236
- describe ExampleGroup, "#run when specified_examples matches an Example description" do
237
- before do
238
- examples_that_were_run = @examples_that_were_run
239
- @example_group = Class.new(ExampleGroupDouble) do
240
- describe("example")
241
- it("should be run") do
242
- examples_that_were_run << 'should be run'
243
- end
244
- it("should not be run") do
245
- examples_that_were_run << 'should not be run'
246
- end
247
- end
248
- options.parse_example "should be run"
249
- end
250
-
251
- it "should run only the example" do
252
- example_group.run(options)
253
- examples_that_were_run.should == ["should be run"]
254
- end
255
- end
256
- end
257
-
258
- describe ExampleGroup, "#run with success" do
259
- before do
260
- @special_example_group = Class.new(ExampleGroupDouble)
261
- ExampleGroupFactory.register(:special, @special_example_group)
262
- @not_special_example_group = Class.new(ExampleGroupDouble)
263
- ExampleGroupFactory.register(:not_special, @not_special_example_group)
264
- end
265
-
266
- after do
267
- ExampleGroupFactory.reset
268
- end
269
-
270
- it "should send reporter example_group_started" do
271
- reporter.should_receive(:example_group_started)
272
- example_group.run(options)
273
- end
274
-
275
- it "should run example on run" do
276
- example_ran = false
277
- example_group.it("should") {example_ran = true}
278
- example_group.run(options)
279
- example_ran.should be_true
280
- end
281
-
282
- it "should run before(:all) block only once" do
283
- before_all_run_count_run_count = 0
284
- example_group.before(:all) {before_all_run_count_run_count += 1}
285
- example_group.it("test") {true}
286
- example_group.it("test2") {true}
287
- example_group.run(options)
288
- before_all_run_count_run_count.should == 1
289
- end
290
-
291
- it "should run after(:all) block only once" do
292
- after_all_run_count = 0
293
- example_group.after(:all) {after_all_run_count += 1}
294
- example_group.it("test") {true}
295
- example_group.it("test2") {true}
296
- example_group.run(options)
297
- after_all_run_count.should == 1
298
- @reporter.rspec_verify
299
- end
300
-
301
- it "after(:all) should have access to all instance variables defined in before(:all)" do
302
- context_instance_value_in = "Hello there"
303
- context_instance_value_out = ""
304
- example_group.before(:all) { @instance_var = context_instance_value_in }
305
- example_group.after(:all) { context_instance_value_out = @instance_var }
306
- example_group.it("test") {true}
307
- example_group.run(options)
308
- context_instance_value_in.should == context_instance_value_out
309
- end
310
-
311
- it "should copy instance variables from before(:all)'s execution context into spec's execution context" do
312
- context_instance_value_in = "Hello there"
313
- context_instance_value_out = ""
314
- example_group.before(:all) { @instance_var = context_instance_value_in }
315
- example_group.it("test") {context_instance_value_out = @instance_var}
316
- example_group.run(options)
317
- context_instance_value_in.should == context_instance_value_out
318
- end
319
-
320
- it "should not add global before callbacks for untargetted example_group" do
321
- fiddle = []
322
-
323
- ExampleGroup.before(:all) { fiddle << "Example.before(:all)" }
324
- ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" }
325
- @special_example_group.before(:each) { fiddle << "Example.before(:each, :type => :special)" }
326
- @special_example_group.prepend_before(:each) { fiddle << "Example.prepend_before(:each, :type => :special)" }
327
- @special_example_group.before(:all) { fiddle << "Example.before(:all, :type => :special)" }
328
- @special_example_group.prepend_before(:all) { fiddle << "Example.prepend_before(:all, :type => :special)" }
329
-
330
- example_group = Class.new(ExampleGroupDouble) do
331
- describe("I'm not special", :type => :not_special)
332
- it "does nothing"
333
- end
334
- example_group.run(options)
335
- fiddle.should == [
336
- 'Example.prepend_before(:all)',
337
- 'Example.before(:all)',
338
- ]
339
- end
340
-
341
- it "should add global before callbacks for targetted example_groups" do
342
- fiddle = []
343
-
344
- ExampleGroup.before(:all) { fiddle << "Example.before(:all)" }
345
- ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" }
346
- @special_example_group.before(:each) { fiddle << "special.before(:each, :type => :special)" }
347
- @special_example_group.prepend_before(:each) { fiddle << "special.prepend_before(:each, :type => :special)" }
348
- @special_example_group.before(:all) { fiddle << "special.before(:all, :type => :special)" }
349
- @special_example_group.prepend_before(:all) { fiddle << "special.prepend_before(:all, :type => :special)" }
350
- @special_example_group.append_before(:each) { fiddle << "special.append_before(:each, :type => :special)" }
351
-
352
- example_group = Class.new(@special_example_group).describe("I'm a special example_group") {}
353
- example_group.it("test") {true}
354
- example_group.run(options)
355
- fiddle.should == [
356
- 'Example.prepend_before(:all)',
357
- 'Example.before(:all)',
358
- 'special.prepend_before(:all, :type => :special)',
359
- 'special.before(:all, :type => :special)',
360
- 'special.prepend_before(:each, :type => :special)',
361
- 'special.before(:each, :type => :special)',
362
- 'special.append_before(:each, :type => :special)',
363
- ]
364
- end
365
-
366
- it "should order before callbacks from global to local" do
367
- fiddle = []
368
- ExampleGroup.prepend_before(:all) { fiddle << "Example.prepend_before(:all)" }
369
- ExampleGroup.before(:all) { fiddle << "Example.before(:all)" }
370
- example_group.prepend_before(:all) { fiddle << "prepend_before(:all)" }
371
- example_group.before(:all) { fiddle << "before(:all)" }
372
- example_group.prepend_before(:each) { fiddle << "prepend_before(:each)" }
373
- example_group.before(:each) { fiddle << "before(:each)" }
374
- example_group.run(options)
375
- fiddle.should == [
376
- 'Example.prepend_before(:all)',
377
- 'Example.before(:all)',
378
- 'prepend_before(:all)',
379
- 'before(:all)',
380
- 'prepend_before(:each)',
381
- 'before(:each)'
382
- ]
383
- end
384
-
385
- it "should order after callbacks from local to global" do
386
- fiddle = []
387
- example_group.after(:each) { fiddle << "after(:each)" }
388
- example_group.append_after(:each) { fiddle << "append_after(:each)" }
389
- example_group.after(:all) { fiddle << "after(:all)" }
390
- example_group.append_after(:all) { fiddle << "append_after(:all)" }
391
- ExampleGroup.after(:all) { fiddle << "Example.after(:all)" }
392
- ExampleGroup.append_after(:all) { fiddle << "Example.append_after(:all)" }
393
- example_group.run(options)
394
- fiddle.should == [
395
- 'after(:each)',
396
- 'append_after(:each)',
397
- 'after(:all)',
398
- 'append_after(:all)',
399
- 'Example.after(:all)',
400
- 'Example.append_after(:all)'
401
- ]
402
- end
403
-
404
- it "should have accessible instance methods from included module" do
405
- mod1_method_called = false
406
- mod1 = Module.new do
407
- define_method :mod1_method do
408
- mod1_method_called = true
409
- end
410
- end
411
-
412
- mod2_method_called = false
413
- mod2 = Module.new do
414
- define_method :mod2_method do
415
- mod2_method_called = true
416
- end
417
- end
418
-
419
- example_group.include mod1, mod2
420
-
421
- example_group.it("test") do
422
- mod1_method
423
- mod2_method
424
- end
425
- example_group.run(options)
426
- mod1_method_called.should be_true
427
- mod2_method_called.should be_true
428
- end
429
-
430
- it "should include targetted modules included using configuration" do
431
- mod1 = Module.new
432
- mod2 = Module.new
433
- mod3 = Module.new
434
- Spec::Runner.configuration.include(mod1, mod2)
435
- Spec::Runner.configuration.include(mod3, :type => :not_special)
436
-
437
- example_group = Class.new(@special_example_group).describe("I'm special", :type => :special) do
438
- it "does nothing"
439
- end
440
- example_group.run(options)
441
-
442
- example_group.included_modules.should include(mod1)
443
- example_group.included_modules.should include(mod2)
444
- example_group.included_modules.should_not include(mod3)
445
- end
446
-
447
- end
448
-
449
- describe ExampleGroup, "#run with pending example that has a failing assertion" do
450
- before do
451
- example_group.it("should be pending") do
452
- pending("Example fails") {false.should be_true}
453
- end
454
- end
455
-
456
- it "should send example_pending to formatter" do
457
- @formatter.should_receive(:example_pending).with("example", "should be pending", "Example fails")
458
- example_group.run(options)
459
- end
460
- end
461
-
462
- describe ExampleGroup, "#run with pending example that does not have a failing assertion" do
463
- it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
464
-
465
- before do
466
- example_group.it("should be pending") do
467
- pending("Example passes") {true.should be_true}
468
- end
469
- end
470
-
471
- it "should send example_pending to formatter" do
472
- @formatter.should_receive(:example_pending).with("example", "should be pending", "Example passes")
473
- example_group.run(options)
474
- end
475
- end
476
-
477
- describe ExampleGroup, "#run when before(:all) fails" do
478
- it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
479
-
480
- before do
481
- ExampleGroup.before(:all) { raise NonStandardError, "before(:all) failure" }
482
- end
483
-
484
- it "should not run any example" do
485
- spec_ran = false
486
- example_group.it("test") {spec_ran = true}
487
- example_group.run(options)
488
- spec_ran.should be_false
489
- end
490
-
491
- it "should run ExampleGroup after(:all)" do
492
- after_all_ran = false
493
- ExampleGroup.after(:all) { after_all_ran = true }
494
- example_group.run(options)
495
- after_all_ran.should be_true
496
- end
497
-
498
- it "should run example_group after(:all)" do
499
- after_all_ran = false
500
- example_group.after(:all) { after_all_ran = true }
501
- example_group.run(options)
502
- after_all_ran.should be_true
503
- end
504
-
505
- it "should supply before(:all) as description" do
506
- @reporter.should_receive(:example_failed) do |example, error|
507
- example.description.should eql("before(:all)")
508
- error.message.should eql("before(:all) failure")
509
- end
510
-
511
- example_group.it("test") {true}
512
- example_group.run(options)
513
- end
514
- end
515
-
516
- describe ExampleGroup, "#run when before(:each) fails" do
517
- it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
518
-
519
- before do
520
- ExampleGroup.before(:each) { raise NonStandardError }
521
- end
522
-
523
- it "should run after(:all)" do
524
- after_all_ran = false
525
- ExampleGroup.after(:all) { after_all_ran = true }
526
- example_group.run(options)
527
- after_all_ran.should be_true
528
- end
529
- end
530
-
531
- describe ExampleGroup, "#run when any example fails" do
532
- it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
533
-
534
- before do
535
- example_group.it("should") { raise NonStandardError }
536
- end
537
-
538
- it "should run after(:all)" do
539
- after_all_ran = false
540
- ExampleGroup.after(:all) { after_all_ran = true }
541
- example_group.run(options)
542
- after_all_ran.should be_true
543
- end
544
- end
545
-
546
- describe ExampleGroup, "#run when first after(:each) block fails" do
547
- it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
548
-
549
- before do
550
- class << example_group
551
- attr_accessor :first_after_ran, :second_after_ran
552
- end
553
- example_group.first_after_ran = false
554
- example_group.second_after_ran = false
555
-
556
- example_group.after(:each) do
557
- self.class.second_after_ran = true
558
- end
559
- example_group.after(:each) do
560
- self.class.first_after_ran = true
561
- raise "first"
562
- end
563
- end
564
-
565
- it "should run second after(:each) block" do
566
- reporter.should_receive(:example_finished) do |example, error|
567
- example.should equal(example)
568
- error.message.should eql("first")
569
- end
570
- example_group.run(options)
571
- example_group.first_after_ran.should be_true
572
- example_group.second_after_ran.should be_true
573
- end
574
- end
575
-
576
- describe ExampleGroup, "#run when first before(:each) block fails" do
577
- it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
578
-
579
- before do
580
- class << example_group
581
- attr_accessor :first_before_ran, :second_before_ran
582
- end
583
- example_group.first_before_ran = false
584
- example_group.second_before_ran = false
585
-
586
- example_group.before(:each) do
587
- self.class.first_before_ran = true
588
- raise "first"
589
- end
590
- example_group.before(:each) do
591
- self.class.second_before_ran = true
592
- end
593
- end
594
-
595
- it "should not run second before(:each)" do
596
- reporter.should_receive(:example_finished) do |name, error|
597
- error.message.should eql("first")
598
- end
599
- example_group.run(options)
600
- example_group.first_before_ran.should be_true
601
- example_group.second_before_ran.should be_false
602
- end
603
- end
604
-
605
- describe ExampleGroup, "#run when failure in after(:all)" do
606
- it_should_behave_like "Spec::Example::ExampleGroup#run with failure in example"
607
-
608
- before do
609
- ExampleGroup.after(:all) { raise NonStandardError, "in after(:all)" }
610
- end
611
-
612
- it "should return false" do
613
- example_group.run(options).should be_false
614
- end
615
- end
616
- end
617
- end
618
-
619
- describe ExampleGroup, "subclasses" do
620
- it "should have access to the described_type" do
621
- example_group = Class.new(ExampleGroupDouble).describe(Array)
622
- example_group.__send__(:described_type).should == Array
623
- end
624
-
625
- it "should concat descriptions when nested" do
626
- example_group = Class.new(ExampleGroupDouble).describe(Array)
627
- nested_group = example_group.describe("when empty") do; end
628
- nested_group.description.to_s.should == "Array when empty"
629
- end
630
- end
631
- end
632
- end