rspec 0.0.10 → 0.1.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 (395) hide show
  1. data/CHANGES +8 -0
  2. data/README +20 -0
  3. data/Rakefile.rb +122 -0
  4. data/lib/rspec.rb +9 -0
  5. data/lib/spec.rb +4 -29
  6. data/lib/spec/context.rb +61 -0
  7. data/lib/spec/{mocks/errors.rb → exceptions.rb} +5 -4
  8. data/lib/spec/expectations.rb +61 -50
  9. data/lib/spec/mock.rb +104 -0
  10. data/lib/spec/text_runner.rb +84 -0
  11. metadata +48 -452
  12. data/.autotest +0 -3
  13. data/.gitignore +0 -7
  14. data/History.txt +0 -1104
  15. data/MIT-LICENSE +0 -20
  16. data/Manifest.txt +0 -387
  17. data/README.txt +0 -36
  18. data/Rakefile +0 -88
  19. data/TODO +0 -1
  20. data/bin/autospec +0 -3
  21. data/bin/spec +0 -4
  22. data/bin/spec_translator +0 -8
  23. data/examples/pure/autogenerated_docstrings_example.rb +0 -19
  24. data/examples/pure/before_and_after_example.rb +0 -40
  25. data/examples/pure/behave_as_example.rb +0 -45
  26. data/examples/pure/custom_expectation_matchers.rb +0 -54
  27. data/examples/pure/custom_formatter.rb +0 -12
  28. data/examples/pure/dynamic_spec.rb +0 -9
  29. data/examples/pure/file_accessor.rb +0 -19
  30. data/examples/pure/file_accessor_spec.rb +0 -38
  31. data/examples/pure/greeter_spec.rb +0 -31
  32. data/examples/pure/helper_method_example.rb +0 -14
  33. data/examples/pure/io_processor.rb +0 -8
  34. data/examples/pure/io_processor_spec.rb +0 -21
  35. data/examples/pure/legacy_spec.rb +0 -11
  36. data/examples/pure/mocking_example.rb +0 -27
  37. data/examples/pure/multi_threaded_behaviour_runner.rb +0 -28
  38. data/examples/pure/nested_classes_example.rb +0 -36
  39. data/examples/pure/partial_mock_example.rb +0 -29
  40. data/examples/pure/pending_example.rb +0 -20
  41. data/examples/pure/predicate_example.rb +0 -27
  42. data/examples/pure/priority.txt +0 -1
  43. data/examples/pure/shared_example_group_example.rb +0 -81
  44. data/examples/pure/shared_stack_examples.rb +0 -38
  45. data/examples/pure/spec_helper.rb +0 -3
  46. data/examples/pure/stack.rb +0 -36
  47. data/examples/pure/stack_spec.rb +0 -63
  48. data/examples/pure/stack_spec_with_nested_example_groups.rb +0 -67
  49. data/examples/pure/stubbing_example.rb +0 -69
  50. data/examples/stories/adder.rb +0 -13
  51. data/examples/stories/addition +0 -34
  52. data/examples/stories/addition.rb +0 -9
  53. data/examples/stories/calculator.rb +0 -65
  54. data/examples/stories/game-of-life/.loadpath +0 -5
  55. data/examples/stories/game-of-life/README.txt +0 -21
  56. data/examples/stories/game-of-life/behaviour/everything.rb +0 -6
  57. data/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
  58. data/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
  59. data/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
  60. data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
  61. data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
  62. data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
  63. data/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
  64. data/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
  65. data/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
  66. data/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
  67. data/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
  68. data/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
  69. data/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
  70. data/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
  71. data/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
  72. data/examples/stories/game-of-life/life.rb +0 -3
  73. data/examples/stories/game-of-life/life/game.rb +0 -23
  74. data/examples/stories/game-of-life/life/grid.rb +0 -43
  75. data/examples/stories/helper.rb +0 -9
  76. data/examples/stories/steps/addition_steps.rb +0 -18
  77. data/failing_examples/README.txt +0 -7
  78. data/failing_examples/diffing_spec.rb +0 -36
  79. data/failing_examples/failing_autogenerated_docstrings_example.rb +0 -19
  80. data/failing_examples/failure_in_setup.rb +0 -10
  81. data/failing_examples/failure_in_teardown.rb +0 -10
  82. data/failing_examples/mocking_example.rb +0 -40
  83. data/failing_examples/mocking_with_flexmock.rb +0 -26
  84. data/failing_examples/mocking_with_mocha.rb +0 -25
  85. data/failing_examples/mocking_with_rr.rb +0 -27
  86. data/failing_examples/partial_mock_example.rb +0 -20
  87. data/failing_examples/predicate_example.rb +0 -29
  88. data/failing_examples/raising_example.rb +0 -47
  89. data/failing_examples/spec_helper.rb +0 -3
  90. data/failing_examples/syntax_error_example.rb +0 -7
  91. data/failing_examples/team_spec.rb +0 -44
  92. data/failing_examples/timeout_behaviour.rb +0 -7
  93. data/init.rb +0 -9
  94. data/lib/autotest/discover.rb +0 -3
  95. data/lib/autotest/rspec.rb +0 -72
  96. data/lib/spec/adapters.rb +0 -1
  97. data/lib/spec/adapters/ruby_engine.rb +0 -26
  98. data/lib/spec/adapters/ruby_engine/mri.rb +0 -8
  99. data/lib/spec/adapters/ruby_engine/rubinius.rb +0 -8
  100. data/lib/spec/example.rb +0 -12
  101. data/lib/spec/example/configuration.rb +0 -158
  102. data/lib/spec/example/errors.rb +0 -9
  103. data/lib/spec/example/example_group.rb +0 -17
  104. data/lib/spec/example/example_group_factory.rb +0 -64
  105. data/lib/spec/example/example_group_methods.rb +0 -440
  106. data/lib/spec/example/example_matcher.rb +0 -44
  107. data/lib/spec/example/example_methods.rb +0 -112
  108. data/lib/spec/example/module_inclusion_warnings.rb +0 -38
  109. data/lib/spec/example/module_reopening_fix.rb +0 -21
  110. data/lib/spec/example/pending.rb +0 -18
  111. data/lib/spec/example/shared_example_group.rb +0 -58
  112. data/lib/spec/expectations/differs/default.rb +0 -66
  113. data/lib/spec/expectations/errors.rb +0 -12
  114. data/lib/spec/expectations/extensions.rb +0 -2
  115. data/lib/spec/expectations/extensions/object.rb +0 -63
  116. data/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
  117. data/lib/spec/expectations/handler.rb +0 -62
  118. data/lib/spec/extensions.rb +0 -4
  119. data/lib/spec/extensions/class.rb +0 -24
  120. data/lib/spec/extensions/main.rb +0 -102
  121. data/lib/spec/extensions/metaclass.rb +0 -7
  122. data/lib/spec/extensions/object.rb +0 -6
  123. data/lib/spec/interop/test.rb +0 -12
  124. data/lib/spec/interop/test/unit/autorunner.rb +0 -6
  125. data/lib/spec/interop/test/unit/testcase.rb +0 -61
  126. data/lib/spec/interop/test/unit/testresult.rb +0 -6
  127. data/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
  128. data/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
  129. data/lib/spec/matchers.rb +0 -156
  130. data/lib/spec/matchers/be.rb +0 -224
  131. data/lib/spec/matchers/be_close.rb +0 -37
  132. data/lib/spec/matchers/change.rb +0 -148
  133. data/lib/spec/matchers/eql.rb +0 -43
  134. data/lib/spec/matchers/equal.rb +0 -43
  135. data/lib/spec/matchers/exist.rb +0 -17
  136. data/lib/spec/matchers/has.rb +0 -34
  137. data/lib/spec/matchers/have.rb +0 -149
  138. data/lib/spec/matchers/include.rb +0 -70
  139. data/lib/spec/matchers/match.rb +0 -41
  140. data/lib/spec/matchers/operator_matcher.rb +0 -73
  141. data/lib/spec/matchers/raise_error.rb +0 -132
  142. data/lib/spec/matchers/respond_to.rb +0 -45
  143. data/lib/spec/matchers/satisfy.rb +0 -47
  144. data/lib/spec/matchers/simple_matcher.rb +0 -132
  145. data/lib/spec/matchers/throw_symbol.rb +0 -74
  146. data/lib/spec/mocks.rb +0 -211
  147. data/lib/spec/mocks/argument_constraint_matchers.rb +0 -31
  148. data/lib/spec/mocks/argument_expectation.rb +0 -216
  149. data/lib/spec/mocks/error_generator.rb +0 -84
  150. data/lib/spec/mocks/extensions.rb +0 -1
  151. data/lib/spec/mocks/extensions/object.rb +0 -3
  152. data/lib/spec/mocks/framework.rb +0 -15
  153. data/lib/spec/mocks/message_expectation.rb +0 -290
  154. data/lib/spec/mocks/methods.rb +0 -39
  155. data/lib/spec/mocks/mock.rb +0 -56
  156. data/lib/spec/mocks/order_group.rb +0 -29
  157. data/lib/spec/mocks/proxy.rb +0 -184
  158. data/lib/spec/mocks/space.rb +0 -28
  159. data/lib/spec/mocks/spec_methods.rb +0 -38
  160. data/lib/spec/rake/spectask.rb +0 -227
  161. data/lib/spec/rake/verify_rcov.rb +0 -52
  162. data/lib/spec/runner.rb +0 -201
  163. data/lib/spec/runner/backtrace_tweaker.rb +0 -57
  164. data/lib/spec/runner/class_and_arguments_parser.rb +0 -16
  165. data/lib/spec/runner/command_line.rb +0 -28
  166. data/lib/spec/runner/drb_command_line.rb +0 -20
  167. data/lib/spec/runner/example_group_runner.rb +0 -59
  168. data/lib/spec/runner/formatter/base_formatter.rb +0 -77
  169. data/lib/spec/runner/formatter/base_text_formatter.rb +0 -130
  170. data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -27
  171. data/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
  172. data/lib/spec/runner/formatter/html_formatter.rb +0 -337
  173. data/lib/spec/runner/formatter/nested_text_formatter.rb +0 -65
  174. data/lib/spec/runner/formatter/profile_formatter.rb +0 -51
  175. data/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -34
  176. data/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
  177. data/lib/spec/runner/formatter/specdoc_formatter.rb +0 -39
  178. data/lib/spec/runner/formatter/story/html_formatter.rb +0 -161
  179. data/lib/spec/runner/formatter/story/plain_text_formatter.rb +0 -188
  180. data/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
  181. data/lib/spec/runner/heckle_runner.rb +0 -72
  182. data/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
  183. data/lib/spec/runner/option_parser.rb +0 -203
  184. data/lib/spec/runner/options.rb +0 -309
  185. data/lib/spec/runner/reporter.rb +0 -147
  186. data/lib/spec/runner/spec_parser.rb +0 -71
  187. data/lib/spec/story.rb +0 -10
  188. data/lib/spec/story/extensions.rb +0 -3
  189. data/lib/spec/story/extensions/main.rb +0 -86
  190. data/lib/spec/story/extensions/regexp.rb +0 -9
  191. data/lib/spec/story/extensions/string.rb +0 -9
  192. data/lib/spec/story/given_scenario.rb +0 -14
  193. data/lib/spec/story/runner.rb +0 -60
  194. data/lib/spec/story/runner/plain_text_story_runner.rb +0 -48
  195. data/lib/spec/story/runner/scenario_collector.rb +0 -18
  196. data/lib/spec/story/runner/scenario_runner.rb +0 -54
  197. data/lib/spec/story/runner/story_mediator.rb +0 -137
  198. data/lib/spec/story/runner/story_parser.rb +0 -247
  199. data/lib/spec/story/runner/story_runner.rb +0 -70
  200. data/lib/spec/story/scenario.rb +0 -14
  201. data/lib/spec/story/step.rb +0 -70
  202. data/lib/spec/story/step_group.rb +0 -89
  203. data/lib/spec/story/step_mother.rb +0 -37
  204. data/lib/spec/story/story.rb +0 -39
  205. data/lib/spec/story/world.rb +0 -128
  206. data/lib/spec/translator.rb +0 -114
  207. data/lib/spec/version.rb +0 -13
  208. data/plugins/mock_frameworks/flexmock.rb +0 -23
  209. data/plugins/mock_frameworks/mocha.rb +0 -19
  210. data/plugins/mock_frameworks/rr.rb +0 -21
  211. data/plugins/mock_frameworks/rspec.rb +0 -20
  212. data/rake_tasks/examples.rake +0 -7
  213. data/rake_tasks/examples_with_rcov.rake +0 -9
  214. data/rake_tasks/failing_examples_with_html.rake +0 -9
  215. data/rake_tasks/verify_rcov.rake +0 -7
  216. data/spec/README.jruby +0 -15
  217. data/spec/autotest/discover_spec.rb +0 -19
  218. data/spec/autotest/rspec_spec.rb +0 -206
  219. data/spec/autotest_helper.rb +0 -6
  220. data/spec/autotest_matchers.rb +0 -47
  221. data/spec/rspec_suite.rb +0 -7
  222. data/spec/ruby_forker.rb +0 -13
  223. data/spec/spec.opts +0 -6
  224. data/spec/spec/adapters/ruby_engine_spec.rb +0 -16
  225. data/spec/spec/example/configuration_spec.rb +0 -282
  226. data/spec/spec/example/example_group/described_module_spec.rb +0 -20
  227. data/spec/spec/example/example_group/warning_messages_spec.rb +0 -76
  228. data/spec/spec/example/example_group_class_definition_spec.rb +0 -48
  229. data/spec/spec/example/example_group_factory_spec.rb +0 -144
  230. data/spec/spec/example/example_group_methods_spec.rb +0 -572
  231. data/spec/spec/example/example_group_spec.rb +0 -723
  232. data/spec/spec/example/example_matcher_spec.rb +0 -96
  233. data/spec/spec/example/example_methods_spec.rb +0 -126
  234. data/spec/spec/example/example_runner_spec.rb +0 -194
  235. data/spec/spec/example/example_spec.rb +0 -53
  236. data/spec/spec/example/nested_example_group_spec.rb +0 -71
  237. data/spec/spec/example/pending_module_spec.rb +0 -42
  238. data/spec/spec/example/predicate_matcher_spec.rb +0 -21
  239. data/spec/spec/example/shared_example_group_spec.rb +0 -265
  240. data/spec/spec/example/subclassing_example_group_spec.rb +0 -25
  241. data/spec/spec/expectations/differs/default_spec.rb +0 -127
  242. data/spec/spec/expectations/extensions/object_spec.rb +0 -107
  243. data/spec/spec/expectations/fail_with_spec.rb +0 -71
  244. data/spec/spec/extensions/main_spec.rb +0 -76
  245. data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
  246. data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
  247. data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
  248. data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
  249. data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
  250. data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
  251. data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
  252. data/spec/spec/interop/test/unit/spec_spec.rb +0 -45
  253. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -14
  254. data/spec/spec/interop/test/unit/testcase_spec.rb +0 -45
  255. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
  256. data/spec/spec/matchers/be_close_spec.rb +0 -39
  257. data/spec/spec/matchers/be_spec.rb +0 -248
  258. data/spec/spec/matchers/change_spec.rb +0 -317
  259. data/spec/spec/matchers/description_generation_spec.rb +0 -153
  260. data/spec/spec/matchers/eql_spec.rb +0 -28
  261. data/spec/spec/matchers/equal_spec.rb +0 -28
  262. data/spec/spec/matchers/exist_spec.rb +0 -57
  263. data/spec/spec/matchers/handler_spec.rb +0 -150
  264. data/spec/spec/matchers/has_spec.rb +0 -53
  265. data/spec/spec/matchers/have_spec.rb +0 -293
  266. data/spec/spec/matchers/include_spec.rb +0 -45
  267. data/spec/spec/matchers/match_spec.rb +0 -37
  268. data/spec/spec/matchers/matcher_methods_spec.rb +0 -78
  269. data/spec/spec/matchers/mock_constraint_matchers_spec.rb +0 -24
  270. data/spec/spec/matchers/operator_matcher_spec.rb +0 -168
  271. data/spec/spec/matchers/raise_error_spec.rb +0 -315
  272. data/spec/spec/matchers/respond_to_spec.rb +0 -54
  273. data/spec/spec/matchers/satisfy_spec.rb +0 -36
  274. data/spec/spec/matchers/simple_matcher_spec.rb +0 -93
  275. data/spec/spec/matchers/throw_symbol_spec.rb +0 -54
  276. data/spec/spec/mocks/any_number_of_times_spec.rb +0 -29
  277. data/spec/spec/mocks/argument_expectation_spec.rb +0 -23
  278. data/spec/spec/mocks/at_least_spec.rb +0 -97
  279. data/spec/spec/mocks/at_most_spec.rb +0 -93
  280. data/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
  281. data/spec/spec/mocks/bug_report_10263_spec.rb +0 -24
  282. data/spec/spec/mocks/bug_report_11545_spec.rb +0 -33
  283. data/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
  284. data/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
  285. data/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
  286. data/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
  287. data/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
  288. data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -130
  289. data/spec/spec/mocks/hash_including_matcher_spec.rb +0 -32
  290. data/spec/spec/mocks/mock_ordering_spec.rb +0 -84
  291. data/spec/spec/mocks/mock_space_spec.rb +0 -54
  292. data/spec/spec/mocks/mock_spec.rb +0 -494
  293. data/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
  294. data/spec/spec/mocks/null_object_mock_spec.rb +0 -40
  295. data/spec/spec/mocks/once_counts_spec.rb +0 -53
  296. data/spec/spec/mocks/options_hash_spec.rb +0 -45
  297. data/spec/spec/mocks/partial_mock_spec.rb +0 -142
  298. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
  299. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +0 -175
  300. data/spec/spec/mocks/precise_counts_spec.rb +0 -52
  301. data/spec/spec/mocks/record_messages_spec.rb +0 -26
  302. data/spec/spec/mocks/stub_spec.rb +0 -181
  303. data/spec/spec/mocks/twice_counts_spec.rb +0 -67
  304. data/spec/spec/package/bin_spec_spec.rb +0 -14
  305. data/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
  306. data/spec/spec/runner/command_line_spec.rb +0 -147
  307. data/spec/spec/runner/drb_command_line_spec.rb +0 -92
  308. data/spec/spec/runner/empty_file.txt +0 -0
  309. data/spec/spec/runner/examples.txt +0 -2
  310. data/spec/spec/runner/execution_context_spec.rb +0 -37
  311. data/spec/spec/runner/failed.txt +0 -3
  312. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
  313. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
  314. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -365
  315. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
  316. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +0 -371
  317. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -381
  318. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -370
  319. data/spec/spec/runner/formatter/html_formatter_spec.rb +0 -63
  320. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -333
  321. data/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -65
  322. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -137
  323. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
  324. data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +0 -103
  325. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -158
  326. data/spec/spec/runner/formatter/story/html_formatter_spec.rb +0 -87
  327. data/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +0 -548
  328. data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +0 -365
  329. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -370
  330. data/spec/spec/runner/heckle_runner_spec.rb +0 -78
  331. data/spec/spec/runner/heckler_spec.rb +0 -13
  332. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -45
  333. data/spec/spec/runner/option_parser_spec.rb +0 -394
  334. data/spec/spec/runner/options_spec.rb +0 -450
  335. data/spec/spec/runner/output_one_time_fixture.rb +0 -7
  336. data/spec/spec/runner/output_one_time_fixture_runner.rb +0 -8
  337. data/spec/spec/runner/output_one_time_spec.rb +0 -16
  338. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -56
  339. data/spec/spec/runner/reporter_spec.rb +0 -192
  340. data/spec/spec/runner/resources/a_bar.rb +0 -0
  341. data/spec/spec/runner/resources/a_foo.rb +0 -0
  342. data/spec/spec/runner/resources/a_spec.rb +0 -1
  343. data/spec/spec/runner/spec.opts +0 -2
  344. data/spec/spec/runner/spec_drb.opts +0 -1
  345. data/spec/spec/runner/spec_parser/spec_parser_fixture.rb +0 -70
  346. data/spec/spec/runner/spec_parser_spec.rb +0 -85
  347. data/spec/spec/runner/spec_spaced.opts +0 -2
  348. data/spec/spec/runner_spec.rb +0 -11
  349. data/spec/spec/spec_classes.rb +0 -133
  350. data/spec/spec/story/builders.rb +0 -46
  351. data/spec/spec/story/extensions/main_spec.rb +0 -161
  352. data/spec/spec/story/extensions_spec.rb +0 -14
  353. data/spec/spec/story/given_scenario_spec.rb +0 -27
  354. data/spec/spec/story/runner/plain_text_story_runner_spec.rb +0 -93
  355. data/spec/spec/story/runner/scenario_collector_spec.rb +0 -27
  356. data/spec/spec/story/runner/scenario_runner_spec.rb +0 -214
  357. data/spec/spec/story/runner/story_mediator_spec.rb +0 -143
  358. data/spec/spec/story/runner/story_parser_spec.rb +0 -401
  359. data/spec/spec/story/runner/story_runner_spec.rb +0 -294
  360. data/spec/spec/story/runner_spec.rb +0 -93
  361. data/spec/spec/story/scenario_spec.rb +0 -20
  362. data/spec/spec/story/step_group_spec.rb +0 -157
  363. data/spec/spec/story/step_mother_spec.rb +0 -72
  364. data/spec/spec/story/step_spec.rb +0 -250
  365. data/spec/spec/story/story_helper.rb +0 -2
  366. data/spec/spec/story/story_spec.rb +0 -86
  367. data/spec/spec/story/world_spec.rb +0 -423
  368. data/spec/spec/translator_spec.rb +0 -265
  369. data/spec/spec_helper.rb +0 -103
  370. data/stories/all.rb +0 -5
  371. data/stories/example_groups/autogenerated_docstrings +0 -45
  372. data/stories/example_groups/example_group_with_should_methods +0 -17
  373. data/stories/example_groups/nested_groups +0 -17
  374. data/stories/example_groups/output +0 -25
  375. data/stories/example_groups/stories.rb +0 -7
  376. data/stories/helper.rb +0 -6
  377. data/stories/interop/examples_and_tests_together +0 -30
  378. data/stories/interop/stories.rb +0 -7
  379. data/stories/interop/test_case_with_should_methods +0 -17
  380. data/stories/mock_framework_integration/stories.rb +0 -7
  381. data/stories/mock_framework_integration/use_flexmock.story +0 -9
  382. data/stories/pending_stories/README +0 -3
  383. data/stories/resources/helpers/cmdline.rb +0 -9
  384. data/stories/resources/helpers/story_helper.rb +0 -16
  385. data/stories/resources/matchers/smart_match.rb +0 -37
  386. data/stories/resources/spec/example_group_with_should_methods.rb +0 -12
  387. data/stories/resources/spec/simple_spec.rb +0 -8
  388. data/stories/resources/spec/spec_with_flexmock.rb +0 -18
  389. data/stories/resources/steps/running_rspec.rb +0 -50
  390. data/stories/resources/stories/failing_story.rb +0 -15
  391. data/stories/resources/test/spec_and_test_together.rb +0 -57
  392. data/stories/resources/test/test_case_with_should_methods.rb +0 -30
  393. data/stories/stories/multiline_steps.story +0 -23
  394. data/stories/stories/steps/multiline_steps.rb +0 -13
  395. data/stories/stories/stories.rb +0 -6
@@ -1,52 +0,0 @@
1
- module RCov
2
- # A task that can verify that the RCov coverage doesn't
3
- # drop below a certain threshold. It should be run after
4
- # running Spec::Rake::SpecTask.
5
- class VerifyTask < Rake::TaskLib
6
- # Name of the task. Defaults to :verify_rcov
7
- attr_accessor :name
8
-
9
- # Path to the index.html file generated by RCov, which
10
- # is the file containing the total coverage.
11
- # Defaults to 'coverage/index.html'
12
- attr_accessor :index_html
13
-
14
- # Whether or not to output details. Defaults to true.
15
- attr_accessor :verbose
16
-
17
- # The threshold value (in percent) for coverage. If the
18
- # actual coverage is not equal to this value, the task will raise an
19
- # exception.
20
- attr_accessor :threshold
21
-
22
- # Require the threshold value be met exactly. This is the default.
23
- attr_accessor :require_exact_threshold
24
-
25
- def initialize(name=:verify_rcov)
26
- @name = name
27
- @index_html = 'coverage/index.html'
28
- @verbose = true
29
- @require_exact_threshold = true
30
- yield self if block_given?
31
- raise "Threshold must be set" if @threshold.nil?
32
- define
33
- end
34
-
35
- def define
36
- desc "Verify that rcov coverage is at least #{threshold}%"
37
- task @name do
38
- total_coverage = nil
39
-
40
- File.open(index_html).each_line do |line|
41
- if line =~ /<tt class='coverage_total'>(\d+\.\d+)%<\/tt>/
42
- total_coverage = eval($1)
43
- break
44
- end
45
- end
46
- puts "Coverage: #{total_coverage}% (threshold: #{threshold}%)" if verbose
47
- raise "Coverage must be at least #{threshold}% but was #{total_coverage}%" if total_coverage < threshold
48
- raise "Coverage has increased above the threshold of #{threshold}% to #{total_coverage}%. You should update your threshold value." if (total_coverage > threshold) and require_exact_threshold
49
- end
50
- end
51
- end
52
- end
@@ -1,201 +0,0 @@
1
- require 'spec/runner/options'
2
- require 'spec/runner/option_parser'
3
- require 'spec/runner/example_group_runner'
4
- require 'spec/runner/command_line'
5
- require 'spec/runner/drb_command_line'
6
- require 'spec/runner/backtrace_tweaker'
7
- require 'spec/runner/reporter'
8
- require 'spec/runner/spec_parser'
9
- require 'spec/runner/class_and_arguments_parser'
10
-
11
- module Spec
12
- # == ExampleGroups and Examples
13
- #
14
- # Rather than expressing examples in classes, RSpec uses a custom DSLL (DSL light) to
15
- # describe groups of examples.
16
- #
17
- # A ExampleGroup is the equivalent of a fixture in xUnit-speak. It is a metaphor for the context
18
- # in which you will run your executable example - a set of known objects in a known starting state.
19
- # We begin be describing
20
- #
21
- # describe Account do
22
- #
23
- # before do
24
- # @account = Account.new
25
- # end
26
- #
27
- # it "should have a balance of $0" do
28
- # @account.balance.should == Money.new(0, :dollars)
29
- # end
30
- #
31
- # end
32
- #
33
- # We use the before block to set up the Example (given), and then the #it method to
34
- # hold the example code that expresses the event (when) and the expected outcome (then).
35
- #
36
- # == Helper Methods
37
- #
38
- # A primary goal of RSpec is to keep the examples clear. We therefore prefer
39
- # less indirection than you might see in xUnit examples and in well factored, DRY production code. We feel
40
- # that duplication is OK if removing it makes it harder to understand an example without
41
- # having to look elsewhere to understand its context.
42
- #
43
- # That said, RSpec does support some level of encapsulating common code in helper
44
- # methods that can exist within a context or within an included module.
45
- #
46
- # == Setup and Teardown
47
- #
48
- # You can use before and after within a Example. Both methods take an optional
49
- # scope argument so you can run the block before :each example or before :all examples
50
- #
51
- # describe "..." do
52
- # before :all do
53
- # ...
54
- # end
55
- #
56
- # before :each do
57
- # ...
58
- # end
59
- #
60
- # it "should do something" do
61
- # ...
62
- # end
63
- #
64
- # it "should do something else" do
65
- # ...
66
- # end
67
- #
68
- # after :each do
69
- # ...
70
- # end
71
- #
72
- # after :all do
73
- # ...
74
- # end
75
- #
76
- # end
77
- #
78
- # The <tt>before :each</tt> block will run before each of the examples, once for each example. Likewise,
79
- # the <tt>after :each</tt> block will run after each of the examples.
80
- #
81
- # It is also possible to specify a <tt>before :all</tt> and <tt>after :all</tt>
82
- # block that will run only once for each behaviour, respectively before the first <code>before :each</code>
83
- # and after the last <code>after :each</code>. The use of these is generally discouraged, because it
84
- # introduces dependencies between the examples. Still, it might prove useful for very expensive operations
85
- # if you know what you are doing.
86
- #
87
- # == Local helper methods
88
- #
89
- # You can include local helper methods by simply expressing them within a context:
90
- #
91
- # describe "..." do
92
- #
93
- # it "..." do
94
- # helper_method
95
- # end
96
- #
97
- # def helper_method
98
- # ...
99
- # end
100
- #
101
- # end
102
- #
103
- # == Included helper methods
104
- #
105
- # You can include helper methods in multiple contexts by expressing them within
106
- # a module, and then including that module in your context:
107
- #
108
- # module AccountExampleHelperMethods
109
- # def helper_method
110
- # ...
111
- # end
112
- # end
113
- #
114
- # describe "A new account" do
115
- # include AccountExampleHelperMethods
116
- # before do
117
- # @account = Account.new
118
- # end
119
- #
120
- # it "should have a balance of $0" do
121
- # helper_method
122
- # @account.balance.should eql(Money.new(0, :dollars))
123
- # end
124
- # end
125
- #
126
- # == Shared Example Groups
127
- #
128
- # You can define a shared Example Group, that may be used on other groups
129
- #
130
- # share_examples_for "All Editions" do
131
- # it "all editions behaviour" ...
132
- # end
133
- #
134
- # describe SmallEdition do
135
- # it_should_behave_like "All Editions"
136
- #
137
- # it "should do small edition stuff" do
138
- # ...
139
- # end
140
- # end
141
- #
142
- # You can also assign the shared group to a module and include that
143
- #
144
- # share_as :AllEditions do
145
- # it "should do all editions stuff" ...
146
- # end
147
- #
148
- # describe SmallEdition do
149
- # it_should_behave_like AllEditions
150
- #
151
- # it "should do small edition stuff" do
152
- # ...
153
- # end
154
- # end
155
- #
156
- # And, for those of you who prefer to use something more like Ruby, you
157
- # can just include the module directly
158
- #
159
- # describe SmallEdition do
160
- # include AllEditions
161
- #
162
- # it "should do small edition stuff" do
163
- # ...
164
- # end
165
- # end
166
- module Runner
167
- class << self
168
- def configuration # :nodoc:
169
- @configuration ||= Spec::Example::Configuration.new
170
- end
171
-
172
- # Use this to configure various configurable aspects of
173
- # RSpec:
174
- #
175
- # Spec::Runner.configure do |configuration|
176
- # # Configure RSpec here
177
- # end
178
- #
179
- # The yielded <tt>configuration</tt> object is a
180
- # Spec::Example::Configuration instance. See its RDoc
181
- # for details about what you can do with it.
182
- #
183
- def configure
184
- yield configuration
185
- end
186
-
187
- def register_at_exit_hook # :nodoc:
188
- $spec_runner_at_exit_hook_registered ||= nil
189
- unless $spec_runner_at_exit_hook_registered
190
- at_exit do
191
- unless $! || Spec.run?
192
- success = Spec.run
193
- exit success if Spec.exit?
194
- end
195
- end
196
- $spec_runner_at_exit_hook_registered = true
197
- end
198
- end
199
- end
200
- end
201
- end
@@ -1,57 +0,0 @@
1
- module Spec
2
- module Runner
3
- class BacktraceTweaker
4
- def clean_up_double_slashes(line)
5
- line.gsub!('//','/')
6
- end
7
- end
8
-
9
- class NoisyBacktraceTweaker < BacktraceTweaker
10
- def tweak_backtrace(error)
11
- return if error.backtrace.nil?
12
- error.backtrace.each do |line|
13
- clean_up_double_slashes(line)
14
- end
15
- end
16
- end
17
-
18
- # Tweaks raised Exceptions to mask noisy (unneeded) parts of the backtrace
19
- class QuietBacktraceTweaker < BacktraceTweaker
20
- unless defined?(IGNORE_PATTERNS)
21
- root_dir = File.expand_path(File.join(__FILE__, '..', '..', '..', '..'))
22
- spec_files = Dir["#{root_dir}/lib/*"].map do |path|
23
- subpath = path[root_dir.length..-1]
24
- /#{subpath}/
25
- end
26
- IGNORE_PATTERNS = spec_files + [
27
- /\/lib\/ruby\//,
28
- /bin\/spec:/,
29
- /bin\/rcov:/,
30
- /lib\/rspec-rails/,
31
- /vendor\/rails/,
32
- # TextMate's Ruby and RSpec plugins
33
- /Ruby\.tmbundle\/Support\/tmruby.rb:/,
34
- /RSpec\.tmbundle\/Support\/lib/,
35
- /temp_textmate\./,
36
- /mock_frameworks\/rspec/,
37
- /spec_server/
38
- ]
39
- end
40
-
41
- def tweak_backtrace(error)
42
- return if error.backtrace.nil?
43
- error.backtrace.collect! do |line|
44
- clean_up_double_slashes(line)
45
- IGNORE_PATTERNS.each do |ignore|
46
- if line =~ ignore
47
- line = nil
48
- break
49
- end
50
- end
51
- line
52
- end
53
- error.backtrace.compact!
54
- end
55
- end
56
- end
57
- end
@@ -1,16 +0,0 @@
1
- module Spec
2
- module Runner
3
- class ClassAndArgumentsParser
4
- class << self
5
- def parse(s)
6
- if s =~ /([a-zA-Z_]+(?:::[a-zA-Z_]+)*):?(.*)/
7
- arg = $2 == "" ? nil : $2
8
- [$1, arg]
9
- else
10
- raise "Couldn't parse #{s.inspect}"
11
- end
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,28 +0,0 @@
1
- require 'spec/runner/option_parser'
2
-
3
- module Spec
4
- module Runner
5
- # Facade to run specs without having to fork a new ruby process (using `spec ...`)
6
- class CommandLine
7
- class << self
8
- # Runs specs. +argv+ is the commandline args as per the spec commandline API, +err+
9
- # and +out+ are the streams output will be written to.
10
- def run(instance_rspec_options)
11
- # NOTE - this call to init_rspec_options is not spec'd, but neither is any of this
12
- # swapping of $rspec_options. That is all here to enable rspec to run against itself
13
- # and maintain coverage in a single process. Therefore, DO NOT mess with this stuff
14
- # unless you know what you are doing!
15
- init_rspec_options(instance_rspec_options)
16
- orig_rspec_options = rspec_options
17
- begin
18
- $rspec_options = instance_rspec_options
19
- return $rspec_options.run_examples
20
- ensure
21
- ::Spec.run = true
22
- $rspec_options = orig_rspec_options
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,20 +0,0 @@
1
- require "drb/drb"
2
-
3
- module Spec
4
- module Runner
5
- # Facade to run specs by connecting to a DRB server
6
- class DrbCommandLine
7
- # Runs specs on a DRB server. Note that this API is similar to that of
8
- # CommandLine - making it possible for clients to use both interchangeably.
9
- def self.run(options)
10
- begin
11
- DRb.start_service
12
- spec_server = DRbObject.new_with_uri("druby://127.0.0.1:8989")
13
- spec_server.run(options.argv, options.error_stream, options.output_stream)
14
- rescue DRb::DRbConnError => e
15
- options.error_stream.puts "No server is running"
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,59 +0,0 @@
1
- module Spec
2
- module Runner
3
- class ExampleGroupRunner
4
- def initialize(options)
5
- @options = options
6
- end
7
-
8
- def load_files(files)
9
- # It's important that loading files (or choosing not to) stays the
10
- # responsibility of the ExampleGroupRunner. Some implementations (like)
11
- # the one using DRb may choose *not* to load files, but instead tell
12
- # someone else to do it over the wire.
13
- files.each do |file|
14
- load file
15
- end
16
- end
17
-
18
- def run
19
- prepare
20
- success = true
21
- example_groups.each do |example_group|
22
- success = success & example_group.run
23
- end
24
- return success
25
- ensure
26
- finish
27
- end
28
-
29
- protected
30
- def prepare
31
- reporter.start(number_of_examples)
32
- example_groups.reverse! if reverse
33
- end
34
-
35
- def finish
36
- reporter.end
37
- reporter.dump
38
- end
39
-
40
- def reporter
41
- @options.reporter
42
- end
43
-
44
- def reverse
45
- @options.reverse
46
- end
47
-
48
- def example_groups
49
- @options.example_groups
50
- end
51
-
52
- def number_of_examples
53
- @options.number_of_examples
54
- end
55
- end
56
- # TODO: BT - Deprecate BehaviourRunner?
57
- BehaviourRunner = ExampleGroupRunner
58
- end
59
- end
@@ -1,77 +0,0 @@
1
- module Spec
2
- module Runner
3
- module Formatter
4
- # Baseclass for formatters that implements all required methods as no-ops.
5
- class BaseFormatter
6
- attr_accessor :example_group, :options, :where
7
- def initialize(options, where)
8
- @options = options
9
- @where = where
10
- end
11
-
12
- # This method is invoked before any examples are run, right after
13
- # they have all been collected. This can be useful for special
14
- # formatters that need to provide progress on feedback (graphical ones)
15
- #
16
- # This method will only be invoked once, and the next one to be invoked
17
- # is #add_example_group
18
- def start(example_count)
19
- end
20
-
21
- # This method is invoked at the beginning of the execution of each example_group.
22
- # +example_group+ is the example_group.
23
- #
24
- # The next method to be invoked after this is #example_failed or #example_finished
25
- def add_example_group(example_group)
26
- @example_group = example_group
27
- end
28
-
29
- # This method is invoked when an +example+ starts.
30
- def example_started(example)
31
- end
32
-
33
- # This method is invoked when an +example+ passes.
34
- def example_passed(example)
35
- end
36
-
37
- # This method is invoked when an +example+ fails, i.e. an exception occurred
38
- # inside it (such as a failed should or other exception). +counter+ is the
39
- # sequence number of the failure (starting at 1) and +failure+ is the associated
40
- # Failure object.
41
- def example_failed(example, counter, failure)
42
- end
43
-
44
- # This method is invoked when an example is not yet implemented (i.e. has not
45
- # been provided a block), or when an ExamplePendingError is raised.
46
- # +message+ is the message from the ExamplePendingError, if it exists, or the
47
- # default value of "Not Yet Implemented"
48
- def example_pending(example, message)
49
- end
50
-
51
- # This method is invoked after all of the examples have executed. The next method
52
- # to be invoked after this one is #dump_failure (once for each failed example),
53
- def start_dump
54
- end
55
-
56
- # Dumps detailed information about an example failure.
57
- # This method is invoked for each failed example after all examples have run. +counter+ is the sequence number
58
- # of the associated example. +failure+ is a Failure object, which contains detailed
59
- # information about the failure.
60
- def dump_failure(counter, failure)
61
- end
62
-
63
- # This method is invoked after the dumping of examples and failures.
64
- def dump_summary(duration, example_count, failure_count, pending_count)
65
- end
66
-
67
- # This gets invoked after the summary if option is set to do so.
68
- def dump_pending
69
- end
70
-
71
- # This method is invoked at the very end. Allows the formatter to clean up, like closing open streams.
72
- def close
73
- end
74
- end
75
- end
76
- end
77
- end