rspec 1.3.0 → 2.0.0

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 (391) hide show
  1. data/.document +1 -6
  2. data/.gitignore +7 -0
  3. data/Gemfile +6 -0
  4. data/License.txt +1 -1
  5. data/README.markdown +30 -0
  6. data/Rakefile +10 -143
  7. data/lib/rspec/version.rb +5 -0
  8. data/lib/rspec.rb +4 -0
  9. data/rspec.gemspec +29 -0
  10. metadata +69 -462
  11. data/History.rdoc +0 -1529
  12. data/Manifest.txt +0 -384
  13. data/README.rdoc +0 -54
  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/examples/failing/README.txt +0 -11
  21. data/examples/failing/diffing_spec.rb +0 -36
  22. data/examples/failing/failing_implicit_docstrings_example.rb +0 -17
  23. data/examples/failing/failure_in_after.rb +0 -10
  24. data/examples/failing/failure_in_before.rb +0 -10
  25. data/examples/failing/mocking_example.rb +0 -38
  26. data/examples/failing/mocking_with_flexmock.rb +0 -26
  27. data/examples/failing/mocking_with_mocha.rb +0 -25
  28. data/examples/failing/mocking_with_rr.rb +0 -27
  29. data/examples/failing/partial_mock_example.rb +0 -18
  30. data/examples/failing/pending_example.rb +0 -7
  31. data/examples/failing/predicate_example.rb +0 -32
  32. data/examples/failing/raising_example.rb +0 -47
  33. data/examples/failing/syntax_error_example.rb +0 -7
  34. data/examples/failing/team_spec.rb +0 -41
  35. data/examples/failing/timeout_behaviour.rb +0 -5
  36. data/examples/passing/custom_formatter.rb +0 -11
  37. data/examples/passing/custom_matchers.rb +0 -54
  38. data/examples/passing/dynamic_spec.rb +0 -7
  39. data/examples/passing/file_accessor.rb +0 -18
  40. data/examples/passing/file_accessor_spec.rb +0 -37
  41. data/examples/passing/filtered_formatter.rb +0 -17
  42. data/examples/passing/filtered_formatter_example.rb +0 -31
  43. data/examples/passing/greeter_spec.rb +0 -30
  44. data/examples/passing/helper_method_example.rb +0 -12
  45. data/examples/passing/implicit_docstrings_example.rb +0 -16
  46. data/examples/passing/io_processor.rb +0 -8
  47. data/examples/passing/io_processor_spec.rb +0 -20
  48. data/examples/passing/mocking_example.rb +0 -25
  49. data/examples/passing/multi_threaded_example_group_runner.rb +0 -26
  50. data/examples/passing/nested_classes_example.rb +0 -35
  51. data/examples/passing/options_example.rb +0 -29
  52. data/examples/passing/options_formatter.rb +0 -20
  53. data/examples/passing/partial_mock_example.rb +0 -27
  54. data/examples/passing/pending_example.rb +0 -18
  55. data/examples/passing/predicate_example.rb +0 -25
  56. data/examples/passing/shared_example_group_example.rb +0 -79
  57. data/examples/passing/shared_stack_examples.rb +0 -36
  58. data/examples/passing/simple_matcher_example.rb +0 -29
  59. data/examples/passing/stack.rb +0 -36
  60. data/examples/passing/stack_spec.rb +0 -63
  61. data/examples/passing/stack_spec_with_nested_example_groups.rb +0 -66
  62. data/examples/passing/stubbing_example.rb +0 -67
  63. data/examples/passing/yielding_example.rb +0 -31
  64. data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +0 -85
  65. data/features/before_and_after_blocks/before_and_after_blocks.feature +0 -167
  66. data/features/command_line/line_number_option.feature +0 -56
  67. data/features/command_line/line_number_option_with_example_with_no_name.feature +0 -22
  68. data/features/example_groups/define_example_attribute.feature +0 -41
  69. data/features/example_groups/example_group_with_should_methods.feature +0 -29
  70. data/features/example_groups/implicit_docstrings.feature +0 -59
  71. data/features/example_groups/nested_groups.feature +0 -32
  72. data/features/expectations/customized_message.feature +0 -54
  73. data/features/expectations/expect_change.feature +0 -65
  74. data/features/expectations/expect_error.feature +0 -44
  75. data/features/extensions/custom_example_group.feature +0 -19
  76. data/features/formatters/custom_formatter.feature +0 -30
  77. data/features/formatters/nested_formatter.feature +0 -32
  78. data/features/interop/cucumber_stubs_dont_leak.feature +0 -11
  79. data/features/interop/examples_and_tests_together.feature +0 -84
  80. data/features/interop/rspec_output.feature +0 -25
  81. data/features/interop/test_but_not_test_unit.feature +0 -26
  82. data/features/interop/test_case_with_should_methods.feature +0 -46
  83. data/features/load_paths/add_lib_to_load_path.feature +0 -20
  84. data/features/load_paths/add_spec_to_load_path.feature +0 -20
  85. data/features/matchers/define_diffable_matcher.feature +0 -26
  86. data/features/matchers/define_matcher.feature +0 -179
  87. data/features/matchers/define_matcher_outside_rspec.feature +0 -38
  88. data/features/matchers/define_matcher_with_fluent_interface.feature +0 -48
  89. data/features/matchers/define_wrapped_matcher.feature +0 -56
  90. data/features/matchers/match_unless_raises.feature +0 -60
  91. data/features/matchers/match_unless_raises_unexpected_error.feature +0 -39
  92. data/features/mock_framework_integration/use_flexmock.feature +0 -27
  93. data/features/mock_framework_integration/use_mocha.feature +0 -27
  94. data/features/mock_framework_integration/use_rr.feature +0 -27
  95. data/features/mocks/block_local_expectations.feature +0 -62
  96. data/features/mocks/mix_stubs_and_mocks.feature +0 -22
  97. data/features/mocks/stub_implementation.feature +0 -26
  98. data/features/pending/pending_examples.feature +0 -81
  99. data/features/runner/specify_line_number.feature +0 -32
  100. data/features/spec_helper/spec_helper.feature +0 -25
  101. data/features/step_definitions/running_rspec_steps.rb +0 -52
  102. data/features/step_definitions/stubbing_steps.rb +0 -16
  103. data/features/subject/explicit_subject.feature +0 -31
  104. data/features/subject/implicit_subject.feature +0 -43
  105. data/features/support/env.rb +0 -83
  106. data/features/support/matchers/smart_match.rb +0 -31
  107. data/geminstaller.yml +0 -28
  108. data/init.rb +0 -9
  109. data/lib/autotest/discover.rb +0 -3
  110. data/lib/autotest/rspec.rb +0 -54
  111. data/lib/spec/adapters/mock_frameworks/flexmock.rb +0 -24
  112. data/lib/spec/adapters/mock_frameworks/mocha.rb +0 -25
  113. data/lib/spec/adapters/mock_frameworks/rr.rb +0 -22
  114. data/lib/spec/adapters/mock_frameworks/rspec.rb +0 -21
  115. data/lib/spec/autorun.rb +0 -3
  116. data/lib/spec/deprecation.rb +0 -40
  117. data/lib/spec/dsl/main.rb +0 -92
  118. data/lib/spec/dsl.rb +0 -1
  119. data/lib/spec/example/args_and_options.rb +0 -27
  120. data/lib/spec/example/before_and_after_hooks.rb +0 -93
  121. data/lib/spec/example/errors.rb +0 -25
  122. data/lib/spec/example/example_group.rb +0 -10
  123. data/lib/spec/example/example_group_factory.rb +0 -82
  124. data/lib/spec/example/example_group_hierarchy.rb +0 -53
  125. data/lib/spec/example/example_group_methods.rb +0 -282
  126. data/lib/spec/example/example_group_proxy.rb +0 -61
  127. data/lib/spec/example/example_matcher.rb +0 -43
  128. data/lib/spec/example/example_methods.rb +0 -152
  129. data/lib/spec/example/example_proxy.rb +0 -41
  130. data/lib/spec/example/module_reopening_fix.rb +0 -43
  131. data/lib/spec/example/pending.rb +0 -18
  132. data/lib/spec/example/predicate_matchers.rb +0 -46
  133. data/lib/spec/example/shared_example_group.rb +0 -59
  134. data/lib/spec/example/subject.rb +0 -108
  135. data/lib/spec/example.rb +0 -164
  136. data/lib/spec/expectations/errors.rb +0 -12
  137. data/lib/spec/expectations/extensions/kernel.rb +0 -52
  138. data/lib/spec/expectations/extensions.rb +0 -1
  139. data/lib/spec/expectations/fail_with.rb +0 -45
  140. data/lib/spec/expectations/handler.rb +0 -50
  141. data/lib/spec/expectations.rb +0 -35
  142. data/lib/spec/extensions/instance_exec.rb +0 -31
  143. data/lib/spec/interop/test/unit/autorunner.rb +0 -6
  144. data/lib/spec/interop/test/unit/testcase.rb +0 -56
  145. data/lib/spec/interop/test/unit/testresult.rb +0 -6
  146. data/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
  147. data/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
  148. data/lib/spec/interop/test.rb +0 -44
  149. data/lib/spec/matchers/be.rb +0 -249
  150. data/lib/spec/matchers/be_close.rb +0 -32
  151. data/lib/spec/matchers/be_instance_of.rb +0 -26
  152. data/lib/spec/matchers/be_kind_of.rb +0 -26
  153. data/lib/spec/matchers/change.rb +0 -151
  154. data/lib/spec/matchers/compatibility.rb +0 -14
  155. data/lib/spec/matchers/dsl.rb +0 -20
  156. data/lib/spec/matchers/eql.rb +0 -42
  157. data/lib/spec/matchers/equal.rb +0 -53
  158. data/lib/spec/matchers/errors.rb +0 -5
  159. data/lib/spec/matchers/exist.rb +0 -16
  160. data/lib/spec/matchers/generated_descriptions.rb +0 -36
  161. data/lib/spec/matchers/has.rb +0 -35
  162. data/lib/spec/matchers/have.rb +0 -152
  163. data/lib/spec/matchers/include.rb +0 -44
  164. data/lib/spec/matchers/match.rb +0 -21
  165. data/lib/spec/matchers/match_array.rb +0 -71
  166. data/lib/spec/matchers/matcher.rb +0 -132
  167. data/lib/spec/matchers/method_missing.rb +0 -9
  168. data/lib/spec/matchers/operator_matcher.rb +0 -78
  169. data/lib/spec/matchers/pretty.rb +0 -37
  170. data/lib/spec/matchers/raise_exception.rb +0 -131
  171. data/lib/spec/matchers/respond_to.rb +0 -71
  172. data/lib/spec/matchers/satisfy.rb +0 -47
  173. data/lib/spec/matchers/simple_matcher.rb +0 -133
  174. data/lib/spec/matchers/throw_symbol.rb +0 -100
  175. data/lib/spec/matchers/wrap_expectation.rb +0 -55
  176. data/lib/spec/matchers.rb +0 -214
  177. data/lib/spec/mocks/argument_expectation.rb +0 -51
  178. data/lib/spec/mocks/argument_matchers.rb +0 -237
  179. data/lib/spec/mocks/error_generator.rb +0 -92
  180. data/lib/spec/mocks/errors.rb +0 -10
  181. data/lib/spec/mocks/example_methods.rb +0 -69
  182. data/lib/spec/mocks/extensions/object.rb +0 -3
  183. data/lib/spec/mocks/extensions.rb +0 -1
  184. data/lib/spec/mocks/framework.rb +0 -15
  185. data/lib/spec/mocks/message_expectation.rb +0 -344
  186. data/lib/spec/mocks/methods.rb +0 -94
  187. data/lib/spec/mocks/mock.rb +0 -71
  188. data/lib/spec/mocks/order_group.rb +0 -29
  189. data/lib/spec/mocks/proxy.rb +0 -266
  190. data/lib/spec/mocks/space.rb +0 -28
  191. data/lib/spec/mocks.rb +0 -200
  192. data/lib/spec/rake/spectask.rb +0 -230
  193. data/lib/spec/rake/verify_rcov.rb +0 -52
  194. data/lib/spec/ruby.rb +0 -9
  195. data/lib/spec/runner/backtrace_tweaker.rb +0 -77
  196. data/lib/spec/runner/class_and_arguments_parser.rb +0 -14
  197. data/lib/spec/runner/command_line.rb +0 -15
  198. data/lib/spec/runner/configuration.rb +0 -194
  199. data/lib/spec/runner/differs/default.rb +0 -93
  200. data/lib/spec/runner/differs/load-diff-lcs.rb +0 -12
  201. data/lib/spec/runner/drb_command_line.rb +0 -32
  202. data/lib/spec/runner/example_group_runner.rb +0 -58
  203. data/lib/spec/runner/extensions/kernel.rb +0 -9
  204. data/lib/spec/runner/formatter/base_formatter.rb +0 -139
  205. data/lib/spec/runner/formatter/base_text_formatter.rb +0 -142
  206. data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -25
  207. data/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
  208. data/lib/spec/runner/formatter/html_formatter.rb +0 -338
  209. data/lib/spec/runner/formatter/nested_text_formatter.rb +0 -50
  210. data/lib/spec/runner/formatter/no_op_method_missing.rb +0 -21
  211. data/lib/spec/runner/formatter/profile_formatter.rb +0 -47
  212. data/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -33
  213. data/lib/spec/runner/formatter/silent_formatter.rb +0 -10
  214. data/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
  215. data/lib/spec/runner/formatter/specdoc_formatter.rb +0 -33
  216. data/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
  217. data/lib/spec/runner/heckle_runner.rb +0 -72
  218. data/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
  219. data/lib/spec/runner/line_number_query.rb +0 -78
  220. data/lib/spec/runner/option_parser.rb +0 -225
  221. data/lib/spec/runner/options.rb +0 -405
  222. data/lib/spec/runner/reporter.rb +0 -171
  223. data/lib/spec/runner.rb +0 -66
  224. data/lib/spec/stubs/cucumber.rb +0 -5
  225. data/lib/spec/test/unit.rb +0 -10
  226. data/lib/spec/version.rb +0 -14
  227. data/lib/spec.rb +0 -8
  228. data/resources/helpers/cmdline.rb +0 -8
  229. data/resources/rake/examples.rake +0 -7
  230. data/resources/rake/examples_with_rcov.rake +0 -9
  231. data/resources/rake/failing_examples_with_html.rake +0 -9
  232. data/resources/rake/verify_rcov.rake +0 -7
  233. data/spec/README.jruby +0 -15
  234. data/spec/autotest/autotest_helper.rb +0 -8
  235. data/spec/autotest/autotest_matchers.rb +0 -38
  236. data/spec/autotest/discover_spec.rb +0 -8
  237. data/spec/autotest/failed_results_re_spec.rb +0 -31
  238. data/spec/autotest/rspec_spec.rb +0 -126
  239. data/spec/ruby_forker.rb +0 -13
  240. data/spec/spec/dsl/main_spec.rb +0 -95
  241. data/spec/spec/example/example_group_class_definition_spec.rb +0 -51
  242. data/spec/spec/example/example_group_factory_spec.rb +0 -180
  243. data/spec/spec/example/example_group_methods_spec.rb +0 -759
  244. data/spec/spec/example/example_group_proxy_spec.rb +0 -107
  245. data/spec/spec/example/example_group_spec.rb +0 -643
  246. data/spec/spec/example/example_matcher_spec.rb +0 -86
  247. data/spec/spec/example/example_methods_spec.rb +0 -162
  248. data/spec/spec/example/example_proxy_spec.rb +0 -57
  249. data/spec/spec/example/helper_method_spec.rb +0 -24
  250. data/spec/spec/example/nested_example_group_spec.rb +0 -71
  251. data/spec/spec/example/pending_module_spec.rb +0 -58
  252. data/spec/spec/example/predicate_matcher_spec.rb +0 -41
  253. data/spec/spec/example/shared_example_group_spec.rb +0 -257
  254. data/spec/spec/example/subclassing_example_group_spec.rb +0 -25
  255. data/spec/spec/example/subject_spec.rb +0 -103
  256. data/spec/spec/expectations/differs/default_spec.rb +0 -194
  257. data/spec/spec/expectations/extensions/kernel_spec.rb +0 -45
  258. data/spec/spec/expectations/fail_with_spec.rb +0 -96
  259. data/spec/spec/expectations/handler_spec.rb +0 -206
  260. data/spec/spec/expectations/wrap_expectation_spec.rb +0 -30
  261. data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
  262. data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
  263. data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
  264. data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
  265. data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
  266. data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
  267. data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
  268. data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +0 -22
  269. data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
  270. data/spec/spec/interop/test/unit/spec_spec.rb +0 -48
  271. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -18
  272. data/spec/spec/interop/test/unit/testcase_spec.rb +0 -50
  273. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
  274. data/spec/spec/matchers/be_close_spec.rb +0 -50
  275. data/spec/spec/matchers/be_instance_of_spec.rb +0 -36
  276. data/spec/spec/matchers/be_kind_of_spec.rb +0 -33
  277. data/spec/spec/matchers/be_spec.rb +0 -460
  278. data/spec/spec/matchers/change_spec.rb +0 -349
  279. data/spec/spec/matchers/compatibility_spec.rb +0 -28
  280. data/spec/spec/matchers/description_generation_spec.rb +0 -160
  281. data/spec/spec/matchers/dsl_spec.rb +0 -34
  282. data/spec/spec/matchers/eql_spec.rb +0 -33
  283. data/spec/spec/matchers/equal_spec.rb +0 -57
  284. data/spec/spec/matchers/exist_spec.rb +0 -65
  285. data/spec/spec/matchers/has_spec.rb +0 -190
  286. data/spec/spec/matchers/have_spec.rb +0 -396
  287. data/spec/spec/matchers/include_spec.rb +0 -88
  288. data/spec/spec/matchers/match_array_spec.rb +0 -108
  289. data/spec/spec/matchers/match_spec.rb +0 -57
  290. data/spec/spec/matchers/matcher_spec.rb +0 -289
  291. data/spec/spec/matchers/matchers_spec.rb +0 -2
  292. data/spec/spec/matchers/operator_matcher_spec.rb +0 -191
  293. data/spec/spec/matchers/raise_exception_spec.rb +0 -345
  294. data/spec/spec/matchers/respond_to_spec.rb +0 -116
  295. data/spec/spec/matchers/satisfy_spec.rb +0 -36
  296. data/spec/spec/matchers/simple_matcher_spec.rb +0 -93
  297. data/spec/spec/matchers/throw_symbol_spec.rb +0 -121
  298. data/spec/spec/mocks/and_yield_spec.rb +0 -117
  299. data/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
  300. data/spec/spec/mocks/argument_expectation_spec.rb +0 -23
  301. data/spec/spec/mocks/argument_matchers_spec.rb +0 -19
  302. data/spec/spec/mocks/at_least_spec.rb +0 -97
  303. data/spec/spec/mocks/at_most_spec.rb +0 -93
  304. data/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
  305. data/spec/spec/mocks/bug_report_10263_spec.rb +0 -27
  306. data/spec/spec/mocks/bug_report_11545_spec.rb +0 -32
  307. data/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
  308. data/spec/spec/mocks/bug_report_496_spec.rb +0 -19
  309. data/spec/spec/mocks/bug_report_600_spec.rb +0 -22
  310. data/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
  311. data/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
  312. data/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
  313. data/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
  314. data/spec/spec/mocks/bug_report_830_spec.rb +0 -21
  315. data/spec/spec/mocks/double_spec.rb +0 -12
  316. data/spec/spec/mocks/failing_argument_matchers_spec.rb +0 -95
  317. data/spec/spec/mocks/hash_including_matcher_spec.rb +0 -90
  318. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +0 -67
  319. data/spec/spec/mocks/mock_ordering_spec.rb +0 -94
  320. data/spec/spec/mocks/mock_space_spec.rb +0 -54
  321. data/spec/spec/mocks/mock_spec.rb +0 -594
  322. data/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
  323. data/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
  324. data/spec/spec/mocks/null_object_mock_spec.rb +0 -54
  325. data/spec/spec/mocks/once_counts_spec.rb +0 -53
  326. data/spec/spec/mocks/options_hash_spec.rb +0 -35
  327. data/spec/spec/mocks/partial_mock_spec.rb +0 -164
  328. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
  329. data/spec/spec/mocks/passing_argument_matchers_spec.rb +0 -145
  330. data/spec/spec/mocks/precise_counts_spec.rb +0 -52
  331. data/spec/spec/mocks/record_messages_spec.rb +0 -26
  332. data/spec/spec/mocks/stub_chain_spec.rb +0 -42
  333. data/spec/spec/mocks/stub_implementation_spec.rb +0 -31
  334. data/spec/spec/mocks/stub_spec.rb +0 -203
  335. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +0 -26
  336. data/spec/spec/mocks/twice_counts_spec.rb +0 -67
  337. data/spec/spec/mocks/unstub_spec.rb +0 -127
  338. data/spec/spec/package/bin_spec_spec.rb +0 -16
  339. data/spec/spec/rake/spectask_spec.rb +0 -150
  340. data/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
  341. data/spec/spec/runner/command_line_spec.rb +0 -162
  342. data/spec/spec/runner/configuration_spec.rb +0 -320
  343. data/spec/spec/runner/drb_command_line_spec.rb +0 -146
  344. data/spec/spec/runner/empty_file.txt +0 -0
  345. data/spec/spec/runner/example_group_runner_spec.rb +0 -26
  346. data/spec/spec/runner/examples.txt +0 -2
  347. data/spec/spec/runner/failed.txt +0 -3
  348. data/spec/spec/runner/formatter/base_formatter_spec.rb +0 -30
  349. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +0 -113
  350. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
  351. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
  352. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -377
  353. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -377
  354. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +0 -377
  355. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +0 -377
  356. data/spec/spec/runner/formatter/html_formatter_spec.rb +0 -118
  357. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -329
  358. data/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -70
  359. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -149
  360. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
  361. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
  362. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +0 -371
  363. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
  364. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +0 -371
  365. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +0 -371
  366. data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +0 -106
  367. data/spec/spec/runner/heckle_runner_spec.rb +0 -78
  368. data/spec/spec/runner/heckler_spec.rb +0 -20
  369. data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +0 -70
  370. data/spec/spec/runner/line_number_query_spec.rb +0 -129
  371. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -51
  372. data/spec/spec/runner/option_parser_spec.rb +0 -551
  373. data/spec/spec/runner/options_spec.rb +0 -554
  374. data/spec/spec/runner/output_one_time_fixture.rb +0 -7
  375. data/spec/spec/runner/output_one_time_fixture_runner.rb +0 -7
  376. data/spec/spec/runner/output_one_time_spec.rb +0 -15
  377. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -123
  378. data/spec/spec/runner/reporter_spec.rb +0 -244
  379. data/spec/spec/runner/resources/a_bar.rb +0 -0
  380. data/spec/spec/runner/resources/a_foo.rb +0 -0
  381. data/spec/spec/runner/resources/a_spec.rb +0 -1
  382. data/spec/spec/runner/resources/custom_example_group_runner.rb +0 -14
  383. data/spec/spec/runner/resources/utf8_encoded.rb +0 -8
  384. data/spec/spec/runner/spec.opts +0 -2
  385. data/spec/spec/runner/spec_drb.opts +0 -2
  386. data/spec/spec/runner/spec_spaced.opts +0 -2
  387. data/spec/spec/runner_spec.rb +0 -13
  388. data/spec/spec.opts +0 -6
  389. data/spec/spec_helper.rb +0 -112
  390. data/spec/support/macros.rb +0 -29
  391. data/spec/support/spec_classes.rb +0 -133
@@ -1,35 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class Has
5
-
6
- def initialize(expected, *args, &block)
7
- @expected, @args, @block = expected, args, block
8
- end
9
-
10
- def matches?(actual)
11
- actual.__send__(predicate(@expected), *@args, &@block)
12
- end
13
-
14
- def failure_message_for_should
15
- "expected ##{predicate(@expected)}(#{@args[0].inspect}) to return true, got false"
16
- end
17
-
18
- def failure_message_for_should_not
19
- "expected ##{predicate(@expected)}(#{@args[0].inspect}) to return false, got true"
20
- end
21
-
22
- def description
23
- "have key #{@args[0].inspect}"
24
- end
25
-
26
- private
27
-
28
- def predicate(sym)
29
- "#{sym.to_s.sub("have_","has_")}?".to_sym
30
- end
31
-
32
- end
33
-
34
- end
35
- end
@@ -1,152 +0,0 @@
1
- module Spec
2
- module Matchers
3
- class Have #:nodoc:
4
- def initialize(expected, relativity=:exactly)
5
- @expected = (expected == :no ? 0 : expected)
6
- @relativity = relativity
7
- @actual = nil
8
- @plural_collection_name = nil
9
- end
10
-
11
- def relativities
12
- @relativities ||= {
13
- :exactly => "",
14
- :at_least => "at least ",
15
- :at_most => "at most "
16
- }
17
- end
18
-
19
- def matches?(collection_owner)
20
- if collection_owner.respond_to?(@collection_name)
21
- collection = collection_owner.__send__(@collection_name, *@args, &@block)
22
- elsif (@plural_collection_name && collection_owner.respond_to?(@plural_collection_name))
23
- collection = collection_owner.__send__(@plural_collection_name, *@args, &@block)
24
- elsif (collection_owner.respond_to?(:length) || collection_owner.respond_to?(:size))
25
- collection = collection_owner
26
- else
27
- collection_owner.__send__(@collection_name, *@args, &@block)
28
- end
29
- @actual = collection.size if collection.respond_to?(:size)
30
- @actual = collection.length if collection.respond_to?(:length)
31
- raise not_a_collection if @actual.nil?
32
- return @actual >= @expected if @relativity == :at_least
33
- return @actual <= @expected if @relativity == :at_most
34
- return @actual == @expected
35
- end
36
-
37
- def not_a_collection
38
- "expected #{@collection_name} to be a collection but it does not respond to #length or #size"
39
- end
40
-
41
- def failure_message_for_should
42
- "expected #{relative_expectation} #{@collection_name}, got #{@actual}"
43
- end
44
-
45
- def failure_message_for_should_not
46
- if @relativity == :exactly
47
- return "expected target not to have #{@expected} #{@collection_name}, got #{@actual}"
48
- elsif @relativity == :at_most
49
- return <<-EOF
50
- Isn't life confusing enough?
51
- Instead of having to figure out the meaning of this:
52
- should_not have_at_most(#{@expected}).#{@collection_name}
53
- We recommend that you use this instead:
54
- should have_at_least(#{@expected + 1}).#{@collection_name}
55
- EOF
56
- elsif @relativity == :at_least
57
- return <<-EOF
58
- Isn't life confusing enough?
59
- Instead of having to figure out the meaning of this:
60
- should_not have_at_least(#{@expected}).#{@collection_name}
61
- We recommend that you use this instead:
62
- should have_at_most(#{@expected - 1}).#{@collection_name}
63
- EOF
64
- end
65
- end
66
-
67
- def description
68
- "have #{relative_expectation} #{@collection_name}"
69
- end
70
-
71
- def respond_to?(sym)
72
- @expected.respond_to?(sym) || super
73
- end
74
-
75
- private
76
-
77
- def method_missing(sym, *args, &block)
78
- @collection_name = sym
79
- if inflector = (defined?(ActiveSupport::Inflector) ? ActiveSupport::Inflector : (defined?(Inflector) ? Inflector : nil))
80
- @plural_collection_name = inflector.pluralize(sym.to_s)
81
- end
82
- @args = args
83
- @block = block
84
- self
85
- end
86
-
87
- def relative_expectation
88
- "#{relativities[@relativity]}#{@expected}"
89
- end
90
- end
91
-
92
- # :call-seq:
93
- # should have(number).named_collection__or__sugar
94
- # should_not have(number).named_collection__or__sugar
95
- #
96
- # Passes if receiver is a collection with the submitted
97
- # number of items OR if the receiver OWNS a collection
98
- # with the submitted number of items.
99
- #
100
- # If the receiver OWNS the collection, you must use the name
101
- # of the collection. So if a <tt>Team</tt> instance has a
102
- # collection named <tt>#players</tt>, you must use that name
103
- # to set the expectation.
104
- #
105
- # If the receiver IS the collection, you can use any name
106
- # you like for <tt>named_collection</tt>. We'd recommend using
107
- # either "elements", "members", or "items" as these are all
108
- # standard ways of describing the things IN a collection.
109
- #
110
- # This also works for Strings, letting you set an expectation
111
- # about its length
112
- #
113
- # == Examples
114
- #
115
- # # Passes if team.players.size == 11
116
- # team.should have(11).players
117
- #
118
- # # Passes if [1,2,3].length == 3
119
- # [1,2,3].should have(3).items #"items" is pure sugar
120
- #
121
- # # Passes if "this string".length == 11
122
- # "this string".should have(11).characters #"characters" is pure sugar
123
- def have(n)
124
- Matchers::Have.new(n)
125
- end
126
- alias :have_exactly :have
127
-
128
- # :call-seq:
129
- # should have_at_least(number).items
130
- #
131
- # Exactly like have() with >=.
132
- #
133
- # == Warning
134
- #
135
- # +should_not+ +have_at_least+ is not supported
136
- def have_at_least(n)
137
- Matchers::Have.new(n, :at_least)
138
- end
139
-
140
- # :call-seq:
141
- # should have_at_most(number).items
142
- #
143
- # Exactly like have() with <=.
144
- #
145
- # == Warning
146
- #
147
- # +should_not+ +have_at_most+ is not supported
148
- def have_at_most(n)
149
- Matchers::Have.new(n, :at_most)
150
- end
151
- end
152
- end
@@ -1,44 +0,0 @@
1
- module Spec
2
- module Matchers
3
- # :call-seq:
4
- # should include(expected)
5
- # should_not include(expected)
6
- #
7
- # Passes if actual includes expected. This works for
8
- # collections and Strings. You can also pass in multiple args
9
- # and it will only pass if all args are found in collection.
10
- #
11
- # == Examples
12
- #
13
- # [1,2,3].should include(3)
14
- # [1,2,3].should include(2,3) #would pass
15
- # [1,2,3].should include(2,3,4) #would fail
16
- # [1,2,3].should_not include(4)
17
- # "spread".should include("read")
18
- # "spread".should_not include("red")
19
- def include(*expected)
20
- Matcher.new :include, *expected do |*_expected_|
21
- match do |actual|
22
- helper(actual, *_expected_)
23
- end
24
-
25
- def helper(actual, *_expected_)
26
- _expected_.each do |expected|
27
- if actual.is_a?(Hash)
28
- if expected.is_a?(Hash)
29
- expected.each_pair do |k,v|
30
- return false unless actual[k] == v
31
- end
32
- else
33
- return false unless actual.has_key?(expected)
34
- end
35
- else
36
- return false unless actual.include?(expected)
37
- end
38
- end
39
- true
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,21 +0,0 @@
1
- module Spec
2
- module Matchers
3
- # :call-seq:
4
- # should match(pattern)
5
- # should_not match(pattern)
6
- #
7
- # Given a Regexp or String, passes if actual.match(pattern)
8
- #
9
- # == Examples
10
- #
11
- # email.should match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
12
- # email.should match("@example.com")
13
- def match(expected)
14
- Matcher.new :match, expected do |_expected_|
15
- match do |actual|
16
- actual.match(_expected_)
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,71 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class MatchArray #:nodoc:
5
- include Spec::Matchers::Pretty
6
-
7
- def initialize(expected)
8
- @expected = expected
9
- end
10
-
11
- def matches?(actual)
12
- @actual = actual
13
- @extra_items = difference_between_arrays(@actual, @expected)
14
- @missing_items = difference_between_arrays(@expected, @actual)
15
- @extra_items.empty? & @missing_items.empty?
16
- end
17
-
18
- def failure_message_for_should
19
- message = "expected collection contained: #{safe_sort(@expected).inspect}\n"
20
- message += "actual collection contained: #{safe_sort(@actual).inspect}\n"
21
- message += "the missing elements were: #{safe_sort(@missing_items).inspect}\n" unless @missing_items.empty?
22
- message += "the extra elements were: #{safe_sort(@extra_items).inspect}\n" unless @extra_items.empty?
23
- message
24
- end
25
-
26
- def failure_message_for_should_not
27
- "Matcher does not support should_not"
28
- end
29
-
30
- def description
31
- "contain exactly #{_pretty_print(@expected)}"
32
- end
33
-
34
- private
35
-
36
- def safe_sort(array)
37
- array.all?{|item| item.respond_to?(:<=>)} ? array.sort : array
38
- end
39
-
40
- def difference_between_arrays(array_1, array_2)
41
- difference = array_1.dup
42
- array_2.each do |element|
43
- if index = difference.index(element)
44
- difference.delete_at(index)
45
- end
46
- end
47
- difference
48
- end
49
-
50
-
51
- end
52
-
53
- # :call-seq:
54
- # should =~ expected
55
- #
56
- # Passes if actual contains all of the expected regardless of order.
57
- # This works for collections. Pass in multiple args and it will only
58
- # pass if all args are found in collection.
59
- #
60
- # NOTE: there is no should_not version of array.should =~ other_array
61
- #
62
- # == Examples
63
- #
64
- # [1,2,3].should =~ [1,2,3] # => would pass
65
- # [1,2,3].should =~ [2,3,1] # => would pass
66
- # [1,2,3,4].should =~ [1,2,3] # => would fail
67
- # [1,2,2,3].should =~ [1,2,3] # => would fail
68
- # [1,2,3].should =~ [1,2,3,4] # => would fail
69
- OperatorMatcher.register(Array, '=~', Spec::Matchers::MatchArray)
70
- end
71
- end
@@ -1,132 +0,0 @@
1
- module Spec
2
- module Matchers
3
- class Matcher
4
- include Spec::Matchers::InstanceExec
5
- include Spec::Matchers::Pretty
6
- include Spec::Matchers
7
-
8
- attr_reader :expected, :actual
9
-
10
- def initialize(name, *expected, &declarations)
11
- @name = name
12
- @expected = expected
13
- @actual = nil
14
- @diffable = false
15
- @expected_exception = nil
16
- @messages = {
17
- :description => lambda {"#{name_to_sentence}#{expected_to_sentence}"},
18
- :failure_message_for_should => lambda {|actual| "expected #{actual.inspect} to #{name_to_sentence}#{expected_to_sentence}"},
19
- :failure_message_for_should_not => lambda {|actual| "expected #{actual.inspect} not to #{name_to_sentence}#{expected_to_sentence}"}
20
- }
21
- making_declared_methods_public do
22
- instance_exec(*@expected, &declarations)
23
- end
24
- end
25
-
26
- #Used internally by objects returns by +should+ and +should_not+.
27
- def matches?(actual)
28
- @actual = actual
29
- if @expected_exception
30
- begin
31
- instance_exec(actual, &@match_block)
32
- true
33
- rescue @expected_exception
34
- false
35
- end
36
- else
37
- begin
38
- instance_exec(actual, &@match_block)
39
- rescue Spec::Expectations::ExpectationNotMetError
40
- false
41
- end
42
- end
43
- end
44
-
45
- # See Spec::Matchers
46
- def match(&block)
47
- @match_block = block
48
- end
49
-
50
- # See Spec::Matchers
51
- def match_unless_raises(exception=Exception, &block)
52
- @expected_exception = exception
53
- match(&block)
54
- end
55
-
56
- # See Spec::Matchers
57
- def failure_message_for_should(&block)
58
- cache_or_call_cached(:failure_message_for_should, &block)
59
- end
60
-
61
- # See Spec::Matchers
62
- def failure_message_for_should_not(&block)
63
- cache_or_call_cached(:failure_message_for_should_not, &block)
64
- end
65
-
66
- # See Spec::Matchers
67
- def description(&block)
68
- cache_or_call_cached(:description, &block)
69
- end
70
-
71
- #Used internally by objects returns by +should+ and +should_not+.
72
- def diffable?
73
- @diffable
74
- end
75
-
76
- # See Spec::Matchers
77
- def diffable
78
- @diffable = true
79
- end
80
-
81
- # See Spec::Matchers
82
- def chain(method, &block)
83
- self.class.class_eval do
84
- define_method method do |*args|
85
- block.call(*args)
86
- self
87
- end
88
- end
89
- end
90
-
91
- private
92
-
93
- def making_declared_methods_public # :nodoc:
94
- # Our home-grown instance_exec in ruby 1.8.6 results in any methods
95
- # declared in the block eval'd by instance_exec in the block to which we
96
- # are yielding here are scoped private. This is NOT the case for Ruby
97
- # 1.8.7 or 1.9.
98
- #
99
- # Also, due some crazy scoping that I don't understand, these methods
100
- # are actually available in the specs (something about the matcher being
101
- # defined in the scope of Spec::Matchers or within an example), so not
102
- # doing the following will not cause specs to fail, but they *will*
103
- # cause features to fail and that will make users unhappy. So don't.
104
- orig_private_methods = private_methods
105
- yield
106
- st = (class << self; self; end)
107
- (private_methods - orig_private_methods).each {|m| st.__send__ :public, m}
108
- end
109
-
110
- def cache_or_call_cached(key, &block)
111
- block ? cache(key, &block) : call_cached(key)
112
- end
113
-
114
- def cache(key, &block)
115
- @messages[key] = block
116
- end
117
-
118
- def call_cached(key)
119
- @messages[key].arity == 1 ? @messages[key].call(@actual) : @messages[key].call
120
- end
121
-
122
- def name_to_sentence
123
- split_words(@name)
124
- end
125
-
126
- def expected_to_sentence
127
- to_sentence(@expected)
128
- end
129
-
130
- end
131
- end
132
- end
@@ -1,9 +0,0 @@
1
- module Spec
2
- module Matchers
3
- def method_missing(sym, *args, &block) # :nodoc:
4
- return Matchers::BePredicate.new(sym, *args, &block) if sym.to_s =~ /^be_/
5
- return Matchers::Has.new(sym, *args, &block) if sym.to_s =~ /^have_/
6
- super
7
- end
8
- end
9
- end
@@ -1,78 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class OperatorMatcher
5
- class << self
6
- def registry
7
- @registry ||= {}
8
- end
9
-
10
- def register(klass, operator, matcher)
11
- registry[klass] ||= {}
12
- registry[klass][operator] = matcher
13
- end
14
-
15
- def get(klass, operator)
16
- registry[klass] && registry[klass][operator]
17
- end
18
- end
19
-
20
- def initialize(actual)
21
- @actual = actual
22
- end
23
-
24
- def self.use_custom_matcher_or_delegate(operator)
25
- define_method(operator) do |expected|
26
- if matcher = OperatorMatcher.get(@actual.class, operator)
27
- @actual.send(::Spec::Matchers.last_should, matcher.new(expected))
28
- else
29
- eval_match(@actual, operator, expected)
30
- end
31
- end
32
- end
33
-
34
- ['==', '===', '=~', '>', '>=', '<', '<='].each do |operator|
35
- use_custom_matcher_or_delegate operator
36
- end
37
-
38
- def fail_with_message(message)
39
- Spec::Expectations.fail_with(message, @expected, @actual)
40
- end
41
-
42
- def description
43
- "#{@operator} #{@expected.inspect}"
44
- end
45
-
46
- private
47
-
48
- def eval_match(actual, operator, expected)
49
- ::Spec::Matchers.last_matcher = self
50
- @operator, @expected = operator, expected
51
- __delegate_operator(actual, operator, expected)
52
- end
53
-
54
- end
55
-
56
- class PositiveOperatorMatcher < OperatorMatcher #:nodoc:
57
- def __delegate_operator(actual, operator, expected)
58
- if actual.__send__(operator, expected)
59
- true
60
- elsif ['==','===', '=~'].include?(operator)
61
- fail_with_message("expected: #{expected.inspect},\n got: #{actual.inspect} (using #{operator})")
62
- else
63
- fail_with_message("expected: #{operator} #{expected.inspect},\n got: #{operator.gsub(/./, ' ')} #{actual.inspect}")
64
- end
65
- end
66
-
67
- end
68
-
69
- class NegativeOperatorMatcher < OperatorMatcher #:nodoc:
70
- def __delegate_operator(actual, operator, expected)
71
- return false unless actual.__send__(operator, expected)
72
- return fail_with_message("expected not: #{operator} #{expected.inspect},\n got: #{operator.gsub(/./, ' ')} #{actual.inspect}")
73
- end
74
-
75
- end
76
-
77
- end
78
- end
@@ -1,37 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module Pretty
4
- def split_words(sym)
5
- sym.to_s.gsub(/_/,' ')
6
- end
7
-
8
- def to_sentence(words)
9
- words = words.map{|w| w.inspect}
10
- case words.length
11
- when 0
12
- ""
13
- when 1
14
- " #{words[0]}"
15
- when 2
16
- " #{words[0]} and #{words[1]}"
17
- else
18
- " #{words[0...-1].join(', ')}, and #{words[-1]}"
19
- end
20
- end
21
-
22
- def _pretty_print(array)
23
- result = ""
24
- array.each_with_index do |item, index|
25
- if index < (array.length - 2)
26
- result << "#{item.inspect}, "
27
- elsif index < (array.length - 1)
28
- result << "#{item.inspect} and "
29
- else
30
- result << "#{item.inspect}"
31
- end
32
- end
33
- result
34
- end
35
- end
36
- end
37
- end