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,43 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class Equal #:nodoc:
5
- def initialize(expected)
6
- @expected = expected
7
- end
8
-
9
- def matches?(actual)
10
- @actual = actual
11
- @actual.equal?(@expected)
12
- end
13
-
14
- def failure_message
15
- return "expected #{@expected.inspect}, got #{@actual.inspect} (using .equal?)", @expected, @actual
16
- end
17
-
18
- def negative_failure_message
19
- return "expected #{@actual.inspect} not to equal #{@expected.inspect} (using .equal?)", @expected, @actual
20
- end
21
-
22
- def description
23
- "equal #{@expected.inspect}"
24
- end
25
- end
26
-
27
- # :call-seq:
28
- # should equal(expected)
29
- # should_not equal(expected)
30
- #
31
- # Passes if actual and expected are the same object (object identity).
32
- #
33
- # See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more information about equality in Ruby.
34
- #
35
- # == Examples
36
- #
37
- # 5.should equal(5) #Fixnums are equal
38
- # "5".should_not equal("5") #Strings that look the same are not the same object
39
- def equal(expected)
40
- Matchers::Equal.new(expected)
41
- end
42
- end
43
- end
@@ -1,17 +0,0 @@
1
- module Spec
2
- module Matchers
3
- class Exist
4
- def matches? actual
5
- @actual = actual
6
- @actual.exist?
7
- end
8
- def failure_message
9
- "expected #{@actual.inspect} to exist, but it doesn't."
10
- end
11
- def negative_failure_message
12
- "expected #{@actual.inspect} to not exist, but it does."
13
- end
14
- end
15
- def exist; Exist.new; end
16
- end
17
- end
@@ -1,34 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class Has #:nodoc:
5
- def initialize(sym, *args)
6
- @sym = sym
7
- @args = args
8
- end
9
-
10
- def matches?(target)
11
- target.send(predicate, *@args)
12
- end
13
-
14
- def failure_message
15
- "expected ##{predicate}(#{@args[0].inspect}) to return true, got false"
16
- end
17
-
18
- def negative_failure_message
19
- "expected ##{predicate}(#{@args[0].inspect}) to return false, got true"
20
- end
21
-
22
- def description
23
- "have key #{@args[0].inspect}"
24
- end
25
-
26
- private
27
- def predicate
28
- "#{@sym.to_s.sub("have_","has_")}?".to_sym
29
- end
30
-
31
- end
32
-
33
- end
34
- end
@@ -1,149 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class Have #:nodoc:
5
- def initialize(expected, relativity=:exactly)
6
- @expected = (expected == :no ? 0 : expected)
7
- @relativity = relativity
8
- end
9
-
10
- def relativities
11
- @relativities ||= {
12
- :exactly => "",
13
- :at_least => "at least ",
14
- :at_most => "at most "
15
- }
16
- end
17
-
18
- def method_missing(sym, *args, &block)
19
- @collection_name = sym
20
- if defined?(ActiveSupport::Inflector)
21
- @plural_collection_name = ActiveSupport::Inflector.pluralize(sym.to_s)
22
- elsif Object.const_defined?(:Inflector)
23
- @plural_collection_name = Inflector.pluralize(sym.to_s)
24
- end
25
- @args = args
26
- @block = block
27
- self
28
- end
29
-
30
- def matches?(collection_owner)
31
- if collection_owner.respond_to?(@collection_name)
32
- collection = collection_owner.send(@collection_name, *@args, &@block)
33
- elsif (@plural_collection_name && collection_owner.respond_to?(@plural_collection_name))
34
- collection = collection_owner.send(@plural_collection_name, *@args, &@block)
35
- elsif (collection_owner.respond_to?(:length) || collection_owner.respond_to?(:size))
36
- collection = collection_owner
37
- else
38
- collection_owner.send(@collection_name, *@args, &@block)
39
- end
40
- @actual = collection.size if collection.respond_to?(:size)
41
- @actual = collection.length if collection.respond_to?(:length)
42
- raise not_a_collection if @actual.nil?
43
- return @actual >= @expected if @relativity == :at_least
44
- return @actual <= @expected if @relativity == :at_most
45
- return @actual == @expected
46
- end
47
-
48
- def not_a_collection
49
- "expected #{@collection_name} to be a collection but it does not respond to #length or #size"
50
- end
51
-
52
- def failure_message
53
- "expected #{relative_expectation} #{@collection_name}, got #{@actual}"
54
- end
55
-
56
- def negative_failure_message
57
- if @relativity == :exactly
58
- return "expected target not to have #{@expected} #{@collection_name}, got #{@actual}"
59
- elsif @relativity == :at_most
60
- return <<-EOF
61
- Isn't life confusing enough?
62
- Instead of having to figure out the meaning of this:
63
- should_not have_at_most(#{@expected}).#{@collection_name}
64
- We recommend that you use this instead:
65
- should have_at_least(#{@expected + 1}).#{@collection_name}
66
- EOF
67
- elsif @relativity == :at_least
68
- return <<-EOF
69
- Isn't life confusing enough?
70
- Instead of having to figure out the meaning of this:
71
- should_not have_at_least(#{@expected}).#{@collection_name}
72
- We recommend that you use this instead:
73
- should have_at_most(#{@expected - 1}).#{@collection_name}
74
- EOF
75
- end
76
- end
77
-
78
- def description
79
- "have #{relative_expectation} #{@collection_name}"
80
- end
81
-
82
- private
83
-
84
- def relative_expectation
85
- "#{relativities[@relativity]}#{@expected}"
86
- end
87
- end
88
-
89
- # :call-seq:
90
- # should have(number).named_collection__or__sugar
91
- # should_not have(number).named_collection__or__sugar
92
- #
93
- # Passes if receiver is a collection with the submitted
94
- # number of items OR if the receiver OWNS a collection
95
- # with the submitted number of items.
96
- #
97
- # If the receiver OWNS the collection, you must use the name
98
- # of the collection. So if a <tt>Team</tt> instance has a
99
- # collection named <tt>#players</tt>, you must use that name
100
- # to set the expectation.
101
- #
102
- # If the receiver IS the collection, you can use any name
103
- # you like for <tt>named_collection</tt>. We'd recommend using
104
- # either "elements", "members", or "items" as these are all
105
- # standard ways of describing the things IN a collection.
106
- #
107
- # This also works for Strings, letting you set an expectation
108
- # about its length
109
- #
110
- # == Examples
111
- #
112
- # # Passes if team.players.size == 11
113
- # team.should have(11).players
114
- #
115
- # # Passes if [1,2,3].length == 3
116
- # [1,2,3].should have(3).items #"items" is pure sugar
117
- #
118
- # # Passes if "this string".length == 11
119
- # "this string".should have(11).characters #"characters" is pure sugar
120
- def have(n)
121
- Matchers::Have.new(n)
122
- end
123
- alias :have_exactly :have
124
-
125
- # :call-seq:
126
- # should have_at_least(number).items
127
- #
128
- # Exactly like have() with >=.
129
- #
130
- # == Warning
131
- #
132
- # +should_not+ +have_at_least+ is not supported
133
- def have_at_least(n)
134
- Matchers::Have.new(n, :at_least)
135
- end
136
-
137
- # :call-seq:
138
- # should have_at_most(number).items
139
- #
140
- # Exactly like have() with <=.
141
- #
142
- # == Warning
143
- #
144
- # +should_not+ +have_at_most+ is not supported
145
- def have_at_most(n)
146
- Matchers::Have.new(n, :at_most)
147
- end
148
- end
149
- end
@@ -1,70 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class Include #:nodoc:
5
-
6
- def initialize(*expecteds)
7
- @expecteds = expecteds
8
- end
9
-
10
- def matches?(actual)
11
- @actual = actual
12
- @expecteds.each do |expected|
13
- return false unless actual.include?(expected)
14
- end
15
- true
16
- end
17
-
18
- def failure_message
19
- _message
20
- end
21
-
22
- def negative_failure_message
23
- _message("not ")
24
- end
25
-
26
- def description
27
- "include #{_pretty_print(@expecteds)}"
28
- end
29
-
30
- private
31
- def _message(maybe_not="")
32
- "expected #{@actual.inspect} #{maybe_not}to include #{_pretty_print(@expecteds)}"
33
- end
34
-
35
- def _pretty_print(array)
36
- result = ""
37
- array.each_with_index do |item, index|
38
- if index < (array.length - 2)
39
- result << "#{item.inspect}, "
40
- elsif index < (array.length - 1)
41
- result << "#{item.inspect} and "
42
- else
43
- result << "#{item.inspect}"
44
- end
45
- end
46
- result
47
- end
48
- end
49
-
50
- # :call-seq:
51
- # should include(expected)
52
- # should_not include(expected)
53
- #
54
- # Passes if actual includes expected. This works for
55
- # collections and Strings. You can also pass in multiple args
56
- # and it will only pass if all args are found in collection.
57
- #
58
- # == Examples
59
- #
60
- # [1,2,3].should include(3)
61
- # [1,2,3].should include(2,3) #would pass
62
- # [1,2,3].should include(2,3,4) #would fail
63
- # [1,2,3].should_not include(4)
64
- # "spread".should include("read")
65
- # "spread".should_not include("red")
66
- def include(*expected)
67
- Matchers::Include.new(*expected)
68
- end
69
- end
70
- end
@@ -1,41 +0,0 @@
1
- module Spec
2
- module Matchers
3
-
4
- class Match #:nodoc:
5
- def initialize(expected)
6
- @expected = expected
7
- end
8
-
9
- def matches?(actual)
10
- @actual = actual
11
- return true if actual =~ @expected
12
- return false
13
- end
14
-
15
- def failure_message
16
- return "expected #{@actual.inspect} to match #{@expected.inspect}", @expected, @actual
17
- end
18
-
19
- def negative_failure_message
20
- return "expected #{@actual.inspect} not to match #{@expected.inspect}", @expected, @actual
21
- end
22
-
23
- def description
24
- "match #{@expected.inspect}"
25
- end
26
- end
27
-
28
- # :call-seq:
29
- # should match(regexp)
30
- # should_not match(regexp)
31
- #
32
- # Given a Regexp, passes if actual =~ regexp
33
- #
34
- # == Examples
35
- #
36
- # email.should match(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
37
- def match(regexp)
38
- Matchers::Match.new(regexp)
39
- end
40
- end
41
- end
@@ -1,73 +0,0 @@
1
- module Spec
2
- module Matchers
3
- class BaseOperatorMatcher
4
- attr_reader :generated_description
5
-
6
- def initialize(target)
7
- @target = target
8
- end
9
-
10
- def ==(expected)
11
- @expected = expected
12
- __delegate_method_missing_to_target("==", expected)
13
- end
14
-
15
- def ===(expected)
16
- @expected = expected
17
- __delegate_method_missing_to_target("===", expected)
18
- end
19
-
20
- def =~(expected)
21
- @expected = expected
22
- __delegate_method_missing_to_target("=~", expected)
23
- end
24
-
25
- def >(expected)
26
- @expected = expected
27
- __delegate_method_missing_to_target(">", expected)
28
- end
29
-
30
- def >=(expected)
31
- @expected = expected
32
- __delegate_method_missing_to_target(">=", expected)
33
- end
34
-
35
- def <(expected)
36
- @expected = expected
37
- __delegate_method_missing_to_target("<", expected)
38
- end
39
-
40
- def <=(expected)
41
- @expected = expected
42
- __delegate_method_missing_to_target("<=", expected)
43
- end
44
-
45
- def fail_with_message(message)
46
- Spec::Expectations.fail_with(message, @expected, @target)
47
- end
48
-
49
- end
50
-
51
- class PositiveOperatorMatcher < BaseOperatorMatcher #:nodoc:
52
-
53
- def __delegate_method_missing_to_target(operator, expected)
54
- ::Spec::Matchers.generated_description = "should #{operator} #{expected.inspect}"
55
- return true if @target.send(operator, expected)
56
- return fail_with_message("expected: #{expected.inspect},\n got: #{@target.inspect} (using #{operator})") if ['==','===', '=~'].include?(operator)
57
- return fail_with_message("expected: #{operator} #{expected.inspect},\n got: #{operator.gsub(/./, ' ')} #{@target.inspect}")
58
- end
59
-
60
- end
61
-
62
- class NegativeOperatorMatcher < BaseOperatorMatcher #:nodoc:
63
-
64
- def __delegate_method_missing_to_target(operator, expected)
65
- ::Spec::Matchers.generated_description = "should not #{operator} #{expected.inspect}"
66
- return true unless @target.send(operator, expected)
67
- return fail_with_message("expected not: #{operator} #{expected.inspect},\n got: #{operator.gsub(/./, ' ')} #{@target.inspect}")
68
- end
69
-
70
- end
71
-
72
- end
73
- end
@@ -1,132 +0,0 @@
1
- module Spec
2
- module Matchers
3
- class RaiseError #:nodoc:
4
- def initialize(error_or_message=Exception, message=nil, &block)
5
- @block = block
6
- case error_or_message
7
- when String, Regexp
8
- @expected_error, @expected_message = Exception, error_or_message
9
- else
10
- @expected_error, @expected_message = error_or_message, message
11
- end
12
- end
13
-
14
- def matches?(proc)
15
- @raised_expected_error = false
16
- @with_expected_message = false
17
- @eval_block = false
18
- @eval_block_passed = false
19
- begin
20
- proc.call
21
- rescue @expected_error => @actual_error
22
- @raised_expected_error = true
23
- @with_expected_message = verify_message
24
- rescue Exception => @actual_error
25
- # This clause should be empty, but rcov will not report it as covered
26
- # unless something (anything) is executed within the clause
27
- rcov_error_report = "http://eigenclass.org/hiki.rb?rcov-0.8.0"
28
- end
29
-
30
- unless negative_expectation?
31
- eval_block if @raised_expected_error && @with_expected_message && @block
32
- end
33
- ensure
34
- return (@raised_expected_error && @with_expected_message) ? (@eval_block ? @eval_block_passed : true) : false
35
- end
36
-
37
- def eval_block
38
- @eval_block = true
39
- begin
40
- @block[@actual_error]
41
- @eval_block_passed = true
42
- rescue Exception => err
43
- @actual_error = err
44
- end
45
- end
46
-
47
- def verify_message
48
- case @expected_message
49
- when nil
50
- return true
51
- when Regexp
52
- return @expected_message =~ @actual_error.message
53
- else
54
- return @expected_message == @actual_error.message
55
- end
56
- end
57
-
58
- def failure_message
59
- if @eval_block
60
- return @actual_error.message
61
- else
62
- return "expected #{expected_error}#{actual_error}"
63
- end
64
- end
65
-
66
- def negative_failure_message
67
- "expected no #{expected_error}#{actual_error}"
68
- end
69
-
70
- def description
71
- "raise #{expected_error}"
72
- end
73
-
74
- private
75
- def expected_error
76
- case @expected_message
77
- when nil
78
- @expected_error
79
- when Regexp
80
- "#{@expected_error} with message matching #{@expected_message.inspect}"
81
- else
82
- "#{@expected_error} with #{@expected_message.inspect}"
83
- end
84
- end
85
-
86
- def actual_error
87
- @actual_error.nil? ? " but nothing was raised" : ", got #{@actual_error.inspect}"
88
- end
89
-
90
- def negative_expectation?
91
- # YES - I'm a bad person... help me find a better way - ryand
92
- caller.first(3).find { |s| s =~ /should_not/ }
93
- end
94
- end
95
-
96
- # :call-seq:
97
- # should raise_error()
98
- # should raise_error(NamedError)
99
- # should raise_error(NamedError, String)
100
- # should raise_error(NamedError, Regexp)
101
- # should raise_error() { |error| ... }
102
- # should raise_error(NamedError) { |error| ... }
103
- # should raise_error(NamedError, String) { |error| ... }
104
- # should raise_error(NamedError, Regexp) { |error| ... }
105
- # should_not raise_error()
106
- # should_not raise_error(NamedError)
107
- # should_not raise_error(NamedError, String)
108
- # should_not raise_error(NamedError, Regexp)
109
- #
110
- # With no args, matches if any error is raised.
111
- # With a named error, matches only if that specific error is raised.
112
- # With a named error and messsage specified as a String, matches only if both match.
113
- # With a named error and messsage specified as a Regexp, matches only if both match.
114
- # Pass an optional block to perform extra verifications on the exception matched
115
- #
116
- # == Examples
117
- #
118
- # lambda { do_something_risky }.should raise_error
119
- # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError)
120
- # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError) { |error| error.data.should == 42 }
121
- # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError, "that was too risky")
122
- # lambda { do_something_risky }.should raise_error(PoorRiskDecisionError, /oo ri/)
123
- #
124
- # lambda { do_something_risky }.should_not raise_error
125
- # lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError)
126
- # lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError, "that was too risky")
127
- # lambda { do_something_risky }.should_not raise_error(PoorRiskDecisionError, /oo ri/)
128
- def raise_error(error=Exception, message=nil, &block)
129
- Matchers::RaiseError.new(error, message, &block)
130
- end
131
- end
132
- end