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,338 +0,0 @@
1
- require 'erb'
2
- require 'spec/runner/formatter/base_text_formatter'
3
- require 'spec/runner/formatter/no_op_method_missing'
4
-
5
- module Spec
6
- module Runner
7
- module Formatter
8
- class HtmlFormatter < BaseTextFormatter
9
- include ERB::Util # for the #h method
10
- include NOOPMethodMissing
11
-
12
- def initialize(options, output)
13
- super
14
- @example_group_number = 0
15
- @example_number = 0
16
- @header_red = nil
17
- end
18
-
19
- # The number of the currently running example_group
20
- def example_group_number
21
- @example_group_number
22
- end
23
-
24
- # The number of the currently running example (a global counter)
25
- def example_number
26
- @example_number
27
- end
28
-
29
- def start(example_count)
30
- @example_count = example_count
31
-
32
- @output.puts html_header
33
- @output.puts report_header
34
- @output.flush
35
- end
36
-
37
- def example_group_started(example_group)
38
- super
39
- @example_group_red = false
40
- @example_group_number += 1
41
- unless example_group_number == 1
42
- @output.puts " </dl>"
43
- @output.puts "</div>"
44
- end
45
- @output.puts "<div class=\"example_group\">"
46
- @output.puts " <dl>"
47
- @output.puts " <dt id=\"example_group_#{example_group_number}\">#{h(example_group.description)}</dt>"
48
- @output.flush
49
- end
50
-
51
- def start_dump
52
- @output.puts " </dl>"
53
- @output.puts "</div>"
54
- @output.flush
55
- end
56
-
57
- def example_started(example)
58
- @example_number += 1
59
- end
60
-
61
- def example_passed(example)
62
- move_progress
63
- @output.puts " <dd class=\"spec passed\"><span class=\"passed_spec_name\">#{h(example.description)}</span></dd>"
64
- @output.flush
65
- end
66
-
67
- def example_failed(example, counter, failure)
68
- extra = extra_failure_content(failure)
69
- failure_style = failure.pending_fixed? ? 'pending_fixed' : 'failed'
70
- @output.puts " <script type=\"text/javascript\">makeRed('rspec-header');</script>" unless @header_red
71
- @header_red = true
72
- @output.puts " <script type=\"text/javascript\">makeRed('example_group_#{example_group_number}');</script>" unless @example_group_red
73
- @example_group_red = true
74
- move_progress
75
- @output.puts " <dd class=\"spec #{failure_style}\">"
76
- @output.puts " <span class=\"failed_spec_name\">#{h(example.description)}</span>"
77
- @output.puts " <div class=\"failure\" id=\"failure_#{counter}\">"
78
- @output.puts " <div class=\"message\"><pre>#{h(failure.exception.message)}</pre></div>" unless failure.exception.nil?
79
- @output.puts " <div class=\"backtrace\"><pre>#{format_backtrace(failure.exception.backtrace)}</pre></div>" unless failure.exception.nil?
80
- @output.puts extra unless extra == ""
81
- @output.puts " </div>"
82
- @output.puts " </dd>"
83
- @output.flush
84
- end
85
-
86
- def example_pending(example, message, deprecated_pending_location=nil)
87
- @output.puts " <script type=\"text/javascript\">makeYellow('rspec-header');</script>" unless @header_red
88
- @output.puts " <script type=\"text/javascript\">makeYellow('example_group_#{example_group_number}');</script>" unless @example_group_red
89
- move_progress
90
- @output.puts " <dd class=\"spec not_implemented\"><span class=\"not_implemented_spec_name\">#{h(example.description)} (PENDING: #{h(message)})</span></dd>"
91
- @output.flush
92
- end
93
-
94
- # Override this method if you wish to output extra HTML for a failed spec. For example, you
95
- # could output links to images or other files produced during the specs.
96
- #
97
- def extra_failure_content(failure)
98
- require 'spec/runner/formatter/snippet_extractor'
99
- @snippet_extractor ||= SnippetExtractor.new
100
- " <pre class=\"ruby\"><code>#{@snippet_extractor.snippet(failure.exception)}</code></pre>"
101
- end
102
-
103
- def move_progress
104
- @output.puts " <script type=\"text/javascript\">moveProgressBar('#{percent_done}');</script>"
105
- @output.flush
106
- end
107
-
108
- def percent_done
109
- result = 100.0
110
- if @example_count != 0
111
- result = ((example_number).to_f / @example_count.to_f * 1000).to_i / 10.0
112
- end
113
- result
114
- end
115
-
116
- def dump_failure(counter, failure)
117
- end
118
-
119
- def dump_summary(duration, example_count, failure_count, pending_count)
120
- if dry_run?
121
- totals = "This was a dry-run"
122
- else
123
- totals = "#{example_count} example#{'s' unless example_count == 1}, #{failure_count} failure#{'s' unless failure_count == 1}"
124
- totals << ", #{pending_count} pending" if pending_count > 0
125
- end
126
- @output.puts "<script type=\"text/javascript\">document.getElementById('duration').innerHTML = \"Finished in <strong>#{duration} seconds</strong>\";</script>"
127
- @output.puts "<script type=\"text/javascript\">document.getElementById('totals').innerHTML = \"#{totals}\";</script>"
128
- @output.puts "</div>"
129
- @output.puts "</div>"
130
- @output.puts "</body>"
131
- @output.puts "</html>"
132
- @output.flush
133
- end
134
-
135
- def html_header
136
- <<-EOF
137
- <?xml version="1.0" encoding="UTF-8"?>
138
- <!DOCTYPE html
139
- PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
140
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
141
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
142
- <head>
143
- <title>RSpec results</title>
144
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
145
- <meta http-equiv="Expires" content="-1" />
146
- <meta http-equiv="Pragma" content="no-cache" />
147
- <style type="text/css">
148
- body {
149
- margin: 0;
150
- padding: 0;
151
- background: #fff;
152
- font-size: 80%;
153
- }
154
- </style>
155
- <script type="text/javascript">
156
- // <![CDATA[
157
- #{global_scripts}
158
- // ]]>
159
- </script>
160
- <style type="text/css">
161
- #{global_styles}
162
- </style>
163
- </head>
164
- <body>
165
- EOF
166
- end
167
-
168
- def report_header
169
- <<-EOF
170
- <div class="rspec-report">
171
-
172
- <div id="rspec-header">
173
- <div id="label">
174
- <h1>RSpec Code Examples</h1>
175
- </div>
176
-
177
- <div id="summary">
178
- <p id="totals">&nbsp;</p>
179
- <p id="duration">&nbsp;</p>
180
- </div>
181
- </div>
182
-
183
- <div class="results">
184
- EOF
185
- end
186
-
187
- def global_scripts
188
- <<-EOF
189
- function moveProgressBar(percentDone) {
190
- document.getElementById("rspec-header").style.width = percentDone +"%";
191
- }
192
- function makeRed(element_id) {
193
- document.getElementById(element_id).style.background = '#C40D0D';
194
- document.getElementById(element_id).style.color = '#FFFFFF';
195
- }
196
-
197
- function makeYellow(element_id) {
198
- if (element_id == "rspec-header" && document.getElementById(element_id).style.background != '#C40D0D')
199
- {
200
- document.getElementById(element_id).style.background = '#FAF834';
201
- document.getElementById(element_id).style.color = '#000000';
202
- }
203
- else
204
- {
205
- document.getElementById(element_id).style.background = '#FAF834';
206
- document.getElementById(element_id).style.color = '#000000';
207
- }
208
- }
209
- EOF
210
- end
211
-
212
- def global_styles
213
- <<-EOF
214
- #rspec-header {
215
- background: #65C400; color: #fff; height: 4em;
216
- }
217
-
218
- .rspec-report h1 {
219
- margin: 0px 10px 0px 10px;
220
- padding: 10px;
221
- font-family: "Lucida Grande", Helvetica, sans-serif;
222
- font-size: 1.8em;
223
- position: absolute;
224
- }
225
-
226
- #summary {
227
- margin: 0; padding: 5px 10px;
228
- font-family: "Lucida Grande", Helvetica, sans-serif;
229
- text-align: right;
230
- top: 0px;
231
- right: 0px;
232
- float:right;
233
- }
234
-
235
- #summary p {
236
- margin: 0 0 0 2px;
237
- }
238
-
239
- #summary #totals {
240
- font-size: 1.2em;
241
- }
242
-
243
- .example_group {
244
- margin: 0 10px 5px;
245
- background: #fff;
246
- }
247
-
248
- dl {
249
- margin: 0; padding: 0 0 5px;
250
- font: normal 11px "Lucida Grande", Helvetica, sans-serif;
251
- }
252
-
253
- dt {
254
- padding: 3px;
255
- background: #65C400;
256
- color: #fff;
257
- font-weight: bold;
258
- }
259
-
260
- dd {
261
- margin: 5px 0 5px 5px;
262
- padding: 3px 3px 3px 18px;
263
- }
264
-
265
- dd.spec.passed {
266
- border-left: 5px solid #65C400;
267
- border-bottom: 1px solid #65C400;
268
- background: #DBFFB4; color: #3D7700;
269
- }
270
-
271
- dd.spec.failed {
272
- border-left: 5px solid #C20000;
273
- border-bottom: 1px solid #C20000;
274
- color: #C20000; background: #FFFBD3;
275
- }
276
-
277
- dd.spec.not_implemented {
278
- border-left: 5px solid #FAF834;
279
- border-bottom: 1px solid #FAF834;
280
- background: #FCFB98; color: #131313;
281
- }
282
-
283
- dd.spec.pending_fixed {
284
- border-left: 5px solid #0000C2;
285
- border-bottom: 1px solid #0000C2;
286
- color: #0000C2; background: #D3FBFF;
287
- }
288
-
289
- .backtrace {
290
- color: #000;
291
- font-size: 12px;
292
- }
293
-
294
- a {
295
- color: #BE5C00;
296
- }
297
-
298
- /* Ruby code, style similar to vibrant ink */
299
- .ruby {
300
- font-size: 12px;
301
- font-family: monospace;
302
- color: white;
303
- background-color: black;
304
- padding: 0.1em 0 0.2em 0;
305
- }
306
-
307
- .ruby .keyword { color: #FF6600; }
308
- .ruby .constant { color: #339999; }
309
- .ruby .attribute { color: white; }
310
- .ruby .global { color: white; }
311
- .ruby .module { color: white; }
312
- .ruby .class { color: white; }
313
- .ruby .string { color: #66FF00; }
314
- .ruby .ident { color: white; }
315
- .ruby .method { color: #FFCC00; }
316
- .ruby .number { color: white; }
317
- .ruby .char { color: white; }
318
- .ruby .comment { color: #9933CC; }
319
- .ruby .symbol { color: white; }
320
- .ruby .regex { color: #44B4CC; }
321
- .ruby .punct { color: white; }
322
- .ruby .escape { color: white; }
323
- .ruby .interp { color: white; }
324
- .ruby .expr { color: white; }
325
-
326
- .ruby .offending { background-color: gray; }
327
- .ruby .linenum {
328
- width: 75px;
329
- padding: 0.1em 1em 0.2em 0;
330
- color: #000000;
331
- background-color: #FFFBD3;
332
- }
333
- EOF
334
- end
335
- end
336
- end
337
- end
338
- end
@@ -1,50 +0,0 @@
1
- require 'spec/runner/formatter/base_text_formatter'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- class NestedTextFormatter < BaseTextFormatter
7
-
8
- INDENT = ' '
9
-
10
- def initialize(options, where)
11
- super
12
- @last_nested_descriptions = []
13
- end
14
-
15
- def example_group_started(example_group)
16
- super
17
-
18
- example_group.nested_descriptions.each_with_index do |nested_description, i|
19
- unless example_group.nested_descriptions[0..i] == @last_nested_descriptions[0..i]
20
- output.puts "#{INDENT*i}#{nested_description}"
21
- end
22
- end
23
-
24
- @last_nested_descriptions = example_group.nested_descriptions
25
- end
26
-
27
- def example_failed(example, counter, failure)
28
- output.puts(red("#{current_indentation}#{example.description} (FAILED - #{counter})"))
29
- output.flush
30
- end
31
-
32
- def example_passed(example)
33
- message = "#{current_indentation}#{example.description}"
34
- output.puts green(message)
35
- output.flush
36
- end
37
-
38
- def example_pending(example, message, deprecated_pending_location=nil)
39
- super
40
- output.puts yellow("#{current_indentation}#{example.description} (PENDING: #{message})")
41
- output.flush
42
- end
43
-
44
- def current_indentation
45
- INDENT*@last_nested_descriptions.length
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,21 +0,0 @@
1
- module Spec
2
- module Runner
3
- module Formatter
4
- module NOOPMethodMissing
5
- def respond_to?(message, include_private = false)
6
- if include_private
7
- true
8
- else
9
- !private_methods.any? {|m| [message.to_s, message.to_sym].include?(m)}
10
- end
11
- end
12
-
13
- private
14
-
15
- def method_missing(sym, *args)
16
- # a no-op
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,47 +0,0 @@
1
- require 'spec/runner/formatter/progress_bar_formatter'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- class ProfileFormatter < ProgressBarFormatter
7
-
8
- def initialize(options, where)
9
- super
10
- @example_times = []
11
- end
12
-
13
- def start(count)
14
- @output.puts "Profiling enabled."
15
- end
16
-
17
- def example_started(example)
18
- @time = Time.now
19
- end
20
-
21
- def example_passed(example)
22
- super
23
- @example_times << [
24
- example_group.description,
25
- example.description,
26
- Time.now - @time
27
- ]
28
- end
29
-
30
- def start_dump
31
- super
32
- @output.puts "\n\nTop 10 slowest examples:\n"
33
-
34
- @example_times = @example_times.sort_by do |description, example, time|
35
- time
36
- end.reverse
37
-
38
- @example_times[0..9].each do |description, example, time|
39
- @output.print red(sprintf("%.7f", time))
40
- @output.puts " #{description} #{example}"
41
- end
42
- @output.flush
43
- end
44
- end
45
- end
46
- end
47
- end
@@ -1,33 +0,0 @@
1
- require 'spec/runner/formatter/base_text_formatter'
2
- require 'spec/runner/formatter/no_op_method_missing'
3
-
4
- module Spec
5
- module Runner
6
- module Formatter
7
- class ProgressBarFormatter < BaseTextFormatter
8
- include NOOPMethodMissing
9
-
10
- def example_failed(example, counter, failure)
11
- @output.print colorize_failure('F', failure)
12
- @output.flush
13
- end
14
-
15
- def example_passed(example)
16
- @output.print green('.')
17
- @output.flush
18
- end
19
-
20
- def example_pending(example, message, deprecated_pending_location=nil)
21
- super
22
- @output.print yellow('*')
23
- @output.flush
24
- end
25
-
26
- def start_dump
27
- @output.puts
28
- @output.flush
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,10 +0,0 @@
1
- require 'spec/runner/formatter/base_formatter'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- class SilentFormatter < BaseFormatter
7
- end
8
- end
9
- end
10
- end
@@ -1,52 +0,0 @@
1
- module Spec
2
- module Runner
3
- module Formatter
4
- # This class extracts code snippets by looking at the backtrace of the passed error
5
- class SnippetExtractor #:nodoc:
6
- class NullConverter; def convert(code, pre); code; end; end #:nodoc:
7
- begin; require 'syntax/convertors/html'; @@converter = Syntax::Convertors::HTML.for_syntax "ruby"; rescue LoadError => e; @@converter = NullConverter.new; end
8
-
9
- def snippet(error)
10
- raw_code, line = snippet_for(error.backtrace[0])
11
- highlighted = @@converter.convert(raw_code, false)
12
- highlighted << "\n<span class=\"comment\"># gem install syntax to get syntax highlighting</span>" if @@converter.is_a?(NullConverter)
13
- post_process(highlighted, line)
14
- end
15
-
16
- def snippet_for(error_line)
17
- if error_line =~ /(.*):(\d+)/
18
- file = $1
19
- line = $2.to_i
20
- [lines_around(file, line), line]
21
- else
22
- ["# Couldn't get snippet for #{error_line}", 1]
23
- end
24
- end
25
-
26
- def lines_around(file, line)
27
- if File.file?(file)
28
- lines = File.open(file).read.split("\n")
29
- min = [0, line-3].max
30
- max = [line+1, lines.length-1].min
31
- selected_lines = []
32
- selected_lines.join("\n")
33
- lines[min..max].join("\n")
34
- else
35
- "# Couldn't get snippet for #{file}"
36
- end
37
- end
38
-
39
- def post_process(highlighted, offending_line)
40
- new_lines = []
41
- highlighted.split("\n").each_with_index do |line, i|
42
- new_line = "<span class=\"linenum\">#{offending_line+i-2}</span>#{line}"
43
- new_line = "<span class=\"offending\">#{new_line}</span>" if i == 2
44
- new_lines << new_line
45
- end
46
- new_lines.join("\n")
47
- end
48
-
49
- end
50
- end
51
- end
52
- end
@@ -1,33 +0,0 @@
1
- require 'spec/runner/formatter/base_text_formatter'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- class SpecdocFormatter < BaseTextFormatter
7
- def example_group_started(example_group)
8
- super
9
- output.puts
10
- output.puts example_group.description
11
- output.flush
12
- end
13
-
14
- def example_failed(example, counter, failure)
15
- output.puts(red("- #{example.description} (FAILED - #{counter})"))
16
- output.flush
17
- end
18
-
19
- def example_passed(example)
20
- message = "- #{example.description}"
21
- output.puts green(message)
22
- output.flush
23
- end
24
-
25
- def example_pending(example, message, deprecated_pending_location=nil)
26
- super
27
- output.puts yellow("- #{example.description} (PENDING: #{message})")
28
- output.flush
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,16 +0,0 @@
1
- require 'spec/runner/formatter/html_formatter'
2
-
3
- module Spec
4
- module Runner
5
- module Formatter
6
- # Formats backtraces so they're clickable by TextMate
7
- class TextMateFormatter < HtmlFormatter
8
- def backtrace_line(line)
9
- line.gsub(/([^:]*\.rb):(\d*)/) do
10
- "<a href=\"txmt://open?url=file://#{File.expand_path($1)}&line=#{$2}\">#{$1}:#{$2}</a> "
11
- end
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,72 +0,0 @@
1
- if Spec::Ruby.version.to_f < 1.9
2
- begin
3
- require 'rubygems' unless ENV['NO_RUBYGEMS']
4
- require 'heckle'
5
- rescue LoadError ; raise "You must gem install heckle to use --heckle" ; end
6
-
7
- module Spec
8
- module Runner
9
- # Creates a new Heckler configured to heckle all methods in the classes
10
- # whose name matches +filter+
11
- class HeckleRunner
12
- def initialize(filter, heckle_class=Heckler)
13
- @filter = filter
14
- @heckle_class = heckle_class
15
- end
16
-
17
- # Runs all the example groups held by +rspec_options+ once for each of the
18
- # methods in the matched classes.
19
- def heckle_with
20
- if @filter =~ /(.*)[#\.](.*)/
21
- heckle_method($1, $2)
22
- else
23
- heckle_class_or_module(@filter)
24
- end
25
- end
26
-
27
- def heckle_method(class_name, method_name)
28
- verify_constant(class_name)
29
- heckle = @heckle_class.new(class_name, method_name, Spec::Runner.options)
30
- heckle.validate
31
- end
32
-
33
- def heckle_class_or_module(class_or_module_name)
34
- verify_constant(class_or_module_name)
35
- pattern = /^#{class_or_module_name}/
36
- classes = []
37
- ObjectSpace.each_object(Class) do |klass|
38
- classes << klass if klass.name =~ pattern
39
- end
40
-
41
- classes.each do |klass|
42
- klass.instance_methods(false).each do |method_name|
43
- heckle = @heckle_class.new(klass.name, method_name, Spec::Runner.options)
44
- heckle.validate
45
- end
46
- end
47
- end
48
-
49
- def verify_constant(name)
50
- begin
51
- # This is defined in Heckle
52
- name.to_class
53
- rescue
54
- raise "Heckling failed - \"#{name}\" is not a known class or module"
55
- end
56
- end
57
- end
58
-
59
- class Heckler < Heckle
60
- def initialize(klass_name, method_name, rspec_options)
61
- super(klass_name, method_name)
62
- @rspec_options = rspec_options
63
- end
64
-
65
- def tests_pass?
66
- @rspec_options.run_examples
67
- end
68
-
69
- end
70
- end
71
- end
72
- end
@@ -1,10 +0,0 @@
1
- module Spec
2
- module Runner
3
- # Dummy implementation for Windows that just fails (Heckle is not supported on Windows)
4
- class HeckleRunner
5
- def initialize(filter)
6
- raise "Heckle is not supported on Windows or Ruby 1.9"
7
- end
8
- end
9
- end
10
- end