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,551 +0,0 @@
1
- require 'spec_helper'
2
- require 'spec/runner/resources/custom_example_group_runner'
3
- require 'fakefs/spec_helpers'
4
-
5
- describe "OptionParser" do
6
- before(:each) do
7
- @out = StringIO.new
8
- @err = StringIO.new
9
- @parser = Spec::Runner::OptionParser.new(@err, @out)
10
- end
11
-
12
- def parse(args)
13
- @parser.parse(args)
14
- @parser.options
15
- end
16
-
17
- describe "with fakefs" do
18
- include FakeFS::SpecHelpers
19
-
20
- it "should not use colour by default" do
21
- options = parse([])
22
- options.colour.should == false
23
- end
24
-
25
- it "should use progress bar formatter by default" do
26
- options = parse([])
27
- options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter)
28
- end
29
- end
30
-
31
- it "should leave the submitted argv alone" do
32
- args = ["--pattern", "foo"]
33
- @parser.order!(args)
34
- args.should == ["--pattern", "foo"]
35
- end
36
-
37
- it "should accept files to include" do
38
- options = parse(["--pattern", "foo"])
39
- options.filename_pattern.should == "foo"
40
- end
41
-
42
- it "should accept debugger option" do
43
- options = parse(["--debugger"])
44
- options.debug.should be_true
45
- end
46
-
47
- it "should accept -u form of debugger option" do
48
- options = parse(["-u"])
49
- options.debug.should be_true
50
- end
51
-
52
- it "should turn off the debugger option if drb is specified later" do
53
- @parser.stub!(:parse_drb).with(no_args).and_return(true)
54
- options = parse(["-u", "--drb"])
55
- options.debug.should be_false
56
- end
57
-
58
- it "should turn off the debugger option if drb is specified first" do
59
- @parser.stub!(:parse_drb).with(no_args).and_return(true)
60
- options = parse(["--drb", "-u"])
61
- options.debug.should be_false
62
- end
63
-
64
- it "should accept port option" do
65
- options = parse(["--port", "9000"])
66
- options.drb_port.should == 9000
67
- end
68
-
69
- it 'should require argument to port option' do
70
- lambda { parse(["--port"]) }.should raise_error(OptionParser::MissingArgument)
71
- end
72
-
73
- it "should accept dry run option" do
74
- options = parse(["--dry-run"])
75
- options.dry_run.should be_true
76
- end
77
-
78
- it "should eval and use custom formatter when none of the builtins" do
79
- options = parse(["--format", "Custom::Formatter"])
80
- options.formatters[0].class.should be(Custom::Formatter)
81
- end
82
-
83
- it "should support formatters with relative and absolute paths, even on windows" do
84
- options = parse([
85
- "--format", "Custom::Formatter:C:\\foo\\bar",
86
- "--format", "Custom::Formatter:foo/bar",
87
- "--format", "Custom::Formatter:foo\\bar",
88
- "--format", "Custom::Formatter:/foo/bar"
89
- ])
90
- options.formatters[0].where.should eql("C:\\foo\\bar")
91
- options.formatters[1].where.should eql("foo/bar")
92
- options.formatters[2].where.should eql("foo\\bar")
93
- options.formatters[3].where.should eql("/foo/bar")
94
- end
95
-
96
- it "should not be verbose by default" do
97
- options = parse([])
98
- options.verbose.should be_nil
99
- end
100
-
101
- it "should print help to stdout if no args and spec_comand?" do
102
- Spec::Runner::OptionParser.stub!(:spec_command?).and_return(true)
103
- options = parse([])
104
- @out.rewind
105
- @out.read.should match(/Usage: spec \(FILE\(:LINE\)\?\|DIRECTORY\|GLOB\)\+ \[options\]/m)
106
- end
107
-
108
- it "should not print help to stdout if no args and NOT spec_command?" do
109
- Spec::Runner::OptionParser.stub!(:spec_command?).and_return(false)
110
- options = parse([])
111
- @out.rewind
112
- @out.read.should == ""
113
- end
114
-
115
- it "should print help to stdout" do
116
- options = parse(["--help"])
117
- @out.rewind
118
- @out.read.should match(/Usage: spec \(FILE\(:LINE\)\?\|DIRECTORY\|GLOB\)\+ \[options\]/m)
119
- end
120
-
121
- it "should print instructions about how to require missing formatter" do
122
- lambda do
123
- options = parse(["--format", "Custom::MissingFormatter"])
124
- options.formatters
125
- end.should raise_error(NameError)
126
- @err.string.should match(/Couldn't find formatter class Custom::MissingFormatter/n)
127
- end
128
-
129
- it "should print version to stdout" do
130
- options = parse(["--version"])
131
- @out.rewind
132
- @out.read.should match(/rspec \d+\.\d+\.\d+/n)
133
- end
134
-
135
- it "should require file when require specified" do
136
- lambda do
137
- parse(["--require", "whatever"])
138
- end.should raise_error(LoadError)
139
- end
140
-
141
- it "should support c option" do
142
- options = parse(["-c"])
143
- options.colour.should be_true
144
- end
145
-
146
- it "should support queens colour option" do
147
- options = parse(["--colour"])
148
- options.colour.should be_true
149
- end
150
-
151
- it "should support us color option" do
152
- options = parse(["--color"])
153
- options.colour.should be_true
154
- end
155
-
156
- it "should support single example with -e option" do
157
- options = parse(["-e", "something or other"])
158
- options.examples.should eql(["something or other"])
159
- end
160
-
161
- it "should support single example with -s option (will be removed when autotest supports -e)" do
162
- options = parse(["-s", "something or other"])
163
- options.examples.should eql(["something or other"])
164
- end
165
-
166
- it "should support single example with --example option" do
167
- options = parse(["--example", "something or other"])
168
- options.examples.should eql(["something or other"])
169
- end
170
-
171
- it "should read several example names from file if --example is given an existing file name" do
172
- options = parse(["--example", File.dirname(__FILE__) + '/examples.txt'])
173
- options.examples.should eql([
174
- "Sir, if you were my husband, I would poison your drink.",
175
- "Madam, if you were my wife, I would drink it."])
176
- end
177
-
178
- it "should read no examples if given an empty file" do
179
- options = parse(["--example", File.dirname(__FILE__) + '/empty_file.txt'])
180
- options.examples.should eql([])
181
- end
182
-
183
- it "should use html formatter when format is h" do
184
- options = parse(["--format", "h"])
185
- options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
186
- end
187
-
188
- it "should use html formatter when format is html" do
189
- options = parse(["--format", "html"])
190
- options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
191
- end
192
-
193
- it "should use silent formatter when format is s" do
194
- options = parse(["--format", "l"])
195
- options.formatters[0].class.should equal(Spec::Runner::Formatter::SilentFormatter)
196
- end
197
-
198
- it "should use silent formatter when format is silent" do
199
- options = parse(["--format", "silent"])
200
- options.formatters[0].class.should equal(Spec::Runner::Formatter::SilentFormatter)
201
- end
202
-
203
- it "should use html formatter with explicit output when format is html:test.html" do
204
- FileUtils.rm 'test.html' if File.exist?('test.html')
205
- options = parse(["--format", "html:test.html"])
206
- options.formatters # creates the file
207
- File.should exist('test.html')
208
- options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
209
- options.formatters[0].close
210
- FileUtils.rm 'test.html'
211
- end
212
-
213
- it "should use noisy backtrace tweaker with b option" do
214
- options = parse(["-b"])
215
- options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
216
- end
217
-
218
- it "should use noisy backtrace tweaker with backtrace option" do
219
- options = parse(["--backtrace"])
220
- options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
221
- end
222
-
223
- it "should use quiet backtrace tweaker by default" do
224
- options = parse([])
225
- options.backtrace_tweaker.should be_instance_of(Spec::Runner::QuietBacktraceTweaker)
226
- end
227
-
228
- it "should use specdoc formatter when format is s" do
229
- options = parse(["--format", "s"])
230
- options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
231
- end
232
-
233
- it "should use specdoc formatter when format is specdoc" do
234
- options = parse(["--format", "specdoc"])
235
- options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
236
- end
237
-
238
- it "should use nested text formatter when format is s" do
239
- options = parse(["--format", "n"])
240
- options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter)
241
- end
242
-
243
- it "should use nested text formatter when format is nested" do
244
- options = parse(["--format", "nested"])
245
- options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter)
246
- end
247
-
248
- it "should support diff option when format is not specified" do
249
- options = parse(["--diff"])
250
- options.diff_format.should == :unified
251
- end
252
-
253
- it "should use unified diff format option when format is unified" do
254
- options = parse(["--diff", "unified"])
255
- options.diff_format.should == :unified
256
- options.differ_class.should equal(Spec::Expectations::Differs::Default)
257
- end
258
-
259
- it "should use context diff format option when format is context" do
260
- options = parse(["--diff", "context"])
261
- options.diff_format.should == :context
262
- options.differ_class.should == Spec::Expectations::Differs::Default
263
- end
264
-
265
- it "should use custom diff format option when format is a custom format" do
266
- Spec::Expectations.differ.should_not be_instance_of(Custom::Differ)
267
-
268
- options = parse(["--diff", "Custom::Differ"])
269
- options.parse_diff "Custom::Differ"
270
- options.diff_format.should == :custom
271
- options.differ_class.should == Custom::Differ
272
- Spec::Expectations.differ.should be_instance_of(Custom::Differ)
273
- end
274
-
275
- it "should print instructions about how to fix missing differ" do
276
- lambda { parse(["--diff", "Custom::MissingFormatter"]) }.should raise_error(NameError)
277
- @err.string.should match(/Couldn't find differ class Custom::MissingFormatter/n)
278
- end
279
-
280
- describe "when attempting a focussed spec" do
281
- attr_reader :file, :dir
282
- before(:each) do
283
- @original_rspec_options = Spec::Runner.options
284
- @file = "#{File.dirname(__FILE__)}/line_number_query/line_number_query_fixture.rb"
285
- @dir = File.dirname(file)
286
- end
287
-
288
- after(:each) do
289
- Spec::Runner.use @original_rspec_options
290
- end
291
-
292
- def parse(args)
293
- options = super
294
- Spec::Runner.use options
295
- options.filename_pattern = "*_fixture.rb"
296
- options
297
- end
298
-
299
- describe 'with the --line flag' do
300
- it "should correctly identify the spec" do
301
- options = parse([file, "--line", "13"])
302
- options.line_number.should == 13
303
- options.examples.should be_empty
304
- options.run_examples
305
- options.examples.should eql(["d"])
306
- end
307
-
308
- it "should fail with error message if specified file is a dir" do
309
- options = parse([dir, "--line", "169"])
310
- options.line_number.should == 169
311
- options.run_examples
312
- @err.string.should match(/You must specify one file, not a directory when providing a line number/n)
313
- end
314
-
315
-
316
- it "should fail with error message if file does not exist" do
317
- options = parse(["some file", "--line", "169"])
318
- proc do
319
- options.run_examples
320
- end.should raise_error
321
- end
322
-
323
- it "should fail with error message if more than one files are specified" do
324
- options = parse([file, file, "--line", "169"])
325
- options.run_examples
326
- @err.string.should match(/Only one file can be specified when providing a line number/n)
327
- end
328
-
329
- it "should fail with error message if using simultaneously with --example" do
330
- options = parse([file, "--example", "some example", "--line", "169"])
331
- options.run_examples
332
- @err.string.should match(/You cannot use --example and specify a line number/n)
333
- end
334
- end
335
-
336
- describe 'with the colon syntax (filename:LINE_NUMBER)' do
337
-
338
- it "should strip the line number from the file name" do
339
- options = parse(["#{file}:13"])
340
- options.files.should include(file)
341
- end
342
-
343
- it "should correctly identify the spec" do
344
- options = parse(["#{file}:13"])
345
- options.line_number.should == 13
346
- options.examples.should be_empty
347
- options.run_examples
348
- options.examples.should eql(["d"])
349
- end
350
-
351
- it "should fail with error message if specified file is a dir" do
352
- options = parse(["#{dir}:169"])
353
- options.line_number.should == 169
354
- options.run_examples
355
- @err.string.should match(/You must specify one file, not a directory when providing a line number/n)
356
- end
357
-
358
-
359
- it "should fail with error message if file does not exist" do
360
- options = parse(["some file:169"])
361
- proc do
362
- options.run_examples
363
- end.should raise_error
364
- end
365
-
366
- it "should fail with error message if more than one files are specified" do
367
- options = parse([file, "#{file}:169"])
368
- options.run_examples
369
- @err.string.should match(/Only one file can be specified when providing a line number/n)
370
- end
371
-
372
- it "should fail with error message if using simultaneously with --example" do
373
- options = parse(["#{file}:169", "--example", "some example"])
374
- options.run_examples
375
- @err.string.should match(/You cannot use --example and specify a line number/n)
376
- end
377
- end
378
-
379
- end
380
-
381
- if [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
382
- it "should barf when --heckle is specified (and platform is windows)" do
383
- lambda do
384
- options = parse(["--heckle", "Spec"])
385
- end.should raise_error(StandardError, /Heckle is not supported/)
386
- end
387
- elsif Spec::Ruby.version.to_f == 1.9
388
- it "should barf when --heckle is specified (and platform is Ruby 1.9)" do
389
- lambda do
390
- options = parse(["--heckle", "Spec"])
391
- end.should raise_error(StandardError, /Heckle is not supported/)
392
- end
393
- else
394
- it "should heckle when --heckle is specified (and platform is not windows)" do
395
- options = parse(["--heckle", "Spec"])
396
- options.heckle_runner.should be_instance_of(Spec::Runner::HeckleRunner)
397
- end
398
- end
399
-
400
- it "should read options from file when --options is specified" do
401
- options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
402
- options.diff_format.should_not be_nil
403
- options.colour.should be_true
404
- end
405
-
406
- it "should default the formatter to ProgressBarFormatter when using options file" do
407
- options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
408
- options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::ProgressBarFormatter)
409
- end
410
-
411
- it "should run parse drb after parsing options" do
412
- @parser.should_receive(:parse_drb).with(no_args).and_return(true)
413
- options = parse(["--options", File.dirname(__FILE__) + "/spec_drb.opts"])
414
- end
415
-
416
- it "should send all the arguments other than --drb back to the parser after parsing options" do
417
- Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options|
418
- options.argv.should == ["example_file.rb", "--colour"]
419
- end
420
- options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
421
- end
422
-
423
- it "runs specs locally if no drb is running when --drb is specified" do
424
- Spec::Runner::DrbCommandLine.should_receive(:run).and_return(false)
425
- options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
426
- options.__send__(:examples_should_be_run?).should be_true
427
- end
428
-
429
- it "says its running specs locally if no drb is running when --drb is specified" do
430
- Spec::Runner::DrbCommandLine.should_receive(:run).and_return(false)
431
- options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
432
- options.error_stream.rewind
433
- options.error_stream.string.should =~ /Running specs locally/
434
- end
435
-
436
- it "does not run specs locally if drb is running when --drb is specified" do
437
- Spec::Runner::DrbCommandLine.should_receive(:run).and_return(true)
438
- options = parse(["example_file.rb", "--options", File.dirname(__FILE__) + "/spec_drb.opts"])
439
- options.__send__(:examples_should_be_run?).should be_false
440
- end
441
-
442
- it "should read spaced and multi-line options from file when --options is specified" do
443
- options = parse(["--options", File.dirname(__FILE__) + "/spec_spaced.opts"])
444
- options.diff_format.should_not be_nil
445
- options.colour.should be_true
446
- options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::SpecdocFormatter)
447
- end
448
-
449
- it "should save config to file when --generate-options is specified" do
450
- FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
451
- options = parse(["--colour", "--generate-options", "test.spec.opts", "--diff"])
452
- IO.read('test.spec.opts').should == "--colour\n--diff\n"
453
- FileUtils.rm 'test.spec.opts'
454
- end
455
-
456
- it "should save config to file when -G is specified" do
457
- FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
458
- options = parse(["--colour", "-G", "test.spec.opts", "--diff"])
459
- IO.read('test.spec.opts').should == "--colour\n--diff\n"
460
- FileUtils.rm 'test.spec.opts'
461
- end
462
-
463
- it "when --drb is specified, calls DrbCommandLine all of the other ARGV arguments" do
464
- options = Spec::Runner::OptionParser.parse([
465
- "some/spec.rb", "--diff", "--colour"
466
- ], @err, @out)
467
- Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options|
468
- options.argv.should == ["some/spec.rb", "--diff", "--colour"]
469
- end
470
- parse(["some/spec.rb", "--diff", "--drb", "--colour"])
471
- end
472
-
473
- it "should reverse spec order when --reverse is specified" do
474
- options = parse(["some/spec.rb", "--reverse"])
475
- end
476
-
477
- it "should set an mtime comparator when --loadby mtime" do
478
- options = parse(["--loadby", 'mtime'])
479
- runner = Spec::Runner::ExampleGroupRunner.new(options)
480
- Spec::Runner::ExampleGroupRunner.should_receive(:new).
481
- with(options).
482
- and_return(runner)
483
- runner.should_receive(:load_files).with(["most_recent_spec.rb", "command_line_spec.rb"])
484
-
485
- Dir.chdir(File.dirname(__FILE__)) do
486
- options.files << 'command_line_spec.rb'
487
- options.files << 'most_recent_spec.rb'
488
- FileUtils.touch "most_recent_spec.rb"
489
- options.run_examples
490
- FileUtils.rm "most_recent_spec.rb"
491
- end
492
- end
493
-
494
- it "should use the standard runner by default" do
495
- runner = ::Spec::Runner::ExampleGroupRunner.new(@parser.options)
496
- ::Spec::Runner::ExampleGroupRunner.should_receive(:new).
497
- with(@parser.options).
498
- and_return(runner)
499
- options = parse([])
500
- options.run_examples
501
- end
502
-
503
- it "should use a custom runner when given" do
504
- runner = Custom::ExampleGroupRunner.new(@parser.options, nil)
505
- Custom::ExampleGroupRunner.should_receive(:new).
506
- with(@parser.options, nil).
507
- and_return(runner)
508
- options = parse(["--runner", "Custom::ExampleGroupRunner"])
509
- options.run_examples
510
- end
511
-
512
- it "should use a custom runner with extra options" do
513
- runner = Custom::ExampleGroupRunner.new(@parser.options, 'something')
514
- Custom::ExampleGroupRunner.should_receive(:new).
515
- with(@parser.options, 'something').
516
- and_return(runner)
517
- options = parse(["--runner", "Custom::ExampleGroupRunner:something"])
518
- options.run_examples
519
- end
520
-
521
- it "sets options.autospec to true with --autospec" do
522
- options = parse(["--autospec"])
523
- options.autospec.should be(true)
524
- end
525
-
526
- describe "implicitly loading spec/spec.opts" do
527
- include FakeFS::SpecHelpers
528
-
529
- it "uses spec/spec.opts if present" do
530
- File.open('spec/spec.opts', 'w') { |f| f.write "--colour" }
531
- options = parse(['ignore.rb'])
532
- options.colour.should be(true)
533
- end
534
-
535
- it "does not try to load spec/spec.opts if not present" do
536
- FileUtils.rm 'spec/spec.opts'
537
- options = parse(['ignore.rb'])
538
- options.colour.should be(false)
539
- end
540
-
541
- it "uses specified opts if supplied" do
542
- options = nil
543
- File.open("spec/spec.opts",'w') { |f| f.write "" }
544
- File.open("spec/alternate.opts",'w') { |f| f.write "--colour" }
545
- options = parse(['-O','spec/alternate.opts'])
546
- options.colour.should be(true)
547
- end
548
- end
549
-
550
-
551
- end