ageweke-rspec 1.2.9

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 (378) hide show
  1. data/.document +7 -0
  2. data/History.rdoc +1496 -0
  3. data/License.txt +22 -0
  4. data/Manifest.txt +377 -0
  5. data/README.rdoc +55 -0
  6. data/Rakefile +145 -0
  7. data/Ruby1.9.rdoc +31 -0
  8. data/TODO.txt +17 -0
  9. data/Upgrade.rdoc +199 -0
  10. data/bin/autospec +4 -0
  11. data/bin/spec +5 -0
  12. data/cucumber.yml +5 -0
  13. data/examples/failing/README.txt +11 -0
  14. data/examples/failing/diffing_spec.rb +36 -0
  15. data/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  16. data/examples/failing/failure_in_after.rb +10 -0
  17. data/examples/failing/failure_in_before.rb +10 -0
  18. data/examples/failing/mocking_example.rb +38 -0
  19. data/examples/failing/mocking_with_flexmock.rb +26 -0
  20. data/examples/failing/mocking_with_mocha.rb +25 -0
  21. data/examples/failing/mocking_with_rr.rb +27 -0
  22. data/examples/failing/partial_mock_example.rb +18 -0
  23. data/examples/failing/pending_example.rb +7 -0
  24. data/examples/failing/predicate_example.rb +32 -0
  25. data/examples/failing/raising_example.rb +47 -0
  26. data/examples/failing/syntax_error_example.rb +7 -0
  27. data/examples/failing/team_spec.rb +41 -0
  28. data/examples/failing/timeout_behaviour.rb +5 -0
  29. data/examples/passing/custom_formatter.rb +11 -0
  30. data/examples/passing/custom_matchers.rb +54 -0
  31. data/examples/passing/dynamic_spec.rb +7 -0
  32. data/examples/passing/file_accessor.rb +18 -0
  33. data/examples/passing/file_accessor_spec.rb +37 -0
  34. data/examples/passing/filtered_formatter.rb +17 -0
  35. data/examples/passing/filtered_formatter_example.rb +31 -0
  36. data/examples/passing/greeter_spec.rb +30 -0
  37. data/examples/passing/helper_method_example.rb +12 -0
  38. data/examples/passing/implicit_docstrings_example.rb +16 -0
  39. data/examples/passing/io_processor.rb +8 -0
  40. data/examples/passing/io_processor_spec.rb +20 -0
  41. data/examples/passing/mocking_example.rb +25 -0
  42. data/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  43. data/examples/passing/nested_classes_example.rb +35 -0
  44. data/examples/passing/options_example.rb +29 -0
  45. data/examples/passing/options_formatter.rb +20 -0
  46. data/examples/passing/partial_mock_example.rb +27 -0
  47. data/examples/passing/pending_example.rb +18 -0
  48. data/examples/passing/predicate_example.rb +25 -0
  49. data/examples/passing/shared_example_group_example.rb +79 -0
  50. data/examples/passing/shared_stack_examples.rb +36 -0
  51. data/examples/passing/simple_matcher_example.rb +29 -0
  52. data/examples/passing/stack.rb +36 -0
  53. data/examples/passing/stack_spec.rb +63 -0
  54. data/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  55. data/examples/passing/stubbing_example.rb +67 -0
  56. data/examples/passing/yielding_example.rb +31 -0
  57. data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  58. data/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  59. data/features/command_line/line_number_option.feature +56 -0
  60. data/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  61. data/features/example_groups/define_example_attribute.feature +41 -0
  62. data/features/example_groups/example_group_with_should_methods.feature +29 -0
  63. data/features/example_groups/implicit_docstrings.feature +59 -0
  64. data/features/example_groups/nested_groups.feature +32 -0
  65. data/features/expectations/customized_message.feature +54 -0
  66. data/features/expectations/expect_change.feature +65 -0
  67. data/features/expectations/expect_error.feature +44 -0
  68. data/features/extensions/custom_example_group.feature +19 -0
  69. data/features/formatters/custom_formatter.feature +30 -0
  70. data/features/interop/examples_and_tests_together.feature +84 -0
  71. data/features/interop/rspec_output.feature +25 -0
  72. data/features/interop/test_but_not_test_unit.feature +26 -0
  73. data/features/interop/test_case_with_should_methods.feature +46 -0
  74. data/features/load_paths/add_lib_to_load_path.feature +20 -0
  75. data/features/load_paths/add_spec_to_load_path.feature +20 -0
  76. data/features/matchers/define_diffable_matcher.feature +26 -0
  77. data/features/matchers/define_matcher.feature +179 -0
  78. data/features/matchers/define_matcher_outside_rspec.feature +38 -0
  79. data/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  80. data/features/matchers/define_wrapped_matcher.feature +29 -0
  81. data/features/mock_framework_integration/use_flexmock.feature +27 -0
  82. data/features/mock_framework_integration/use_mocha.feature +27 -0
  83. data/features/mock_framework_integration/use_rr.feature +27 -0
  84. data/features/mocks/mix_stubs_and_mocks.feature +22 -0
  85. data/features/mocks/stub_implementation.feature +26 -0
  86. data/features/pending/pending_examples.feature +81 -0
  87. data/features/runner/specify_line_number.feature +32 -0
  88. data/features/spec_helper/spec_helper.feature +25 -0
  89. data/features/step_definitions/running_rspec_steps.rb +43 -0
  90. data/features/subject/explicit_subject.feature +31 -0
  91. data/features/subject/implicit_subject.feature +43 -0
  92. data/features/support/env.rb +82 -0
  93. data/features/support/matchers/smart_match.rb +12 -0
  94. data/init.rb +9 -0
  95. data/lib/autotest/discover.rb +3 -0
  96. data/lib/autotest/rspec.rb +47 -0
  97. data/lib/spec.rb +8 -0
  98. data/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  99. data/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  100. data/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  101. data/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  102. data/lib/spec/autorun.rb +3 -0
  103. data/lib/spec/deprecation.rb +40 -0
  104. data/lib/spec/dsl.rb +1 -0
  105. data/lib/spec/dsl/main.rb +92 -0
  106. data/lib/spec/example.rb +164 -0
  107. data/lib/spec/example/args_and_options.rb +27 -0
  108. data/lib/spec/example/before_and_after_hooks.rb +93 -0
  109. data/lib/spec/example/errors.rb +25 -0
  110. data/lib/spec/example/example_group.rb +10 -0
  111. data/lib/spec/example/example_group_factory.rb +82 -0
  112. data/lib/spec/example/example_group_hierarchy.rb +53 -0
  113. data/lib/spec/example/example_group_methods.rb +282 -0
  114. data/lib/spec/example/example_group_proxy.rb +61 -0
  115. data/lib/spec/example/example_matcher.rb +43 -0
  116. data/lib/spec/example/example_methods.rb +148 -0
  117. data/lib/spec/example/example_proxy.rb +41 -0
  118. data/lib/spec/example/module_reopening_fix.rb +43 -0
  119. data/lib/spec/example/pending.rb +18 -0
  120. data/lib/spec/example/predicate_matchers.rb +46 -0
  121. data/lib/spec/example/shared_example_group.rb +59 -0
  122. data/lib/spec/example/subject.rb +108 -0
  123. data/lib/spec/expectations.rb +35 -0
  124. data/lib/spec/expectations/errors.rb +12 -0
  125. data/lib/spec/expectations/extensions.rb +1 -0
  126. data/lib/spec/expectations/extensions/kernel.rb +52 -0
  127. data/lib/spec/expectations/fail_with.rb +45 -0
  128. data/lib/spec/expectations/handler.rb +50 -0
  129. data/lib/spec/interop/test.rb +44 -0
  130. data/lib/spec/interop/test/unit/autorunner.rb +6 -0
  131. data/lib/spec/interop/test/unit/testcase.rb +56 -0
  132. data/lib/spec/interop/test/unit/testresult.rb +6 -0
  133. data/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  134. data/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  135. data/lib/spec/matchers.rb +195 -0
  136. data/lib/spec/matchers/be.rb +210 -0
  137. data/lib/spec/matchers/be_close.rb +32 -0
  138. data/lib/spec/matchers/be_instance_of.rb +26 -0
  139. data/lib/spec/matchers/be_kind_of.rb +26 -0
  140. data/lib/spec/matchers/change.rb +151 -0
  141. data/lib/spec/matchers/compatibility.rb +14 -0
  142. data/lib/spec/matchers/dsl.rb +20 -0
  143. data/lib/spec/matchers/eql.rb +42 -0
  144. data/lib/spec/matchers/equal.rb +53 -0
  145. data/lib/spec/matchers/errors.rb +5 -0
  146. data/lib/spec/matchers/exist.rb +16 -0
  147. data/lib/spec/matchers/extensions/instance_exec.rb +31 -0
  148. data/lib/spec/matchers/generated_descriptions.rb +36 -0
  149. data/lib/spec/matchers/has.rb +35 -0
  150. data/lib/spec/matchers/have.rb +151 -0
  151. data/lib/spec/matchers/include.rb +44 -0
  152. data/lib/spec/matchers/match.rb +21 -0
  153. data/lib/spec/matchers/match_array.rb +71 -0
  154. data/lib/spec/matchers/matcher.rb +87 -0
  155. data/lib/spec/matchers/method_missing.rb +9 -0
  156. data/lib/spec/matchers/operator_matcher.rb +78 -0
  157. data/lib/spec/matchers/pretty.rb +37 -0
  158. data/lib/spec/matchers/raise_error.rb +129 -0
  159. data/lib/spec/matchers/respond_to.rb +71 -0
  160. data/lib/spec/matchers/satisfy.rb +47 -0
  161. data/lib/spec/matchers/simple_matcher.rb +133 -0
  162. data/lib/spec/matchers/throw_symbol.rb +104 -0
  163. data/lib/spec/matchers/wrap_expectation.rb +55 -0
  164. data/lib/spec/mocks.rb +200 -0
  165. data/lib/spec/mocks/argument_expectation.rb +51 -0
  166. data/lib/spec/mocks/argument_matchers.rb +237 -0
  167. data/lib/spec/mocks/error_generator.rb +92 -0
  168. data/lib/spec/mocks/errors.rb +10 -0
  169. data/lib/spec/mocks/example_methods.rb +69 -0
  170. data/lib/spec/mocks/extensions.rb +1 -0
  171. data/lib/spec/mocks/extensions/object.rb +3 -0
  172. data/lib/spec/mocks/framework.rb +15 -0
  173. data/lib/spec/mocks/message_expectation.rb +329 -0
  174. data/lib/spec/mocks/methods.rb +89 -0
  175. data/lib/spec/mocks/mock.rb +71 -0
  176. data/lib/spec/mocks/order_group.rb +29 -0
  177. data/lib/spec/mocks/proxy.rb +245 -0
  178. data/lib/spec/mocks/space.rb +28 -0
  179. data/lib/spec/rake/spectask.rb +230 -0
  180. data/lib/spec/rake/verify_rcov.rb +52 -0
  181. data/lib/spec/ruby.rb +9 -0
  182. data/lib/spec/runner.rb +66 -0
  183. data/lib/spec/runner/backtrace_tweaker.rb +77 -0
  184. data/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  185. data/lib/spec/runner/command_line.rb +15 -0
  186. data/lib/spec/runner/configuration.rb +194 -0
  187. data/lib/spec/runner/differs/default.rb +93 -0
  188. data/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  189. data/lib/spec/runner/drb_command_line.rb +33 -0
  190. data/lib/spec/runner/example_group_runner.rb +59 -0
  191. data/lib/spec/runner/extensions/kernel.rb +9 -0
  192. data/lib/spec/runner/formatter/base_formatter.rb +139 -0
  193. data/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  194. data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  195. data/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  196. data/lib/spec/runner/formatter/html_formatter.rb +338 -0
  197. data/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  198. data/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  199. data/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  200. data/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  201. data/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  202. data/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  203. data/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  204. data/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  205. data/lib/spec/runner/heckle_runner.rb +72 -0
  206. data/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  207. data/lib/spec/runner/line_number_query.rb +78 -0
  208. data/lib/spec/runner/option_parser.rb +225 -0
  209. data/lib/spec/runner/options.rb +406 -0
  210. data/lib/spec/runner/reporter.rb +171 -0
  211. data/lib/spec/stubs/cucumber.rb +5 -0
  212. data/lib/spec/test/unit.rb +10 -0
  213. data/lib/spec/version.rb +14 -0
  214. data/resources/helpers/cmdline.rb +8 -0
  215. data/resources/rake/examples.rake +7 -0
  216. data/resources/rake/examples_with_rcov.rake +9 -0
  217. data/resources/rake/failing_examples_with_html.rake +9 -0
  218. data/resources/rake/verify_rcov.rake +7 -0
  219. data/spec/README.jruby +15 -0
  220. data/spec/autotest/autotest_helper.rb +8 -0
  221. data/spec/autotest/autotest_matchers.rb +38 -0
  222. data/spec/autotest/discover_spec.rb +8 -0
  223. data/spec/autotest/failed_results_re_spec.rb +31 -0
  224. data/spec/autotest/rspec_spec.rb +111 -0
  225. data/spec/ruby_forker.rb +13 -0
  226. data/spec/spec.opts +6 -0
  227. data/spec/spec/dsl/main_spec.rb +95 -0
  228. data/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  229. data/spec/spec/example/example_group_factory_spec.rb +180 -0
  230. data/spec/spec/example/example_group_methods_spec.rb +758 -0
  231. data/spec/spec/example/example_group_proxy_spec.rb +107 -0
  232. data/spec/spec/example/example_group_spec.rb +643 -0
  233. data/spec/spec/example/example_matcher_spec.rb +86 -0
  234. data/spec/spec/example/example_methods_spec.rb +162 -0
  235. data/spec/spec/example/example_proxy_spec.rb +57 -0
  236. data/spec/spec/example/helper_method_spec.rb +24 -0
  237. data/spec/spec/example/nested_example_group_spec.rb +71 -0
  238. data/spec/spec/example/pending_module_spec.rb +58 -0
  239. data/spec/spec/example/predicate_matcher_spec.rb +41 -0
  240. data/spec/spec/example/shared_example_group_spec.rb +257 -0
  241. data/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  242. data/spec/spec/example/subject_spec.rb +103 -0
  243. data/spec/spec/expectations/differs/default_spec.rb +194 -0
  244. data/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  245. data/spec/spec/expectations/fail_with_spec.rb +96 -0
  246. data/spec/spec/expectations/handler_spec.rb +206 -0
  247. data/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  248. data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  249. data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  250. data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  251. data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  252. data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  253. data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  254. data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  255. data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  256. data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  257. data/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  258. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  259. data/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  260. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  261. data/spec/spec/matchers/be_close_spec.rb +50 -0
  262. data/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  263. data/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  264. data/spec/spec/matchers/be_spec.rb +311 -0
  265. data/spec/spec/matchers/change_spec.rb +349 -0
  266. data/spec/spec/matchers/compatibility_spec.rb +28 -0
  267. data/spec/spec/matchers/description_generation_spec.rb +160 -0
  268. data/spec/spec/matchers/dsl_spec.rb +34 -0
  269. data/spec/spec/matchers/eql_spec.rb +33 -0
  270. data/spec/spec/matchers/equal_spec.rb +57 -0
  271. data/spec/spec/matchers/exist_spec.rb +65 -0
  272. data/spec/spec/matchers/has_spec.rb +81 -0
  273. data/spec/spec/matchers/have_spec.rb +396 -0
  274. data/spec/spec/matchers/include_spec.rb +88 -0
  275. data/spec/spec/matchers/match_array_spec.rb +108 -0
  276. data/spec/spec/matchers/match_spec.rb +57 -0
  277. data/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  278. data/spec/spec/matchers/matcher_spec.rb +228 -0
  279. data/spec/spec/matchers/matchers_spec.rb +2 -0
  280. data/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  281. data/spec/spec/matchers/raise_error_spec.rb +333 -0
  282. data/spec/spec/matchers/respond_to_spec.rb +116 -0
  283. data/spec/spec/matchers/satisfy_spec.rb +36 -0
  284. data/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  285. data/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  286. data/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  287. data/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  288. data/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  289. data/spec/spec/mocks/at_least_spec.rb +97 -0
  290. data/spec/spec/mocks/at_most_spec.rb +93 -0
  291. data/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  292. data/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  293. data/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  294. data/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  295. data/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  296. data/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  297. data/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  298. data/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  299. data/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  300. data/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  301. data/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  302. data/spec/spec/mocks/double_spec.rb +12 -0
  303. data/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  304. data/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  305. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  306. data/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  307. data/spec/spec/mocks/mock_space_spec.rb +54 -0
  308. data/spec/spec/mocks/mock_spec.rb +594 -0
  309. data/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  310. data/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  311. data/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  312. data/spec/spec/mocks/once_counts_spec.rb +53 -0
  313. data/spec/spec/mocks/options_hash_spec.rb +35 -0
  314. data/spec/spec/mocks/partial_mock_spec.rb +164 -0
  315. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  316. data/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  317. data/spec/spec/mocks/precise_counts_spec.rb +52 -0
  318. data/spec/spec/mocks/record_messages_spec.rb +26 -0
  319. data/spec/spec/mocks/stub_chain_spec.rb +42 -0
  320. data/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  321. data/spec/spec/mocks/stub_spec.rb +203 -0
  322. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  323. data/spec/spec/mocks/twice_counts_spec.rb +67 -0
  324. data/spec/spec/mocks/unstub_spec.rb +127 -0
  325. data/spec/spec/package/bin_spec_spec.rb +16 -0
  326. data/spec/spec/rake/spectask_spec.rb +150 -0
  327. data/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  328. data/spec/spec/runner/command_line_spec.rb +141 -0
  329. data/spec/spec/runner/configuration_spec.rb +320 -0
  330. data/spec/spec/runner/drb_command_line_spec.rb +148 -0
  331. data/spec/spec/runner/empty_file.txt +0 -0
  332. data/spec/spec/runner/example_group_runner_spec.rb +26 -0
  333. data/spec/spec/runner/examples.txt +2 -0
  334. data/spec/spec/runner/failed.txt +3 -0
  335. data/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  336. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  337. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  338. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  339. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  340. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  341. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  342. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  343. data/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  344. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  345. data/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  346. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  347. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  348. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  349. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  350. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  351. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  352. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  353. data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  354. data/spec/spec/runner/heckle_runner_spec.rb +78 -0
  355. data/spec/spec/runner/heckler_spec.rb +20 -0
  356. data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  357. data/spec/spec/runner/line_number_query_spec.rb +129 -0
  358. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  359. data/spec/spec/runner/option_parser_spec.rb +554 -0
  360. data/spec/spec/runner/options_spec.rb +554 -0
  361. data/spec/spec/runner/output_one_time_fixture.rb +7 -0
  362. data/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  363. data/spec/spec/runner/output_one_time_spec.rb +15 -0
  364. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +105 -0
  365. data/spec/spec/runner/reporter_spec.rb +244 -0
  366. data/spec/spec/runner/resources/a_bar.rb +0 -0
  367. data/spec/spec/runner/resources/a_foo.rb +0 -0
  368. data/spec/spec/runner/resources/a_spec.rb +1 -0
  369. data/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  370. data/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  371. data/spec/spec/runner/spec.opts +2 -0
  372. data/spec/spec/runner/spec_drb.opts +2 -0
  373. data/spec/spec/runner/spec_spaced.opts +2 -0
  374. data/spec/spec/runner_spec.rb +13 -0
  375. data/spec/spec_helper.rb +112 -0
  376. data/spec/support/macros.rb +29 -0
  377. data/spec/support/spec_classes.rb +133 -0
  378. metadata +505 -0
@@ -0,0 +1,10 @@
1
+ rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
2
+ $:.unshift rspec_lib unless $:.include?(rspec_lib)
3
+ require 'spec/autorun'
4
+ require 'spec/test/unit'
5
+
6
+ class TestCaseWithErrors < Test::Unit::TestCase
7
+ def test_with_error
8
+ raise "error raised in TestCaseWithErrors"
9
+ end
10
+ end
@@ -0,0 +1,22 @@
1
+ rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
2
+ $:.unshift rspec_lib unless $:.include?(rspec_lib)
3
+ require 'spec/autorun'
4
+ require 'spec/test/unit'
5
+
6
+ class TestCaseThatPasses < Test::Unit::TestCase
7
+ def test_should_allow_underscore
8
+ assert true
9
+ end
10
+
11
+ def testShouldAllowUppercaseLetter
12
+ assert true
13
+ end
14
+
15
+ def testshouldallowlowercaseletter
16
+ assert true
17
+ end
18
+
19
+ define_method :"test: should allow punctuation" do
20
+ assert true
21
+ end
22
+ end
@@ -0,0 +1,38 @@
1
+ rspec_lib = File.dirname(__FILE__) + "/../../../../../../lib"
2
+ $:.unshift rspec_lib unless $:.include?(rspec_lib)
3
+ require 'spec/autorun'
4
+ require 'spec/test/unit'
5
+
6
+ module Test
7
+ module Unit
8
+ describe TestSuiteAdapter do
9
+ def create_adapter(group)
10
+ TestSuiteAdapter.new(group)
11
+ end
12
+
13
+ describe "#size" do
14
+ it "should return the number of examples in the example group" do
15
+ group = Class.new(Spec::ExampleGroup) do
16
+ describe("some examples")
17
+ it("bar") {}
18
+ it("baz") {}
19
+ end
20
+ adapter = create_adapter(group)
21
+ adapter.size.should == 2
22
+ end
23
+ end
24
+
25
+ describe "#delete" do
26
+ it "should do nothing" do
27
+ group = Class.new(Spec::ExampleGroup) do
28
+ describe("Some Examples")
29
+ it("does something") {}
30
+ end
31
+ adapter = create_adapter(group)
32
+ adapter.delete(adapter.examples.first)
33
+ adapter.should be_empty
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,48 @@
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
+
3
+ describe "ExampleGroup with test/unit/interop" do
4
+ include TestUnitSpecHelper
5
+
6
+ describe "with passing examples" do
7
+ it "should output 0 failures" do
8
+ output = ruby("#{resources}/spec_that_passes.rb")
9
+ output.should include("1 example, 0 failures")
10
+ end
11
+
12
+ it "should return an exit code of 0" do
13
+ ruby("#{resources}/spec_that_passes.rb")
14
+ $?.should == 0
15
+ end
16
+ end
17
+
18
+ describe "with failing examples" do
19
+ it "should output 1 failure" do
20
+ output = ruby("#{resources}/spec_that_fails.rb")
21
+ output.should include("1 example, 1 failure")
22
+ end
23
+
24
+ it "should return an exit code of 256" do
25
+ ruby("#{resources}/spec_that_fails.rb")
26
+ $?.should == 256
27
+ end
28
+ end
29
+
30
+ describe "with example that raises an error" do
31
+ it "should output 1 failure" do
32
+ output = ruby("#{resources}/spec_with_errors.rb")
33
+ output.should include("1 example, 1 failure")
34
+ end
35
+
36
+ it "should return an exit code of 256" do
37
+ ruby("#{resources}/spec_with_errors.rb")
38
+ $?.should == 256
39
+ end
40
+ end
41
+
42
+ describe "options hash" do
43
+ it "should be exposed" do
44
+ output = ruby("#{resources}/spec_with_options_hash.rb")
45
+ output.should include("1 example, 0 failures")
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+ require 'ruby_forker'
3
+
4
+ module TestUnitSpecHelper
5
+ include RubyForker
6
+
7
+ def resources
8
+ File.dirname(__FILE__) + "/resources"
9
+ end
10
+
11
+ def run_script(file_name)
12
+ output = ruby(file_name)
13
+ if !$?.success? || output.include?("FAILED") || output.include?("Error")
14
+ raise output
15
+ end
16
+ output
17
+ end
18
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
+
3
+ describe "Test::Unit::TestCase" do
4
+ include TestUnitSpecHelper
5
+
6
+ before(:each) do
7
+ @dir = File.dirname(__FILE__) + "/resources"
8
+ end
9
+
10
+ describe "with passing test case" do
11
+ it "should output 0 failures" do
12
+ output = ruby("#{@dir}/test_case_that_passes.rb")
13
+ output.should include("1 example, 0 failures")
14
+ end
15
+
16
+ it "should return an exit code of 0" do
17
+ ruby("#{@dir}/test_case_that_passes.rb")
18
+ $?.should == 0
19
+ end
20
+ end
21
+
22
+ describe "with failing test case" do
23
+ it "should output 1 failure" do
24
+ output = ruby("#{@dir}/test_case_that_fails.rb")
25
+ output.should include("1 example, 1 failure")
26
+ end
27
+
28
+ it "should return an exit code of 256" do
29
+ ruby("#{@dir}/test_case_that_fails.rb")
30
+ $?.should == 256
31
+ end
32
+ end
33
+
34
+ describe "with test case that raises an error" do
35
+ it "should output 1 failure" do
36
+ output = ruby("#{@dir}/test_case_with_errors.rb")
37
+ output.should include("1 example, 1 failure")
38
+ end
39
+
40
+ it "should return an exit code of 256" do
41
+ ruby("#{@dir}/test_case_with_errors.rb")
42
+ $?.should == 256
43
+ end
44
+ end
45
+
46
+ it "should find all Test::Unit test methods" do
47
+ output = ruby("#{@dir}/test_case_with_various_names.rb")
48
+ output.should include("4 examples, 0 failures")
49
+ end
50
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec/interop/test/unit/test_unit_spec_helper'
2
+
3
+ describe "TestSuiteAdapter" do
4
+ include TestUnitSpecHelper
5
+ it "should pass" do
6
+ dir = File.dirname(__FILE__)
7
+ run_script "#{dir}/resources/testsuite_adapter_spec_with_test_unit.rb"
8
+ end
9
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+ module Spec
3
+ module Matchers
4
+ describe "[actual.should] be_close(expected, delta)" do
5
+ it "matches when actual == expected" do
6
+ be_close(5.0, 0.5).matches?(5.0).should be_true
7
+ end
8
+ it "matches when actual < (expected + delta)" do
9
+ be_close(5.0, 0.5).matches?(5.49).should be_true
10
+ end
11
+ it "matches when actual > (expected - delta)" do
12
+ be_close(5.0, 0.5).matches?(4.51).should be_true
13
+ end
14
+ it "does not match when actual == (expected - delta)" do
15
+ be_close(5.0, 0.5).matches?(4.5).should be_false
16
+ end
17
+ it "does not match when actual < (expected - delta)" do
18
+ be_close(5.0, 0.5).matches?(4.49).should be_false
19
+ end
20
+ it "does not match when actual == (expected + delta)" do
21
+ be_close(5.0, 0.5).matches?(5.5).should be_false
22
+ end
23
+ it "does not match when actual > (expected + delta)" do
24
+ be_close(5.0, 0.5).matches?(5.51).should be_false
25
+ end
26
+ it "provides a failure message for should" do
27
+ #given
28
+ matcher = be_close(5.0, 0.5)
29
+ #when
30
+ matcher.matches?(5.51)
31
+ #then
32
+ matcher.failure_message_for_should.should == "expected 5.0 +/- (< 0.5), got 5.51"
33
+ end
34
+
35
+ it "provides a failure message for should tno" do
36
+ #given
37
+ matcher = be_close(5.0, 0.5)
38
+ #when
39
+ matcher.matches?(5.49)
40
+ #then
41
+ matcher.failure_message_for_should_not.should == "expected 5.0 +/- (< 0.5), got 5.49"
42
+ end
43
+ it "provides a description" do
44
+ matcher = be_close(5.0, 0.5)
45
+ matcher.matches?(5.1)
46
+ matcher.description.should == "be close to 5.0 (within +- 0.5)"
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+ module Spec
4
+ module Matchers
5
+ [:be_an_instance_of, :be_instance_of].each do |method|
6
+ describe "actual.should #{method}(expected)" do
7
+ it "passes if actual is instance of expected class" do
8
+ 5.should send(method, Fixnum)
9
+ end
10
+
11
+ it "fails if actual is instance of subclass of expected class" do
12
+ lambda { 5.should send(method, Numeric) }.should fail_with(%Q{expected 5 to be an instance of Numeric})
13
+ end
14
+
15
+ it "fails with failure message for should unless actual is instance of expected class" do
16
+ lambda { "foo".should send(method, Array) }.should fail_with(%Q{expected "foo" to be an instance of Array})
17
+ end
18
+
19
+ it "provides a description" do
20
+ matcher = be_an_instance_of(Fixnum)
21
+ matcher.matches?(Numeric)
22
+ matcher.description.should == "be an instance of Fixnum"
23
+ end
24
+ end
25
+
26
+ describe "actual.should_not #{method}(expected)" do
27
+
28
+ it "fails with failure message for should_not if actual is instance of expected class" do
29
+ lambda { "foo".should_not send(method, String) }.should fail_with(%Q{expected "foo" not to be an instance of String})
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ module Spec
4
+ module Matchers
5
+ [:be_a_kind_of, :be_kind_of].each do |method|
6
+ describe "actual.should #{method}(expected)" do
7
+ it "passes if actual is instance of expected class" do
8
+ 5.should send(method, Fixnum)
9
+ end
10
+
11
+ it "passes if actual is instance of subclass of expected class" do
12
+ 5.should send(method, Numeric)
13
+ end
14
+
15
+ it "fails with failure message for should unless actual is kind of expected class" do
16
+ lambda { "foo".should send(method, Array) }.should fail_with(%Q{expected "foo" to be a kind of Array})
17
+ end
18
+
19
+ it "provides a description" do
20
+ matcher = be_a_kind_of(String)
21
+ matcher.matches?("this")
22
+ matcher.description.should == "be a kind of String"
23
+ end
24
+ end
25
+
26
+ describe "actual.should_not #{method}(expected)" do
27
+ it "fails with failure message for should_not if actual is kind of expected class" do
28
+ lambda { "foo".should_not send(method, String) }.should fail_with(%Q{expected "foo" not to be a kind of String})
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,311 @@
1
+ require 'spec_helper'
2
+
3
+ describe "should be_predicate" do
4
+ it "should pass when actual returns true for :predicate?" do
5
+ actual = stub("actual", :happy? => true)
6
+ actual.should be_happy
7
+ end
8
+
9
+ it "should pass when actual returns true for :predicates? (present tense)" do
10
+ actual = stub("actual", :exists? => true, :exist? => true)
11
+ actual.should be_exist
12
+ end
13
+
14
+ it "should fail when actual returns false for :predicate?" do
15
+ actual = stub("actual", :happy? => false)
16
+ lambda {
17
+ actual.should be_happy
18
+ }.should fail_with("expected happy? to return true, got false")
19
+ end
20
+
21
+ it "should fail when actual returns false for :predicate?" do
22
+ actual = stub("actual", :happy? => nil)
23
+ lambda {
24
+ actual.should be_happy
25
+ }.should fail_with("expected happy? to return true, got nil")
26
+ end
27
+
28
+ it "should fail when actual does not respond to :predicate?" do
29
+ lambda {
30
+ Object.new.should be_happy
31
+ }.should raise_error(NameError, /happy\?/)
32
+ end
33
+
34
+ it "should fail on error other than NameError" do
35
+ actual = stub("actual")
36
+ actual.should_receive(:foo?).and_raise("aaaah")
37
+ lambda {
38
+ actual.should be_foo
39
+ }.should raise_error(/aaaah/)
40
+ end
41
+
42
+ it "should fail on error other than NameError (with the present tense predicate)" do
43
+ actual = Object.new
44
+ actual.should_receive(:foos?).and_raise("aaaah")
45
+ lambda {
46
+ actual.should be_foo
47
+ }.should raise_error(/aaaah/)
48
+ end
49
+ end
50
+
51
+ describe "should_not be_predicate" do
52
+ it "should pass when actual returns false for :sym?" do
53
+ actual = stub("actual", :happy? => false)
54
+ actual.should_not be_happy
55
+ end
56
+
57
+ it "should pass when actual returns nil for :sym?" do
58
+ actual = stub("actual", :happy? => nil)
59
+ actual.should_not be_happy
60
+ end
61
+
62
+ it "should fail when actual returns true for :sym?" do
63
+ actual = stub("actual", :happy? => true)
64
+ lambda {
65
+ actual.should_not be_happy
66
+ }.should fail_with("expected happy? to return false, got true")
67
+ end
68
+
69
+ it "should fail when actual does not respond to :sym?" do
70
+ lambda {
71
+ Object.new.should_not be_happy
72
+ }.should raise_error(NameError)
73
+ end
74
+ end
75
+
76
+ describe "should be_predicate(*args)" do
77
+ it "should pass when actual returns true for :predicate?(*args)" do
78
+ actual = mock("actual")
79
+ actual.should_receive(:older_than?).with(3).and_return(true)
80
+ actual.should be_older_than(3)
81
+ end
82
+
83
+ it "should fail when actual returns false for :predicate?(*args)" do
84
+ actual = mock("actual")
85
+ actual.should_receive(:older_than?).with(3).and_return(false)
86
+ lambda {
87
+ actual.should be_older_than(3)
88
+ }.should fail_with("expected older_than?(3) to return true, got false")
89
+ end
90
+
91
+ it "should fail when actual does not respond to :predicate?" do
92
+ lambda {
93
+ Object.new.should be_older_than(3)
94
+ }.should raise_error(NameError)
95
+ end
96
+ end
97
+
98
+ describe "should_not be_predicate(*args)" do
99
+ it "should pass when actual returns false for :predicate?(*args)" do
100
+ actual = mock("actual")
101
+ actual.should_receive(:older_than?).with(3).and_return(false)
102
+ actual.should_not be_older_than(3)
103
+ end
104
+
105
+ it "should fail when actual returns true for :predicate?(*args)" do
106
+ actual = mock("actual")
107
+ actual.should_receive(:older_than?).with(3).and_return(true)
108
+ lambda {
109
+ actual.should_not be_older_than(3)
110
+ }.should fail_with("expected older_than?(3) to return false, got true")
111
+ end
112
+
113
+ it "should fail when actual does not respond to :predicate?" do
114
+ lambda {
115
+ Object.new.should_not be_older_than(3)
116
+ }.should raise_error(NameError)
117
+ end
118
+ end
119
+
120
+ describe "should be_true" do
121
+ it "should pass when actual equal(true)" do
122
+ true.should be_true
123
+ end
124
+
125
+ it "should fail when actual equal(false)" do
126
+ lambda {
127
+ false.should be_true
128
+ }.should fail_with("expected true, got false")
129
+ end
130
+ end
131
+
132
+ describe "should be_false" do
133
+ it "should pass when actual equal(false)" do
134
+ false.should be_false
135
+ end
136
+
137
+ it "should fail when actual equal(true)" do
138
+ lambda {
139
+ true.should be_false
140
+ }.should fail_with("expected false, got true")
141
+ end
142
+ end
143
+
144
+ describe "should be_nil" do
145
+ it "should pass when actual is nil" do
146
+ nil.should be_nil
147
+ end
148
+
149
+ it "should fail when actual is not nil" do
150
+ lambda {
151
+ :not_nil.should be_nil
152
+ }.should fail_with("expected nil, got :not_nil")
153
+ end
154
+ end
155
+
156
+ describe "should_not be_nil" do
157
+ it "should pass when actual is not nil" do
158
+ :not_nil.should_not be_nil
159
+ end
160
+
161
+ it "should fail when actual is nil" do
162
+ lambda {
163
+ nil.should_not be_nil
164
+ }.should fail_with("expected not nil, got nil")
165
+ end
166
+ end
167
+
168
+ describe "should be <" do
169
+ it "should pass when < operator returns true" do
170
+ 3.should be < 4
171
+ end
172
+
173
+ it "should fail when < operator returns false" do
174
+ lambda { 3.should be < 3 }.should fail_with("expected < 3, got 3")
175
+ end
176
+ end
177
+
178
+ describe "should be <=" do
179
+ it "should pass when <= operator returns true" do
180
+ 3.should be <= 4
181
+ 4.should be <= 4
182
+ end
183
+
184
+ it "should fail when <= operator returns false" do
185
+ lambda { 3.should be <= 2 }.should fail_with("expected <= 2, got 3")
186
+ end
187
+ end
188
+
189
+ describe "should be >=" do
190
+ it "should pass when >= operator returns true" do
191
+ 4.should be >= 4
192
+ 5.should be >= 4
193
+ end
194
+
195
+ it "should fail when >= operator returns false" do
196
+ lambda { 3.should be >= 4 }.should fail_with("expected >= 4, got 3")
197
+ end
198
+ end
199
+
200
+ describe "should be >" do
201
+ it "should pass when > operator returns true" do
202
+ 5.should be > 4
203
+ end
204
+
205
+ it "should fail when > operator returns false" do
206
+ lambda { 3.should be > 4 }.should fail_with("expected > 4, got 3")
207
+ end
208
+ end
209
+
210
+ describe "should be ==" do
211
+ it "should pass when == operator returns true" do
212
+ 5.should be == 5
213
+ end
214
+
215
+ it "should fail when == operator returns false" do
216
+ lambda { 3.should be == 4 }.should fail_with("expected == 4, got 3")
217
+ end
218
+ end
219
+
220
+ describe "should be ===" do
221
+ it "should pass when === operator returns true" do
222
+ Hash.should be === Hash.new
223
+ end
224
+
225
+ it "should fail when === operator returns false" do
226
+ lambda { Hash.should be === "not a hash" }.should fail_with(%[expected === not a hash, got Hash])
227
+ end
228
+ end
229
+
230
+ describe "should_not with operators" do
231
+ it "should coach user to stop using operators with should_not" do
232
+ lambda {
233
+ 5.should_not be < 6
234
+ }.should raise_error(/not only FAILED,\nit is a bit confusing./m)
235
+ end
236
+ end
237
+
238
+ describe "should be" do
239
+ it "should pass if actual is true or a set value" do
240
+ true.should be
241
+ 1.should be
242
+ end
243
+
244
+ it "should fail if actual is false" do
245
+ lambda {false.should be}.should fail_with("expected true, got false")
246
+ end
247
+
248
+ it "should fail if actual is nil" do
249
+ lambda {nil.should be}.should fail_with("expected true, got nil")
250
+ end
251
+ end
252
+
253
+ describe "should be(value)" do
254
+ it "should pass if actual.equal?(value)" do
255
+ 5.should be(5)
256
+ end
257
+ it "should fail if !actual.equal?(value)" do
258
+ lambda { 5.should be(6) }.should fail_with("expected 6, got 5")
259
+ end
260
+ end
261
+
262
+ describe "'should be' with operator" do
263
+ it "should include 'be' in the description" do
264
+ (be > 6).description.should =~ /be > 6/
265
+ (be >= 6).description.should =~ /be >= 6/
266
+ (be <= 6).description.should =~ /be <= 6/
267
+ (be < 6).description.should =~ /be < 6/
268
+ end
269
+ end
270
+
271
+
272
+ describe "arbitrary predicate with DelegateClass" do
273
+ it "should access methods defined in the delegating class (LH[#48])" do
274
+ require 'delegate'
275
+ class ArrayDelegate < DelegateClass(Array)
276
+ def initialize(array)
277
+ @internal_array = array
278
+ super(@internal_array)
279
+ end
280
+
281
+ def large?
282
+ @internal_array.size >= 5
283
+ end
284
+ end
285
+
286
+ delegate = ArrayDelegate.new([1,2,3,4,5,6])
287
+ delegate.should be_large
288
+ end
289
+ end
290
+
291
+ describe "be_a, be_an" do
292
+ it "should pass when class matches" do
293
+ "foobar".should be_a(String)
294
+ [1,2,3].should be_an(Array)
295
+ end
296
+
297
+ it "should fail when class does not match" do
298
+ "foobar".should_not be_a(Hash)
299
+ [1,2,3].should_not be_an(Integer)
300
+ end
301
+ end
302
+
303
+ describe "be_an_instance_of" do
304
+ it "passes when direct class matches" do
305
+ 5.should be_an_instance_of(Fixnum)
306
+ end
307
+
308
+ it "fails when class is higher up hierarchy" do
309
+ 5.should_not be_an_instance_of(Numeric)
310
+ end
311
+ end