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,147 +0,0 @@
1
- module Spec
2
- module Runner
3
- class Reporter
4
- attr_reader :options, :example_groups
5
-
6
- def initialize(options)
7
- @options = options
8
- @options.reporter = self
9
- clear
10
- end
11
-
12
- def add_example_group(example_group)
13
- formatters.each do |f|
14
- f.add_example_group(example_group)
15
- end
16
- example_groups << example_group
17
- end
18
-
19
- def example_started(example)
20
- formatters.each{|f| f.example_started(example)}
21
- end
22
-
23
- def example_finished(example, error=nil)
24
- @examples << example
25
-
26
- if error.nil?
27
- example_passed(example)
28
- elsif Spec::Example::ExamplePendingError === error
29
- example_pending(example, error.message)
30
- else
31
- example_failed(example, error)
32
- end
33
- end
34
-
35
- def failure(example, error)
36
- backtrace_tweaker.tweak_backtrace(error)
37
- failure = Failure.new(example, error)
38
- @failures << failure
39
- formatters.each do |f|
40
- f.example_failed(example, @failures.length, failure)
41
- end
42
- end
43
- alias_method :example_failed, :failure
44
-
45
- def start(number_of_examples)
46
- clear
47
- @start_time = Time.new
48
- formatters.each{|f| f.start(number_of_examples)}
49
- end
50
-
51
- def end
52
- @end_time = Time.new
53
- end
54
-
55
- # Dumps the summary and returns the total number of failures
56
- def dump
57
- formatters.each{|f| f.start_dump}
58
- dump_pending
59
- dump_failures
60
- formatters.each do |f|
61
- f.dump_summary(duration, @examples.length, @failures.length, @pending_count)
62
- f.close
63
- end
64
- @failures.length
65
- end
66
-
67
- private
68
-
69
- def formatters
70
- @options.formatters
71
- end
72
-
73
- def backtrace_tweaker
74
- @options.backtrace_tweaker
75
- end
76
-
77
- def clear
78
- @example_groups = []
79
- @failures = []
80
- @pending_count = 0
81
- @examples = []
82
- @start_time = nil
83
- @end_time = nil
84
- end
85
-
86
- def dump_failures
87
- return if @failures.empty?
88
- @failures.inject(1) do |index, failure|
89
- formatters.each{|f| f.dump_failure(index, failure)}
90
- index + 1
91
- end
92
- end
93
-
94
- def dump_pending
95
- formatters.each{|f| f.dump_pending}
96
- end
97
-
98
- def duration
99
- return @end_time - @start_time unless (@end_time.nil? or @start_time.nil?)
100
- return "0.0"
101
- end
102
-
103
- def example_passed(example)
104
- formatters.each{|f| f.example_passed(example)}
105
- end
106
-
107
- def example_pending(example, message="Not Yet Implemented")
108
- @pending_count += 1
109
- formatters.each do |f|
110
- f.example_pending(example, message)
111
- end
112
- end
113
-
114
- class Failure
115
- attr_reader :example, :exception
116
-
117
- def initialize(example, exception)
118
- @example = example
119
- @exception = exception
120
- end
121
-
122
- def header
123
- if expectation_not_met?
124
- "'#{example_name}' FAILED"
125
- elsif pending_fixed?
126
- "'#{example_name}' FIXED"
127
- else
128
- "#{@exception.class.name} in '#{example_name}'"
129
- end
130
- end
131
-
132
- def pending_fixed?
133
- @exception.is_a?(Spec::Example::PendingExampleFixedError)
134
- end
135
-
136
- def expectation_not_met?
137
- @exception.is_a?(Spec::Expectations::ExpectationNotMetError)
138
- end
139
-
140
- protected
141
- def example_name
142
- @example.__full_description
143
- end
144
- end
145
- end
146
- end
147
- end
@@ -1,71 +0,0 @@
1
- module Spec
2
- module Runner
3
- # Parses a spec file and finds the nearest example for a given line number.
4
- class SpecParser
5
- attr_reader :best_match
6
-
7
- def initialize
8
- @best_match = {}
9
- end
10
-
11
- def spec_name_for(file, line_number)
12
- best_match.clear
13
- file = File.expand_path(file)
14
- rspec_options.example_groups.each do |example_group|
15
- consider_example_groups_for_best_match example_group, file, line_number
16
-
17
- example_group.examples.each do |example|
18
- consider_example_for_best_match example, example_group, file, line_number
19
- end
20
- end
21
- if best_match[:example_group]
22
- if best_match[:example]
23
- "#{best_match[:example_group].description} #{best_match[:example].description}"
24
- else
25
- best_match[:example_group].description
26
- end
27
- else
28
- nil
29
- end
30
- end
31
-
32
- protected
33
-
34
- def consider_example_groups_for_best_match(example_group, file, line_number)
35
- parsed_backtrace = parse_backtrace(example_group.registration_backtrace)
36
- parsed_backtrace.each do |example_file, example_line|
37
- if is_best_match?(file, line_number, example_file, example_line)
38
- best_match.clear
39
- best_match[:example_group] = example_group
40
- best_match[:line] = example_line
41
- end
42
- end
43
- end
44
-
45
- def consider_example_for_best_match(example, example_group, file, line_number)
46
- parsed_backtrace = parse_backtrace(example.implementation_backtrace)
47
- parsed_backtrace.each do |example_file, example_line|
48
- if is_best_match?(file, line_number, example_file, example_line)
49
- best_match.clear
50
- best_match[:example_group] = example_group
51
- best_match[:example] = example
52
- best_match[:line] = example_line
53
- end
54
- end
55
- end
56
-
57
- def is_best_match?(file, line_number, example_file, example_line)
58
- file == File.expand_path(example_file) &&
59
- example_line <= line_number &&
60
- example_line > best_match[:line].to_i
61
- end
62
-
63
- def parse_backtrace(backtrace)
64
- backtrace.collect do |trace_line|
65
- split_line = trace_line.split(':')
66
- [split_line[0], Integer(split_line[1])]
67
- end
68
- end
69
- end
70
- end
71
- end
@@ -1,10 +0,0 @@
1
- require 'spec'
2
- require 'spec/story/extensions'
3
- require 'spec/story/given_scenario'
4
- require 'spec/story/runner'
5
- require 'spec/story/scenario'
6
- require 'spec/story/step'
7
- require 'spec/story/step_group'
8
- require 'spec/story/step_mother'
9
- require 'spec/story/story'
10
- require 'spec/story/world'
@@ -1,3 +0,0 @@
1
- require 'spec/story/extensions/main'
2
- require 'spec/story/extensions/string'
3
- require 'spec/story/extensions/regexp'
@@ -1,86 +0,0 @@
1
- module Spec
2
- module Story
3
- module Extensions
4
- module Main
5
- def Story(title, narrative, params = {}, &body)
6
- ::Spec::Story::Runner.story_runner.Story(title, narrative, params, &body)
7
- end
8
-
9
- # Calling this deprecated is silly, since it hasn't been released yet. But, for
10
- # those who are reading this - this will be deleted before the 1.1 release.
11
- def run_story(*args, &block)
12
- runner = Spec::Story::Runner::PlainTextStoryRunner.new(*args)
13
- runner.instance_eval(&block) if block
14
- runner.run
15
- end
16
-
17
- # Creates (or appends to an existing) a namespaced group of steps for use in Stories
18
- #
19
- # == Examples
20
- #
21
- # # Creating a new group
22
- # steps_for :forms do
23
- # When("user enters $value in the $field field") do ... end
24
- # When("user submits the $form form") do ... end
25
- # end
26
- def steps_for(tag, &block)
27
- steps = rspec_story_steps[tag]
28
- steps.instance_eval(&block) if block
29
- steps
30
- end
31
-
32
- # Creates a context for running a Plain Text Story with specific groups of Steps.
33
- # Also supports adding arbitrary steps that will only be accessible to
34
- # the Story being run.
35
- #
36
- # == Examples
37
- #
38
- # # Run a Story with one group of steps
39
- # with_steps_for :checking_accounts do
40
- # run File.dirname(__FILE__) + "/withdraw_cash"
41
- # end
42
- #
43
- # # Run a Story, adding steps that are only available for this Story
44
- # with_steps_for :accounts do
45
- # Given "user is logged in as account administrator"
46
- # run File.dirname(__FILE__) + "/reconcile_accounts"
47
- # end
48
- #
49
- # # Run a Story with steps from two groups
50
- # with_steps_for :checking_accounts, :savings_accounts do
51
- # run File.dirname(__FILE__) + "/transfer_money"
52
- # end
53
- #
54
- # # Run a Story with a specific Story extension
55
- # with_steps_for :login, :navigation do
56
- # run File.dirname(__FILE__) + "/user_changes_password", :type => RailsStory
57
- # end
58
- def with_steps_for(*tags, &block)
59
- steps = Spec::Story::StepGroup.new do
60
- extend StoryRunnerStepGroupAdapter
61
- end
62
- tags.each {|tag| steps << rspec_story_steps[tag]}
63
- steps.instance_eval(&block) if block
64
- steps
65
- end
66
-
67
- private
68
-
69
- module StoryRunnerStepGroupAdapter
70
- def run(path, options={})
71
- runner = Spec::Story::Runner::PlainTextStoryRunner.new(path, options)
72
- runner.steps << self
73
- runner.run
74
- end
75
- end
76
-
77
- def rspec_story_steps # :nodoc:
78
- $rspec_story_steps ||= Spec::Story::StepGroupHash.new
79
- end
80
-
81
- end
82
- end
83
- end
84
- end
85
-
86
- include Spec::Story::Extensions::Main
@@ -1,9 +0,0 @@
1
- class Regexp
2
- def step_name
3
- self.source.gsub '\\$', '$$'
4
- end
5
-
6
- def arg_regexp
7
- ::Spec::Story::Step::PARAM_OR_GROUP_PATTERN
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- class String
2
- def step_name
3
- self
4
- end
5
-
6
- def arg_regexp
7
- ::Spec::Story::Step::PARAM_OR_GROUP_PATTERN
8
- end
9
- end
@@ -1,14 +0,0 @@
1
- module Spec
2
- module Story
3
- class GivenScenario
4
- def initialize(name)
5
- @name = name
6
- end
7
-
8
- def perform(instance, ignore_name)
9
- scenario = Runner::StoryRunner.scenario_from_current_story(@name)
10
- Runner::ScenarioRunner.new.run(scenario, instance)
11
- end
12
- end
13
- end
14
- end
@@ -1,60 +0,0 @@
1
- require 'spec/story/runner/scenario_collector.rb'
2
- require 'spec/story/runner/scenario_runner.rb'
3
- require 'spec/story/runner/story_runner.rb'
4
- require 'spec/story/runner/story_parser.rb'
5
- require 'spec/story/runner/story_mediator.rb'
6
- require 'spec/story/runner/plain_text_story_runner.rb'
7
-
8
- module Spec
9
- module Story
10
- module Runner
11
- class << self
12
- def run_options # :nodoc:
13
- rspec_options
14
- # @run_options ||= ::Spec::Runner::OptionParser.parse(ARGV, $stderr, $stdout)
15
- end
16
-
17
- def story_runner # :nodoc:
18
- unless @story_runner
19
- @story_runner = create_story_runner
20
- run_options.story_formatters.each do |formatter|
21
- register_listener(formatter)
22
- end
23
- self.register_exit_hook
24
- end
25
- @story_runner
26
- end
27
-
28
- def scenario_runner # :nodoc:
29
- @scenario_runner ||= ScenarioRunner.new
30
- end
31
-
32
- def world_creator # :nodoc:
33
- @world_creator ||= World
34
- end
35
-
36
- def create_story_runner
37
- StoryRunner.new(scenario_runner, world_creator)
38
- end
39
-
40
- # Use this to register a customer output formatter.
41
- def register_listener(listener)
42
- story_runner.add_listener(listener) # run_started, story_started, story_ended, #run_ended
43
- world_creator.add_listener(listener) # found_scenario, step_succeeded, step_failed, step_failed
44
- scenario_runner.add_listener(listener) # scenario_started, scenario_succeeded, scenario_pending, scenario_failed
45
- end
46
-
47
- def register_exit_hook # :nodoc:
48
- at_exit do
49
- exit Runner.story_runner.run_stories unless $!
50
- end
51
- end
52
-
53
- def dry_run
54
- run_options.dry_run
55
- end
56
-
57
- end
58
- end
59
- end
60
- end
@@ -1,48 +0,0 @@
1
- module Spec
2
- module Story
3
- module Runner
4
- class PlainTextStoryRunner
5
- # You can initialize a PlainTextStoryRunner with the path to the
6
- # story file or a block, in which you can define the path using load.
7
- #
8
- # == Examples
9
- #
10
- # PlainTextStoryRunner.new('path/to/file')
11
- #
12
- # PlainTextStoryRunner.new do |runner|
13
- # runner.load 'path/to/file'
14
- # end
15
- def initialize(*args)
16
- @options = Hash === args.last ? args.pop : {}
17
- @story_file = args.empty? ? nil : args.shift
18
- yield self if block_given?
19
- end
20
-
21
- def []=(key, value)
22
- @options[key] = value
23
- end
24
-
25
- def load(path)
26
- @story_file = path
27
- end
28
-
29
- def run(story_runner=Spec::Story::Runner.story_runner)
30
- raise "You must set a path to the file with the story. See the RDoc." if @story_file.nil?
31
- mediator = Spec::Story::Runner::StoryMediator.new(steps, story_runner, @options)
32
- parser = Spec::Story::Runner::StoryParser.new(mediator)
33
-
34
- story_text = File.read(@story_file)
35
- parser.parse(story_text.split("\n"))
36
-
37
- mediator.run_stories
38
- end
39
-
40
- def steps
41
- @step_group ||= Spec::Story::StepGroup.new
42
- yield @step_group if block_given?
43
- @step_group
44
- end
45
- end
46
- end
47
- end
48
- end