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,17 +0,0 @@
1
- module Spec
2
- module Expectations
3
- module StringHelpers
4
- def starts_with?(prefix)
5
- to_s[0..(prefix.to_s.length - 1)] == prefix.to_s
6
- end
7
- end
8
- end
9
- end
10
-
11
- class String
12
- include Spec::Expectations::StringHelpers
13
- end
14
-
15
- class Symbol
16
- include Spec::Expectations::StringHelpers
17
- end
@@ -1,62 +0,0 @@
1
- module Spec
2
- module Expectations
3
- class InvalidMatcherError < ArgumentError; end
4
-
5
- module MatcherHandlerHelper
6
- def describe_matcher(matcher)
7
- matcher.respond_to?(:description) ? matcher.description : "[#{matcher.class.name} does not provide a description]"
8
- end
9
- end
10
-
11
- class ExpectationMatcherHandler
12
- class << self
13
- include MatcherHandlerHelper
14
- def handle_matcher(actual, matcher, &block)
15
- if :use_operator_matcher == matcher
16
- return Spec::Matchers::PositiveOperatorMatcher.new(actual)
17
- end
18
-
19
- unless matcher.respond_to?(:matches?)
20
- raise InvalidMatcherError, "Expected a matcher, got #{matcher.inspect}."
21
- end
22
-
23
- match = matcher.matches?(actual, &block)
24
- ::Spec::Matchers.generated_description = "should #{describe_matcher(matcher)}"
25
- Spec::Expectations.fail_with(matcher.failure_message) unless match
26
- match
27
- end
28
- end
29
- end
30
-
31
- class NegativeExpectationMatcherHandler
32
- class << self
33
- include MatcherHandlerHelper
34
- def handle_matcher(actual, matcher, &block)
35
- if :use_operator_matcher == matcher
36
- return Spec::Matchers::NegativeOperatorMatcher.new(actual)
37
- end
38
-
39
- unless matcher.respond_to?(:matches?)
40
- raise InvalidMatcherError, "Expected a matcher, got #{matcher.inspect}."
41
- end
42
-
43
- unless matcher.respond_to?(:negative_failure_message)
44
- Spec::Expectations.fail_with(
45
- <<-EOF
46
- Matcher does not support should_not.
47
- See Spec::Matchers for more information
48
- about matchers.
49
- EOF
50
- )
51
- end
52
- match = matcher.matches?(actual, &block)
53
- ::Spec::Matchers.generated_description = "should not #{describe_matcher(matcher)}"
54
- Spec::Expectations.fail_with(matcher.negative_failure_message) if match
55
- match
56
- end
57
- end
58
- end
59
-
60
- end
61
- end
62
-
@@ -1,4 +0,0 @@
1
- require 'spec/extensions/object'
2
- require 'spec/extensions/class'
3
- require 'spec/extensions/main'
4
- require 'spec/extensions/metaclass'
@@ -1,24 +0,0 @@
1
- class Class
2
- # Creates a new subclass of self, with a name "under" our own name.
3
- # Example:
4
- #
5
- # x = Foo::Bar.subclass('Zap'){}
6
- # x.name # => Foo::Bar::Zap_1
7
- # x.superclass.name # => Foo::Bar
8
- def subclass(base_name, &body)
9
- klass = Class.new(self)
10
- class_name = "#{base_name}_#{class_count!}"
11
- instance_eval do
12
- const_set(class_name, klass)
13
- end
14
- klass.instance_eval(&body)
15
- klass
16
- end
17
-
18
- private
19
- def class_count!
20
- @class_count ||= 0
21
- @class_count += 1
22
- @class_count
23
- end
24
- end
@@ -1,102 +0,0 @@
1
- module Spec
2
- module Extensions
3
- module Main
4
- # Creates and returns a class that includes the ExampleGroupMethods
5
- # module. Which ExampleGroup type is created depends on the directory of the file
6
- # calling this method. For example, Spec::Rails will use different
7
- # classes for specs living in <tt>spec/models</tt>,
8
- # <tt>spec/helpers</tt>, <tt>spec/views</tt> and
9
- # <tt>spec/controllers</tt>.
10
- #
11
- # It is also possible to override autodiscovery of the example group
12
- # type with an options Hash as the last argument:
13
- #
14
- # describe "name", :type => :something_special do ...
15
- #
16
- # The reason for using different behaviour classes is to have different
17
- # matcher methods available from within the <tt>describe</tt> block.
18
- #
19
- # See Spec::Example::ExampleFactory#register for details about how to
20
- # register special implementations.
21
- #
22
- def describe(*args, &block)
23
- raise ArgumentError if args.empty?
24
- raise ArgumentError unless block
25
- args << {} unless Hash === args.last
26
- args.last[:spec_path] = caller(0)[1]
27
- Spec::Example::ExampleGroupFactory.create_example_group(*args, &block)
28
- end
29
- alias :context :describe
30
-
31
- # Creates an example group that can be shared by other example groups
32
- #
33
- # == Examples
34
- #
35
- # share_examples_for "All Editions" do
36
- # it "all editions behaviour" ...
37
- # end
38
- #
39
- # describe SmallEdition do
40
- # it_should_behave_like "All Editions"
41
- #
42
- # it "should do small edition stuff" do
43
- # ...
44
- # end
45
- # end
46
- def share_examples_for(name, &block)
47
- describe(name, :shared => true, &block)
48
- end
49
-
50
- alias :shared_examples_for :share_examples_for
51
-
52
- # Creates a Shared Example Group and assigns it to a constant
53
- #
54
- # share_as :AllEditions do
55
- # it "should do all editions stuff" ...
56
- # end
57
- #
58
- # describe SmallEdition do
59
- # it_should_behave_like AllEditions
60
- #
61
- # it "should do small edition stuff" do
62
- # ...
63
- # end
64
- # end
65
- #
66
- # And, for those of you who prefer to use something more like Ruby, you
67
- # can just include the module directly
68
- #
69
- # describe SmallEdition do
70
- # include AllEditions
71
- #
72
- # it "should do small edition stuff" do
73
- # ...
74
- # end
75
- # end
76
- def share_as(name, &block)
77
- begin
78
- Object.const_set(name, share_examples_for(name, &block))
79
- rescue NameError => e
80
- raise NameError.new(e.message + "\nThe first argument to share_as must be a legal name for a constant\n")
81
- end
82
- end
83
-
84
- private
85
-
86
- def rspec_options
87
- $rspec_options ||= begin; \
88
- parser = ::Spec::Runner::OptionParser.new(STDERR, STDOUT); \
89
- parser.order!(ARGV); \
90
- $rspec_options = parser.options; \
91
- end
92
- $rspec_options
93
- end
94
-
95
- def init_rspec_options(options)
96
- $rspec_options = options if $rspec_options.nil?
97
- end
98
- end
99
- end
100
- end
101
-
102
- include Spec::Extensions::Main
@@ -1,7 +0,0 @@
1
- module Spec
2
- module MetaClass
3
- def metaclass
4
- class << self; self; end
5
- end
6
- end
7
- end
@@ -1,6 +0,0 @@
1
- class Object
2
- def args_and_options(*args)
3
- options = Hash === args.last ? args.pop : {}
4
- return args, options
5
- end
6
- end
@@ -1,12 +0,0 @@
1
- require 'test/unit'
2
- require 'test/unit/testresult'
3
-
4
- require 'spec/interop/test/unit/testcase'
5
- require 'spec/interop/test/unit/testsuite_adapter'
6
- require 'spec/interop/test/unit/autorunner'
7
- require 'spec/interop/test/unit/testresult'
8
- require 'spec/interop/test/unit/ui/console/testrunner'
9
-
10
- Spec::Example::ExampleGroupFactory.default(Test::Unit::TestCase)
11
-
12
- Test::Unit.run = true
@@ -1,6 +0,0 @@
1
- class Test::Unit::AutoRunner
2
- remove_method :process_args
3
- def process_args(argv)
4
- true
5
- end
6
- end
@@ -1,61 +0,0 @@
1
- require 'test/unit/testcase'
2
-
3
- module Test
4
- module Unit
5
- # This extension of the standard Test::Unit::TestCase makes RSpec
6
- # available from within, so that you can do things like:
7
- #
8
- # require 'test/unit'
9
- # require 'spec'
10
- #
11
- # class MyTest < Test::Unit::TestCase
12
- # it "should work with Test::Unit assertions" do
13
- # assert_equal 4, 2+1
14
- # end
15
- #
16
- # def test_should_work_with_rspec_expectations
17
- # (3+1).should == 5
18
- # end
19
- # end
20
- #
21
- # See also Spec::Example::ExampleGroup
22
- class TestCase
23
- extend Spec::Example::ExampleGroupMethods
24
- include Spec::Example::ExampleMethods
25
-
26
- before(:each) {setup}
27
- after(:each) {teardown}
28
-
29
- class << self
30
- def suite
31
- Test::Unit::TestSuiteAdapter.new(self)
32
- end
33
-
34
- def example_method?(method_name)
35
- should_method?(method_name) || test_method?(method_name)
36
- end
37
-
38
- def test_method?(method_name)
39
- method_name =~ /^test[_A-Z]./ && (
40
- instance_method(method_name).arity == 0 ||
41
- instance_method(method_name).arity == -1
42
- )
43
- end
44
- end
45
-
46
- def initialize(defined_description, &implementation)
47
- @_defined_description = defined_description
48
- @_implementation = implementation
49
-
50
- @_result = ::Test::Unit::TestResult.new
51
- # @method_name is important to set here because it "complies" with Test::Unit's interface.
52
- # Some Test::Unit extensions depend on @method_name being present.
53
- @method_name = @_defined_description
54
- end
55
-
56
- def run(ignore_this_argument=nil)
57
- super()
58
- end
59
- end
60
- end
61
- end
@@ -1,6 +0,0 @@
1
- class Test::Unit::TestResult
2
- alias_method :tu_passed?, :passed?
3
- def passed?
4
- return tu_passed? & ::Spec.run
5
- end
6
- end
@@ -1,34 +0,0 @@
1
- module Test
2
- module Unit
3
- class TestSuiteAdapter < TestSuite
4
- attr_reader :example_group, :examples
5
- alias_method :tests, :examples
6
- def initialize(example_group)
7
- @example_group = example_group
8
- @examples = example_group.examples
9
- end
10
-
11
- def name
12
- example_group.description
13
- end
14
-
15
- def run(*args)
16
- return true unless args.empty?
17
- example_group.run
18
- end
19
-
20
- def size
21
- example_group.number_of_examples
22
- end
23
-
24
- def delete(example)
25
- examples.delete example
26
- end
27
-
28
- def empty?
29
- examples.empty?
30
- end
31
- end
32
- end
33
- end
34
-
@@ -1,61 +0,0 @@
1
- require 'test/unit/ui/console/testrunner'
2
-
3
- module Test
4
- module Unit
5
- module UI
6
- module Console
7
- class TestRunner
8
-
9
- alias_method :started_without_rspec, :started
10
- def started_with_rspec(result)
11
- @result = result
12
- @need_to_output_started = true
13
- end
14
- alias_method :started, :started_with_rspec
15
-
16
- alias_method :test_started_without_rspec, :test_started
17
- def test_started_with_rspec(name)
18
- if @need_to_output_started
19
- if @rspec_io
20
- @rspec_io.rewind
21
- output(@rspec_io.read)
22
- end
23
- output("Started")
24
- @need_to_output_started = false
25
- end
26
- test_started_without_rspec(name)
27
- end
28
- alias_method :test_started, :test_started_with_rspec
29
-
30
- alias_method :test_finished_without_rspec, :test_finished
31
- def test_finished_with_rspec(name)
32
- test_finished_without_rspec(name)
33
- @ran_test = true
34
- end
35
- alias_method :test_finished, :test_finished_with_rspec
36
-
37
- alias_method :finished_without_rspec, :finished
38
- def finished_with_rspec(elapsed_time)
39
- @ran_test ||= false
40
- if @ran_test
41
- finished_without_rspec(elapsed_time)
42
- end
43
- end
44
- alias_method :finished, :finished_with_rspec
45
-
46
- alias_method :setup_mediator_without_rspec, :setup_mediator
47
- def setup_mediator_with_rspec
48
- orig_io = @io
49
- @io = StringIO.new
50
- setup_mediator_without_rspec
51
- ensure
52
- @rspec_io = @io
53
- @io = orig_io
54
- end
55
- alias_method :setup_mediator, :setup_mediator_with_rspec
56
-
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,156 +0,0 @@
1
- require 'spec/matchers/simple_matcher'
2
- require 'spec/matchers/be'
3
- require 'spec/matchers/be_close'
4
- require 'spec/matchers/change'
5
- require 'spec/matchers/eql'
6
- require 'spec/matchers/equal'
7
- require 'spec/matchers/exist'
8
- require 'spec/matchers/has'
9
- require 'spec/matchers/have'
10
- require 'spec/matchers/include'
11
- require 'spec/matchers/match'
12
- require 'spec/matchers/raise_error'
13
- require 'spec/matchers/respond_to'
14
- require 'spec/matchers/satisfy'
15
- require 'spec/matchers/throw_symbol'
16
- require 'spec/matchers/operator_matcher'
17
-
18
- module Spec
19
-
20
- # RSpec ships with a number of useful Expression Matchers. An Expression Matcher
21
- # is any object that responds to the following methods:
22
- #
23
- # matches?(actual)
24
- # failure_message
25
- # negative_failure_message #optional
26
- # description #optional
27
- #
28
- # See Spec::Expectations to learn how to use these as Expectation Matchers.
29
- # See Spec::Mocks to learn how to use them as Mock Argument Constraints.
30
- #
31
- # == Predicates
32
- #
33
- # In addition to those Expression Matchers that are defined explicitly, RSpec will
34
- # create custom Matchers on the fly for any arbitrary predicate, giving your specs
35
- # a much more natural language feel.
36
- #
37
- # A Ruby predicate is a method that ends with a "?" and returns true or false.
38
- # Common examples are +empty?+, +nil?+, and +instance_of?+.
39
- #
40
- # All you need to do is write +should be_+ followed by the predicate without
41
- # the question mark, and RSpec will figure it out from there. For example:
42
- #
43
- # [].should be_empty => [].empty? #passes
44
- # [].should_not be_empty => [].empty? #fails
45
- #
46
- # In addtion to prefixing the predicate matchers with "be_", you can also use "be_a_"
47
- # and "be_an_", making your specs read much more naturally:
48
- #
49
- # "a string".should be_an_instance_of(String) =>"a string".instance_of?(String) #passes
50
- #
51
- # 3.should be_a_kind_of(Fixnum) => 3.kind_of?(Numeric) #passes
52
- # 3.should be_a_kind_of(Numeric) => 3.kind_of?(Numeric) #passes
53
- # 3.should be_an_instance_of(Fixnum) => 3.instance_of?(Fixnum) #passes
54
- # 3.should_not be_instance_of(Numeric) => 3.instance_of?(Numeric) #fails
55
- #
56
- # RSpec will also create custom matchers for predicates like +has_key?+. To
57
- # use this feature, just state that the object should have_key(:key) and RSpec will
58
- # call has_key?(:key) on the target. For example:
59
- #
60
- # {:a => "A"}.should have_key(:a) => {:a => "A"}.has_key?(:a) #passes
61
- # {:a => "A"}.should have_key(:b) => {:a => "A"}.has_key?(:b) #fails
62
- #
63
- # You can use this feature to invoke any predicate that begins with "has_", whether it is
64
- # part of the Ruby libraries (like +Hash#has_key?+) or a method you wrote on your own class.
65
- #
66
- # == Custom Expectation Matchers
67
- #
68
- # When you find that none of the stock Expectation Matchers provide a natural
69
- # feeling expectation, you can very easily write your own.
70
- #
71
- # For example, imagine that you are writing a game in which players can
72
- # be in various zones on a virtual board. To specify that bob should
73
- # be in zone 4, you could say:
74
- #
75
- # bob.current_zone.should eql(Zone.new("4"))
76
- #
77
- # But you might find it more expressive to say:
78
- #
79
- # bob.should be_in_zone("4")
80
- #
81
- # and/or
82
- #
83
- # bob.should_not be_in_zone("3")
84
- #
85
- # To do this, you would need to write a class like this:
86
- #
87
- # class BeInZone
88
- # def initialize(expected)
89
- # @expected = expected
90
- # end
91
- # def matches?(target)
92
- # @target = target
93
- # @target.current_zone.eql?(Zone.new(@expected))
94
- # end
95
- # def failure_message
96
- # "expected #{@target.inspect} to be in Zone #{@expected}"
97
- # end
98
- # def negative_failure_message
99
- # "expected #{@target.inspect} not to be in Zone #{@expected}"
100
- # end
101
- # end
102
- #
103
- # ... and a method like this:
104
- #
105
- # def be_in_zone(expected)
106
- # BeInZone.new(expected)
107
- # end
108
- #
109
- # And then expose the method to your specs. This is normally done
110
- # by including the method and the class in a module, which is then
111
- # included in your spec:
112
- #
113
- # module CustomGameMatchers
114
- # class BeInZone
115
- # ...
116
- # end
117
- #
118
- # def be_in_zone(expected)
119
- # ...
120
- # end
121
- # end
122
- #
123
- # describe "Player behaviour" do
124
- # include CustomGameMatchers
125
- # ...
126
- # end
127
- #
128
- # or you can include in globally in a spec_helper.rb file <tt>require</tt>d
129
- # from your spec file(s):
130
- #
131
- # Spec::Runner.configure do |config|
132
- # config.include(CustomGameMatchers)
133
- # end
134
- #
135
- module Matchers
136
- module ModuleMethods
137
- attr_accessor :generated_description
138
-
139
- def clear_generated_description
140
- self.generated_description = nil
141
- end
142
- end
143
-
144
- extend ModuleMethods
145
-
146
- def method_missing(sym, *args, &block) # :nodoc:
147
- return Matchers::Be.new(sym, *args) if sym.starts_with?("be_")
148
- return Matchers::Has.new(sym, *args) if sym.starts_with?("have_")
149
- super
150
- end
151
-
152
- class MatcherError < StandardError
153
- end
154
-
155
- end
156
- end