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,31 +0,0 @@
1
- module Spec
2
- module Mocks
3
- module ArgumentConstraintMatchers
4
-
5
- # Shortcut for creating an instance of Spec::Mocks::DuckTypeArgConstraint
6
- def duck_type(*args)
7
- DuckTypeArgConstraint.new(*args)
8
- end
9
-
10
- def any_args
11
- AnyArgsConstraint.new
12
- end
13
-
14
- def anything
15
- AnyArgConstraint.new(nil)
16
- end
17
-
18
- def boolean
19
- BooleanArgConstraint.new(nil)
20
- end
21
-
22
- def hash_including(expected={})
23
- HashIncludingConstraint.new(expected)
24
- end
25
-
26
- def no_args
27
- NoArgsConstraint.new
28
- end
29
- end
30
- end
31
- end
@@ -1,216 +0,0 @@
1
- module Spec
2
- module Mocks
3
-
4
- class MatcherConstraint
5
- def initialize(matcher)
6
- @matcher = matcher
7
- end
8
-
9
- def matches?(value)
10
- @matcher.matches?(value)
11
- end
12
- end
13
-
14
- class LiteralArgConstraint
15
- def initialize(literal)
16
- @literal_value = literal
17
- end
18
-
19
- def matches?(value)
20
- @literal_value == value
21
- end
22
- end
23
-
24
- class RegexpArgConstraint
25
- def initialize(regexp)
26
- @regexp = regexp
27
- end
28
-
29
- def matches?(value)
30
- return value =~ @regexp unless value.is_a?(Regexp)
31
- value == @regexp
32
- end
33
- end
34
-
35
- class AnyArgConstraint
36
- def initialize(ignore)
37
- end
38
-
39
- def ==(other)
40
- true
41
- end
42
-
43
- # TODO - need this?
44
- def matches?(value)
45
- true
46
- end
47
- end
48
-
49
- class AnyArgsConstraint
50
- def description
51
- "any args"
52
- end
53
- end
54
-
55
- class NoArgsConstraint
56
- def description
57
- "no args"
58
- end
59
-
60
- def ==(args)
61
- args == []
62
- end
63
- end
64
-
65
- class NumericArgConstraint
66
- def initialize(ignore)
67
- end
68
-
69
- def matches?(value)
70
- value.is_a?(Numeric)
71
- end
72
- end
73
-
74
- class BooleanArgConstraint
75
- def initialize(ignore)
76
- end
77
-
78
- def ==(value)
79
- matches?(value)
80
- end
81
-
82
- def matches?(value)
83
- return true if value.is_a?(TrueClass)
84
- return true if value.is_a?(FalseClass)
85
- false
86
- end
87
- end
88
-
89
- class StringArgConstraint
90
- def initialize(ignore)
91
- end
92
-
93
- def matches?(value)
94
- value.is_a?(String)
95
- end
96
- end
97
-
98
- class DuckTypeArgConstraint
99
- def initialize(*methods_to_respond_to)
100
- @methods_to_respond_to = methods_to_respond_to
101
- end
102
-
103
- def matches?(value)
104
- @methods_to_respond_to.all? { |sym| value.respond_to?(sym) }
105
- end
106
-
107
- def description
108
- "duck_type"
109
- end
110
- end
111
-
112
- class HashIncludingConstraint
113
- def initialize(expected)
114
- @expected = expected
115
- end
116
-
117
- def ==(actual)
118
- @expected.each do | key, value |
119
- # check key for case that value evaluates to nil
120
- return false unless actual.has_key?(key) && actual[key] == value
121
- end
122
- true
123
- rescue NoMethodError => ex
124
- return false
125
- end
126
-
127
- def matches?(value)
128
- self == value
129
- end
130
-
131
- def description
132
- "hash_including(#{@expected.inspect.sub(/^\{/,"").sub(/\}$/,"")})"
133
- end
134
-
135
- end
136
-
137
-
138
- class ArgumentExpectation
139
- attr_reader :args
140
- @@constraint_classes = Hash.new { |hash, key| LiteralArgConstraint}
141
- @@constraint_classes[:anything] = AnyArgConstraint
142
- @@constraint_classes[:numeric] = NumericArgConstraint
143
- @@constraint_classes[:boolean] = BooleanArgConstraint
144
- @@constraint_classes[:string] = StringArgConstraint
145
-
146
- def initialize(args, &block)
147
- @args = args
148
- @constraints_block = block
149
-
150
- if [:any_args] == args
151
- @expected_params = nil
152
- warn_deprecated(:any_args.inspect, "any_args()")
153
- elsif args.length == 1 && args[0].is_a?(AnyArgsConstraint) then @expected_params = nil
154
- elsif [:no_args] == args
155
- @expected_params = []
156
- warn_deprecated(:no_args.inspect, "no_args()")
157
- elsif args.length == 1 && args[0].is_a?(NoArgsConstraint) then @expected_params = []
158
- else @expected_params = process_arg_constraints(args)
159
- end
160
- end
161
-
162
- def process_arg_constraints(constraints)
163
- constraints.collect do |constraint|
164
- convert_constraint(constraint)
165
- end
166
- end
167
-
168
- def warn_deprecated(deprecated_method, instead)
169
- Kernel.warn "The #{deprecated_method} constraint is deprecated. Use #{instead} instead."
170
- end
171
-
172
- def convert_constraint(constraint)
173
- if [:anything, :numeric, :boolean, :string].include?(constraint)
174
- case constraint
175
- when :anything
176
- instead = "anything()"
177
- when :boolean
178
- instead = "boolean()"
179
- when :numeric
180
- instead = "an_instance_of(Numeric)"
181
- when :string
182
- instead = "an_instance_of(String)"
183
- end
184
- warn_deprecated(constraint.inspect, instead)
185
- return @@constraint_classes[constraint].new(constraint)
186
- end
187
- return MatcherConstraint.new(constraint) if is_matcher?(constraint)
188
- return RegexpArgConstraint.new(constraint) if constraint.is_a?(Regexp)
189
- return LiteralArgConstraint.new(constraint)
190
- end
191
-
192
- def is_matcher?(obj)
193
- return obj.respond_to?(:matches?) && obj.respond_to?(:description)
194
- end
195
-
196
- def check_args(args)
197
- if @constraints_block
198
- @constraints_block.call(*args)
199
- return true
200
- end
201
-
202
- return true if @expected_params.nil?
203
- return true if @expected_params == args
204
- return constraints_match?(args)
205
- end
206
-
207
- def constraints_match?(args)
208
- return false if args.length != @expected_params.length
209
- @expected_params.each_index { |i| return false unless @expected_params[i].matches?(args[i]) }
210
- return true
211
- end
212
-
213
- end
214
-
215
- end
216
- end
@@ -1,84 +0,0 @@
1
- module Spec
2
- module Mocks
3
- class ErrorGenerator
4
- attr_writer :opts
5
-
6
- def initialize(target, name)
7
- @target = target
8
- @name = name
9
- end
10
-
11
- def opts
12
- @opts ||= {}
13
- end
14
-
15
- def raise_unexpected_message_error(sym, *args)
16
- __raise "#{intro} received unexpected message :#{sym}#{arg_message(*args)}"
17
- end
18
-
19
- def raise_unexpected_message_args_error(expectation, *args)
20
- expected_args = format_args(*expectation.expected_args)
21
- actual_args = args.empty? ? "(no args)" : format_args(*args)
22
- __raise "#{intro} expected #{expectation.sym.inspect} with #{expected_args} but received it with #{actual_args}"
23
- end
24
-
25
- def raise_expectation_error(sym, expected_received_count, actual_received_count, *args)
26
- __raise "#{intro} expected :#{sym}#{arg_message(*args)} #{count_message(expected_received_count)}, but received it #{count_message(actual_received_count)}"
27
- end
28
-
29
- def raise_out_of_order_error(sym)
30
- __raise "#{intro} received :#{sym} out of order"
31
- end
32
-
33
- def raise_block_failed_error(sym, detail)
34
- __raise "#{intro} received :#{sym} but passed block failed with: #{detail}"
35
- end
36
-
37
- def raise_missing_block_error(args_to_yield)
38
- __raise "#{intro} asked to yield |#{arg_list(*args_to_yield)}| but no block was passed"
39
- end
40
-
41
- def raise_wrong_arity_error(args_to_yield, arity)
42
- __raise "#{intro} yielded |#{arg_list(*args_to_yield)}| to block with arity of #{arity}"
43
- end
44
-
45
- private
46
- def intro
47
- @name ? "Mock '#{@name}'" : @target.inspect
48
- end
49
-
50
- def __raise(message)
51
- message = opts[:message] unless opts[:message].nil?
52
- Kernel::raise(Spec::Mocks::MockExpectationError, message)
53
- end
54
-
55
- def arg_message(*args)
56
- " with " + format_args(*args)
57
- end
58
-
59
- def format_args(*args)
60
- return "(no args)" if args.empty? || args == [:no_args]
61
- return "(any args)" if args == [:any_args]
62
- "(" + arg_list(*args) + ")"
63
- end
64
-
65
- def arg_list(*args)
66
- args.collect do |arg|
67
- arg.respond_to?(:description) ? arg.description : arg.inspect
68
- end.join(", ")
69
- end
70
-
71
- def count_message(count)
72
- return "at least #{pretty_print(count.abs)}" if count < 0
73
- return pretty_print(count)
74
- end
75
-
76
- def pretty_print(count)
77
- return "once" if count == 1
78
- return "twice" if count == 2
79
- return "#{count} times"
80
- end
81
-
82
- end
83
- end
84
- end
@@ -1 +0,0 @@
1
- require 'spec/mocks/extensions/object'
@@ -1,3 +0,0 @@
1
- class Object
2
- include Spec::Mocks::Methods
3
- end
@@ -1,15 +0,0 @@
1
- # Require everything except the global extensions of class and object. This
2
- # supports wrapping rspec's mocking functionality without invading every
3
- # object in the system.
4
-
5
- require 'spec/mocks/methods'
6
- require 'spec/mocks/argument_constraint_matchers'
7
- require 'spec/mocks/spec_methods'
8
- require 'spec/mocks/proxy'
9
- require 'spec/mocks/mock'
10
- require 'spec/mocks/argument_expectation'
11
- require 'spec/mocks/message_expectation'
12
- require 'spec/mocks/order_group'
13
- require 'spec/mocks/errors'
14
- require 'spec/mocks/error_generator'
15
- require 'spec/mocks/space'
@@ -1,290 +0,0 @@
1
- module Spec
2
- module Mocks
3
-
4
- class BaseExpectation
5
- attr_reader :sym
6
-
7
- def initialize(error_generator, expectation_ordering, expected_from, sym, method_block, expected_received_count=1, opts={})
8
- @error_generator = error_generator
9
- @error_generator.opts = opts
10
- @expected_from = expected_from
11
- @sym = sym
12
- @method_block = method_block
13
- @return_block = nil
14
- @actual_received_count = 0
15
- @expected_received_count = expected_received_count
16
- @args_expectation = ArgumentExpectation.new([AnyArgsConstraint.new])
17
- @consecutive = false
18
- @exception_to_raise = nil
19
- @symbol_to_throw = nil
20
- @order_group = expectation_ordering
21
- @at_least = nil
22
- @at_most = nil
23
- @args_to_yield = []
24
- end
25
-
26
- def expected_args
27
- @args_expectation.args
28
- end
29
-
30
- def and_return(*values, &return_block)
31
- Kernel::raise AmbiguousReturnError unless @method_block.nil?
32
- case values.size
33
- when 0 then value = nil
34
- when 1 then value = values[0]
35
- else
36
- value = values
37
- @consecutive = true
38
- @expected_received_count = values.size if !ignoring_args? &&
39
- @expected_received_count < values.size
40
- end
41
- @return_block = block_given? ? return_block : lambda { value }
42
- # Ruby 1.9 - see where this is used below
43
- @ignore_args = !block_given?
44
- end
45
-
46
- # :call-seq:
47
- # and_raise()
48
- # and_raise(Exception) #any exception class
49
- # and_raise(exception) #any exception object
50
- #
51
- # == Warning
52
- #
53
- # When you pass an exception class, the MessageExpectation will
54
- # raise an instance of it, creating it with +new+. If the exception
55
- # class initializer requires any parameters, you must pass in an
56
- # instance and not the class.
57
- def and_raise(exception=Exception)
58
- @exception_to_raise = exception
59
- end
60
-
61
- def and_throw(symbol)
62
- @symbol_to_throw = symbol
63
- end
64
-
65
- def and_yield(*args)
66
- @args_to_yield << args
67
- self
68
- end
69
-
70
- def matches(sym, args)
71
- @sym == sym and @args_expectation.check_args(args)
72
- end
73
-
74
- def invoke(args, block)
75
- if @expected_received_count == 0
76
- @actual_received_count += 1
77
- @error_generator.raise_expectation_error @sym, @expected_received_count, @actual_received_count, *args
78
- end
79
-
80
- @order_group.handle_order_constraint self
81
-
82
- begin
83
- Kernel::raise @exception_to_raise unless @exception_to_raise.nil?
84
- Kernel::throw @symbol_to_throw unless @symbol_to_throw.nil?
85
-
86
-
87
- if !@method_block.nil?
88
- default_return_val = invoke_method_block(args)
89
- elsif @args_to_yield.size > 0
90
- default_return_val = invoke_with_yield(block)
91
- else
92
- default_return_val = nil
93
- end
94
-
95
- if @consecutive
96
- return invoke_consecutive_return_block(args, block)
97
- elsif @return_block
98
- return invoke_return_block(args, block)
99
- else
100
- return default_return_val
101
- end
102
- ensure
103
- @actual_received_count += 1
104
- end
105
- end
106
-
107
- protected
108
-
109
- def invoke_method_block(args)
110
- begin
111
- @method_block.call(*args)
112
- rescue => detail
113
- @error_generator.raise_block_failed_error @sym, detail.message
114
- end
115
- end
116
-
117
- def invoke_with_yield(block)
118
- if block.nil?
119
- @error_generator.raise_missing_block_error @args_to_yield
120
- end
121
- value = nil
122
- @args_to_yield.each do |args_to_yield_this_time|
123
- if block.arity > -1 && args_to_yield_this_time.length != block.arity
124
- @error_generator.raise_wrong_arity_error args_to_yield_this_time, block.arity
125
- end
126
- value = block.call(*args_to_yield_this_time)
127
- end
128
- value
129
- end
130
-
131
- def invoke_consecutive_return_block(args, block)
132
- args << block unless block.nil?
133
- value = @return_block.call(*args)
134
-
135
- index = [@actual_received_count, value.size-1].min
136
- value[index]
137
- end
138
-
139
- def invoke_return_block(args, block)
140
- args << block unless block.nil?
141
- # Ruby 1.9 - when we set @return_block to return values
142
- # regardless of arguments, any arguments will result in
143
- # a "wrong number of arguments" error
144
- if @ignore_args
145
- @return_block.call()
146
- else
147
- @return_block.call(*args)
148
- end
149
- end
150
- end
151
-
152
- class MessageExpectation < BaseExpectation
153
-
154
- def matches_name_but_not_args(sym, args)
155
- @sym == sym and not @args_expectation.check_args(args)
156
- end
157
-
158
- def verify_messages_received
159
- return if expected_messages_received?
160
-
161
- generate_error
162
- rescue Spec::Mocks::MockExpectationError => error
163
- error.backtrace.insert(0, @expected_from)
164
- Kernel::raise error
165
- end
166
-
167
- def expected_messages_received?
168
- ignoring_args? || matches_exact_count? ||
169
- matches_at_least_count? || matches_at_most_count?
170
- end
171
-
172
- def ignoring_args?
173
- @expected_received_count == :any
174
- end
175
-
176
- def matches_at_least_count?
177
- @at_least && @actual_received_count >= @expected_received_count
178
- end
179
-
180
- def matches_at_most_count?
181
- @at_most && @actual_received_count <= @expected_received_count
182
- end
183
-
184
- def matches_exact_count?
185
- @expected_received_count == @actual_received_count
186
- end
187
-
188
- def similar_messages
189
- @similar_messages ||= []
190
- end
191
-
192
- def advise(args, block)
193
- similar_messages << args
194
- end
195
-
196
- def generate_error
197
- if similar_messages.empty?
198
- @error_generator.raise_expectation_error(@sym, @expected_received_count, @actual_received_count, *@args_expectation.args)
199
- else
200
- @error_generator.raise_unexpected_message_args_error(self, *@similar_messages.first)
201
- end
202
- end
203
-
204
- def with(*args, &block)
205
- @args_expectation = ArgumentExpectation.new(args, &block)
206
- self
207
- end
208
-
209
- def exactly(n)
210
- set_expected_received_count :exactly, n
211
- self
212
- end
213
-
214
- def at_least(n)
215
- set_expected_received_count :at_least, n
216
- self
217
- end
218
-
219
- def at_most(n)
220
- set_expected_received_count :at_most, n
221
- self
222
- end
223
-
224
- def times(&block)
225
- @method_block = block if block
226
- self
227
- end
228
-
229
- def any_number_of_times(&block)
230
- @method_block = block if block
231
- @expected_received_count = :any
232
- self
233
- end
234
-
235
- def never
236
- @expected_received_count = 0
237
- self
238
- end
239
-
240
- def once(&block)
241
- @method_block = block if block
242
- @expected_received_count = 1
243
- self
244
- end
245
-
246
- def twice(&block)
247
- @method_block = block if block
248
- @expected_received_count = 2
249
- self
250
- end
251
-
252
- def ordered(&block)
253
- @method_block = block if block
254
- @order_group.register(self)
255
- @ordered = true
256
- self
257
- end
258
-
259
- def negative_expectation_for?(sym)
260
- return false
261
- end
262
-
263
- protected
264
- def set_expected_received_count(relativity, n)
265
- @at_least = (relativity == :at_least)
266
- @at_most = (relativity == :at_most)
267
- @expected_received_count = case n
268
- when Numeric
269
- n
270
- when :once
271
- 1
272
- when :twice
273
- 2
274
- end
275
- end
276
-
277
- end
278
-
279
- class NegativeMessageExpectation < MessageExpectation
280
- def initialize(message, expectation_ordering, expected_from, sym, method_block)
281
- super(message, expectation_ordering, expected_from, sym, method_block, 0)
282
- end
283
-
284
- def negative_expectation_for?(sym)
285
- return @sym == sym
286
- end
287
- end
288
-
289
- end
290
- end