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,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