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,70 +0,0 @@
1
- module Spec
2
- module Story
3
- module Runner
4
- class StoryRunner
5
- class << self
6
- attr_accessor :current_story_runner
7
-
8
- def scenario_from_current_story(scenario_name)
9
- current_story_runner.scenario_from_current_story(scenario_name)
10
- end
11
- end
12
-
13
- attr_accessor :stories, :scenarios, :current_story
14
-
15
- def initialize(scenario_runner, world_creator = World)
16
- StoryRunner.current_story_runner = self
17
- @scenario_runner = scenario_runner
18
- @world_creator = world_creator
19
- @stories = []
20
- @scenarios_by_story = {}
21
- @scenarios = []
22
- @listeners = []
23
- end
24
-
25
- def Story(title, narrative, params = {}, &body)
26
- story = Story.new(title, narrative, params, &body)
27
- @stories << story
28
-
29
- # collect scenarios
30
- collector = ScenarioCollector.new(story)
31
- story.run_in(collector)
32
- @scenarios += collector.scenarios
33
- @scenarios_by_story[story.title] = collector.scenarios
34
- end
35
-
36
- def run_stories
37
- return if @stories.empty?
38
- @listeners.each { |l| l.run_started(scenarios.size) }
39
- success = true
40
- @stories.each do |story|
41
- story.assign_steps_to(World)
42
- @current_story = story
43
- @listeners.each { |l| l.story_started(story.title, story.narrative) }
44
- scenarios = @scenarios_by_story[story.title]
45
- scenarios.each do |scenario|
46
- type = story[:type] || Object
47
- args = story[:args] || []
48
- world = @world_creator.create(type, *args)
49
- success = success & @scenario_runner.run(scenario, world)
50
- end
51
- @listeners.each { |l| l.story_ended(story.title, story.narrative) }
52
- World.step_mother.clear
53
- end
54
- unique_steps = (World.step_names.collect {|n| Regexp === n ? n.source : n.to_s}).uniq.sort
55
- @listeners.each { |l| l.collected_steps(unique_steps) }
56
- @listeners.each { |l| l.run_ended }
57
- return success
58
- end
59
-
60
- def add_listener(listener)
61
- @listeners << listener
62
- end
63
-
64
- def scenario_from_current_story(scenario_name)
65
- @scenarios_by_story[@current_story.title].find {|s| s.name == scenario_name }
66
- end
67
- end
68
- end
69
- end
70
- end
@@ -1,14 +0,0 @@
1
-
2
- module Spec
3
- module Story
4
- class Scenario
5
- attr_accessor :name, :body, :story
6
-
7
- def initialize(story, name, &body)
8
- @story = story
9
- @name = name
10
- @body = body
11
- end
12
- end
13
- end
14
- end
@@ -1,70 +0,0 @@
1
- module Spec
2
- module Story
3
- class Step
4
- PARAM_PATTERN = /([^\\]|^)(\$(?!\$)\w*)/
5
- PARAM_OR_GROUP_PATTERN = /(\$(?!\$)\w*)|\(.*?\)/
6
-
7
- attr_reader :name
8
-
9
- def initialize(name, &block)
10
- init_name(name)
11
- init_expression(name)
12
- block_given? ? init_module(name, &block) : set_pending
13
- end
14
-
15
- def perform(instance, *args)
16
- raise Spec::Example::ExamplePendingError.new("Not Yet Implemented") if pending?
17
- instance.extend(@mod)
18
- instance.__send__(sanitize(@name), *args)
19
- end
20
-
21
- def matches?(name)
22
- !(matches = name.match(@expression)).nil?
23
- end
24
-
25
- def parse_args(name)
26
- name.match(@expression)[1..-1]
27
- end
28
-
29
- private
30
-
31
- def sanitize(a_string_or_regexp)
32
- return a_string_or_regexp.source if Regexp == a_string_or_regexp
33
- a_string_or_regexp.to_s
34
- end
35
-
36
- def init_module(name, &block)
37
- sanitized_name = sanitize(name)
38
- @mod = Module.new do
39
- define_method(sanitized_name, &block)
40
- end
41
- end
42
-
43
- def set_pending
44
- @pending = true
45
- end
46
-
47
- def pending?
48
- @pending == true
49
- end
50
-
51
- def init_name(name)
52
- @name = name
53
- end
54
-
55
- def init_expression(string_or_regexp)
56
- if String === string_or_regexp
57
- expression = string_or_regexp.dup
58
- %w<? ( ) [ ] { } ^ !>.each {|c| expression.gsub! c, "\\#{c}"}
59
- elsif Regexp === string_or_regexp
60
- expression = string_or_regexp.source
61
- end
62
- while expression =~ PARAM_PATTERN
63
- expression.gsub!($2, "(.*?)")
64
- end
65
- @expression = Regexp.new("\\A#{expression}\\Z", Regexp::MULTILINE)
66
- end
67
-
68
- end
69
- end
70
- end
@@ -1,89 +0,0 @@
1
- module Spec
2
- module Story
3
-
4
- class StepGroupHash < Hash
5
- def initialize
6
- super do |h,k|
7
- h[k] = Spec::Story::StepGroup.new
8
- end
9
- end
10
- end
11
-
12
- class StepGroup
13
- def self.steps(&block)
14
- @step_group ||= StepGroup.new(false)
15
- @step_group.instance_eval(&block) if block
16
- @step_group
17
- end
18
-
19
- def initialize(init_defaults=true, &block)
20
- @hash_of_lists_of_steps = Hash.new {|h, k| h[k] = []}
21
- if init_defaults
22
- self.class.steps.add_to(self)
23
- end
24
- instance_eval(&block) if block
25
- end
26
-
27
- def find(type, name)
28
- @hash_of_lists_of_steps[type].each do |step|
29
- return step if step.matches?(name)
30
- end
31
- return nil
32
- end
33
-
34
- def GivenScenario(name, &block)
35
- create_matcher(:given_scenario, name, &block)
36
- end
37
-
38
- def Given(name, &block)
39
- create_matcher(:given, name, &block)
40
- end
41
-
42
- def When(name, &block)
43
- create_matcher(:when, name, &block)
44
- end
45
-
46
- def Then(name, &block)
47
- create_matcher(:then, name, &block)
48
- end
49
-
50
- alias :given_scenario :GivenScenario
51
- alias :given :Given
52
- alias :when :When
53
- alias :then :Then
54
-
55
- def add(type, steps)
56
- (@hash_of_lists_of_steps[type] << steps).flatten!
57
- end
58
-
59
- def clear
60
- @hash_of_lists_of_steps.clear
61
- end
62
-
63
- def empty?
64
- [:given_scenario, :given, :when, :then].each do |type|
65
- return false unless @hash_of_lists_of_steps[type].empty?
66
- end
67
- return true
68
- end
69
-
70
- def add_to(other_step_matchers)
71
- [:given_scenario, :given, :when, :then].each do |type|
72
- other_step_matchers.add(type, @hash_of_lists_of_steps[type])
73
- end
74
- end
75
-
76
- def <<(other_step_matchers)
77
- other_step_matchers.add_to(self) if other_step_matchers.respond_to?(:add_to)
78
- end
79
-
80
- # TODO - make me private
81
- def create_matcher(type, name, &block)
82
- matcher = Step.new(name, &block)
83
- @hash_of_lists_of_steps[type] << matcher
84
- matcher
85
- end
86
-
87
- end
88
- end
89
- end
@@ -1,37 +0,0 @@
1
- module Spec
2
- module Story
3
- class StepMother
4
- def initialize
5
- @steps = StepGroup.new
6
- end
7
-
8
- def use(new_step_group)
9
- @steps << new_step_group
10
- end
11
-
12
- def store(type, step)
13
- @steps.add(type, step)
14
- end
15
-
16
- def find(type, name)
17
- if @steps.find(type, name).nil?
18
- @steps.add(type,
19
- Step.new(name) do
20
- raise Spec::Example::ExamplePendingError.new("Unimplemented step: #{name}")
21
- end
22
- )
23
- end
24
- @steps.find(type, name)
25
- end
26
-
27
- def clear
28
- @steps.clear
29
- end
30
-
31
- def empty?
32
- @steps.empty?
33
- end
34
-
35
- end
36
- end
37
- end
@@ -1,39 +0,0 @@
1
- module Spec
2
- module Story
3
- class Story
4
- attr_reader :title, :narrative
5
-
6
- def initialize(title, narrative, params = {}, &body)
7
- @body = body
8
- @title = title
9
- @narrative = narrative
10
- @params = params
11
- end
12
-
13
- def [](key)
14
- @params[key]
15
- end
16
-
17
- def run_in(obj)
18
- obj.instance_eval(&@body)
19
- end
20
-
21
- def assign_steps_to(assignee)
22
- if steps=@params[:steps_for]
23
- steps = [steps] unless steps.is_a?(Array)
24
- steps.each do |step|
25
- if step.is_a?(StepGroup)
26
- assignee.use(step)
27
- else
28
- assignee.use(steps_for(step))
29
- end
30
- end
31
- end
32
- end
33
-
34
- def steps_for(key)
35
- $rspec_story_steps[key]
36
- end
37
- end
38
- end
39
- end
@@ -1,128 +0,0 @@
1
- require 'spec/expectations'
2
- require 'spec/matchers'
3
- require 'spec/example/pending'
4
-
5
- module Spec
6
- module Story
7
- =begin
8
- A World represents the actual instance a scenario will run in.
9
-
10
- The runner ensures any instance variables and methods defined anywhere
11
- in a story block are available to all the scenarios. This includes
12
- variables that are created or referenced inside Given, When and Then
13
- blocks.
14
- =end
15
- module World
16
- include ::Spec::Example::Pending
17
- include ::Spec::Matchers
18
- # store steps and listeners in the singleton metaclass.
19
- # This serves both to keep them out of the way of runtime Worlds
20
- # and to make them available to all instances.
21
- class << self
22
- def create(cls = Object, *args)
23
- cls.new(*args).extend(World)
24
- end
25
-
26
- def listeners
27
- @listeners ||= []
28
- end
29
-
30
- def add_listener(listener)
31
- listeners() << listener
32
- end
33
-
34
- def step_mother
35
- @step_mother ||= StepMother.new
36
- end
37
-
38
- def use(steps)
39
- step_mother.use(steps)
40
- end
41
-
42
- def step_names
43
- @step_names ||= []
44
- end
45
-
46
- def run_given_scenario_with_suspended_listeners(world, type, name, scenario)
47
- current_listeners = Array.new(listeners)
48
- begin
49
- listeners.each { |l| l.found_scenario(type, name) }
50
- @listeners.clear
51
- scenario.perform(world, name) unless dry_run
52
- ensure
53
- @listeners.replace(current_listeners)
54
- end
55
- end
56
-
57
- def store_and_call(world, type, name, *args, &block)
58
- if block_given?
59
- step_mother.store(type, Step.new(name, &block))
60
- end
61
- step = step_mother.find(type, name)
62
-
63
- step_name = step.name
64
- step_names << step_name
65
-
66
- # It's important to have access to the parsed args here, so
67
- # we can give them to the listeners. The HTML reporter needs
68
- # the args so it can style them. See the generated output in
69
- # story_server/prototype/rspec_stories.html (generated by rake stories)
70
- args = step.parse_args(name) if args.empty?
71
- begin
72
- listeners.each { |l| l.step_upcoming(type, step_name, *args) }
73
- step.perform(world, *args) unless dry_run
74
- listeners.each { |l| l.step_succeeded(type, step_name, *args) }
75
- rescue Exception => e
76
- case e
77
- when Spec::Example::ExamplePendingError
78
- @listeners.each { |l| l.step_pending(type, step_name, *args) }
79
- else
80
- @listeners.each { |l| l.step_failed(type, step_name, *args) }
81
- end
82
- errors << e
83
- end
84
- end
85
-
86
- def errors
87
- @errors ||= []
88
- end
89
-
90
- def dry_run
91
- ::Spec::Story::Runner.dry_run
92
- end
93
- end # end of class << self
94
-
95
- def start_collecting_errors
96
- errors.clear
97
- end
98
-
99
- def errors
100
- World.errors
101
- end
102
-
103
- def GivenScenario(name)
104
- World.run_given_scenario_with_suspended_listeners(self, :'given scenario', name, GivenScenario.new(name))
105
- @__previous_step = :given
106
- end
107
-
108
- def Given(name, *args, &block)
109
- World.store_and_call self, :given, name, *args, &block
110
- @__previous_step = :given
111
- end
112
-
113
- def When(name, *args, &block)
114
- World.store_and_call self, :when, name, *args, &block
115
- @__previous_step = :when
116
- end
117
-
118
- def Then(name, *args, &block)
119
- World.store_and_call self, :then, name, *args, &block
120
- @__previous_step = :then
121
- end
122
-
123
- def And(name, *args, &block)
124
- World.store_and_call self, @__previous_step, name, *args, &block
125
- end
126
- end
127
- end
128
- end