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,78 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
- unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
3
- require 'spec/runner/heckle_runner'
4
-
5
- module Foo
6
- class Bar
7
- def one; end
8
- def two; end
9
- end
10
-
11
- class Zap
12
- def three; end
13
- def four; end
14
- end
15
- end
16
-
17
- describe "HeckleRunner" do
18
- before(:each) do
19
- @heckle = mock("heckle", :null_object => true)
20
- @heckle_class = mock("heckle_class")
21
- end
22
-
23
- it "should heckle all methods in all classes in a module" do
24
- @heckle_class.should_receive(:new).with("Foo::Bar", "one", rspec_options).and_return(@heckle)
25
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
26
- @heckle_class.should_receive(:new).with("Foo::Zap", "three", rspec_options).and_return(@heckle)
27
- @heckle_class.should_receive(:new).with("Foo::Zap", "four", rspec_options).and_return(@heckle)
28
-
29
- heckle_runner = Spec::Runner::HeckleRunner.new("Foo", @heckle_class)
30
- heckle_runner.heckle_with
31
- end
32
-
33
- it "should heckle all methods in a class" do
34
- @heckle_class.should_receive(:new).with("Foo::Bar", "one", rspec_options).and_return(@heckle)
35
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
36
-
37
- heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar", @heckle_class)
38
- heckle_runner.heckle_with
39
- end
40
-
41
- it "should fail heckling when the class is not found" do
42
- lambda do
43
- heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bob", @heckle_class)
44
- heckle_runner.heckle_with
45
- end.should raise_error(StandardError, "Heckling failed - \"Foo::Bob\" is not a known class or module")
46
- end
47
-
48
- it "should heckle specific method in a class (with #)" do
49
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
50
-
51
- heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar#two", @heckle_class)
52
- heckle_runner.heckle_with
53
- end
54
-
55
- it "should heckle specific method in a class (with .)" do
56
- @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
57
-
58
- heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar.two", @heckle_class)
59
- heckle_runner.heckle_with
60
- end
61
- end
62
-
63
- describe "Heckler" do
64
- it "should say yes to tests_pass? if specs pass" do
65
- options = mock("options", :null_object => true)
66
- options.should_receive(:run_examples).and_return(true)
67
- heckler = Spec::Runner::Heckler.new("Foo", nil, options)
68
- heckler.tests_pass?.should be_true
69
- end
70
-
71
- it "should say no to tests_pass? if specs fail" do
72
- options = mock("options", :null_object => true)
73
- options.should_receive(:run_examples).and_return(false)
74
- heckler = Spec::Runner::Heckler.new("Foo", nil, options)
75
- heckler.tests_pass?.should be_false
76
- end
77
- end
78
- end
@@ -1,13 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
- unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
3
- require 'spec/runner/heckle_runner'
4
-
5
- describe "Heckler" do
6
- it "should run examples on tests_pass?" do
7
- options = Spec::Runner::Options.new(StringIO.new, StringIO.new)
8
- options.should_receive(:run_examples).with().and_return(&options.method(:run_examples))
9
- heckler = Spec::Runner::Heckler.new('Array', 'push', options)
10
- heckler.tests_pass?
11
- end
12
- end
13
- end
@@ -1,45 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
-
3
- module Spec
4
- module Runner
5
- describe "NoisyBacktraceTweaker" do
6
- before(:each) do
7
- @error = RuntimeError.new
8
- @tweaker = NoisyBacktraceTweaker.new
9
- end
10
-
11
- it "should leave anything in lib spec dir" do
12
- ["expectations", "mocks", "runner", "stubs"].each do |child|
13
- @error.set_backtrace(["/lib/spec/#{child}/anything.rb"])
14
- @tweaker.tweak_backtrace(@error)
15
- @error.backtrace.should_not be_empty
16
- end
17
- end
18
-
19
- it "should leave anything in spec dir" do
20
- @error.set_backtrace(["/lib/spec/expectations/anything.rb"])
21
- @tweaker.tweak_backtrace(@error)
22
- @error.backtrace.should_not be_empty
23
- end
24
-
25
- it "should leave bin spec" do
26
- @error.set_backtrace(["bin/spec:"])
27
- @tweaker.tweak_backtrace(@error)
28
- @error.backtrace.should_not be_empty
29
- end
30
-
31
- it "should not barf on nil backtrace" do
32
- lambda do
33
- @tweaker.tweak_backtrace(@error)
34
- end.should_not raise_error
35
- end
36
-
37
- it "should clean up double slashes" do
38
- @error.set_backtrace(["/a//b/c//d.rb"])
39
- @tweaker.tweak_backtrace(@error)
40
- @error.backtrace.should include("/a/b/c/d.rb")
41
- end
42
-
43
- end
44
- end
45
- end
@@ -1,394 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
- require 'fileutils'
3
-
4
- describe "OptionParser" do
5
- before(:each) do
6
- @out = StringIO.new
7
- @err = StringIO.new
8
- @parser = Spec::Runner::OptionParser.new(@err, @out)
9
- end
10
-
11
- def parse(args)
12
- @parser.parse(args)
13
- @parser.options
14
- end
15
-
16
- it "should accept files to include" do
17
- options = parse(["--pattern", "foo"])
18
- options.filename_pattern.should == "foo"
19
- end
20
-
21
- it "should accept dry run option" do
22
- options = parse(["--dry-run"])
23
- options.dry_run.should be_true
24
- end
25
-
26
- it "should eval and use custom formatter when none of the builtins" do
27
- options = parse(["--format", "Custom::Formatter"])
28
- options.formatters[0].class.should be(Custom::Formatter)
29
- end
30
-
31
- it "should support formatters with relative and absolute paths, even on windows" do
32
- options = parse([
33
- "--format", "Custom::Formatter:C:\\foo\\bar",
34
- "--format", "Custom::Formatter:foo/bar",
35
- "--format", "Custom::Formatter:foo\\bar",
36
- "--format", "Custom::Formatter:/foo/bar"
37
- ])
38
- options.formatters[0].where.should eql("C:\\foo\\bar")
39
- options.formatters[1].where.should eql("foo/bar")
40
- options.formatters[2].where.should eql("foo\\bar")
41
- options.formatters[3].where.should eql("/foo/bar")
42
- end
43
-
44
- it "should not be verbose by default" do
45
- options = parse([])
46
- options.verbose.should be_nil
47
- end
48
-
49
- it "should not use colour by default" do
50
- options = parse([])
51
- options.colour.should == false
52
- end
53
-
54
- it "should print help to stdout if no args" do
55
- pending 'A regression since 1.0.8' do
56
- options = parse([])
57
- @out.rewind
58
- @out.read.should match(/Usage: spec \(FILE\|DIRECTORY\|GLOB\)\+ \[options\]/m)
59
- end
60
- end
61
-
62
- it "should print help to stdout" do
63
- options = parse(["--help"])
64
- @out.rewind
65
- @out.read.should match(/Usage: spec \(FILE\|DIRECTORY\|GLOB\)\+ \[options\]/m)
66
- end
67
-
68
- it "should print instructions about how to require missing formatter" do
69
- lambda do
70
- options = parse(["--format", "Custom::MissingFormatter"])
71
- options.formatters
72
- end.should raise_error(NameError)
73
- @err.string.should match(/Couldn't find formatter class Custom::MissingFormatter/n)
74
- end
75
-
76
- it "should print version to stdout" do
77
- options = parse(["--version"])
78
- @out.rewind
79
- @out.read.should match(/RSpec-\d+\.\d+\.\d+.*\(build \d+\) - BDD for Ruby\nhttp:\/\/rspec.rubyforge.org\/\n/n)
80
- end
81
-
82
- it "should require file when require specified" do
83
- lambda do
84
- parse(["--require", "whatever"])
85
- end.should raise_error(LoadError)
86
- end
87
-
88
- it "should support c option" do
89
- options = parse(["-c"])
90
- options.colour.should be_true
91
- end
92
-
93
- it "should support queens colour option" do
94
- options = parse(["--colour"])
95
- options.colour.should be_true
96
- end
97
-
98
- it "should support us color option" do
99
- options = parse(["--color"])
100
- options.colour.should be_true
101
- end
102
-
103
- it "should support single example with -e option" do
104
- options = parse(["-e", "something or other"])
105
- options.examples.should eql(["something or other"])
106
- end
107
-
108
- it "should support single example with -s option (will be removed when autotest supports -e)" do
109
- options = parse(["-s", "something or other"])
110
- options.examples.should eql(["something or other"])
111
- end
112
-
113
- it "should support single example with --example option" do
114
- options = parse(["--example", "something or other"])
115
- options.examples.should eql(["something or other"])
116
- end
117
-
118
- it "should read several example names from file if --example is given an existing file name" do
119
- options = parse(["--example", File.dirname(__FILE__) + '/examples.txt'])
120
- options.examples.should eql([
121
- "Sir, if you were my husband, I would poison your drink.",
122
- "Madam, if you were my wife, I would drink it."])
123
- end
124
-
125
- it "should read no examples if given an empty file" do
126
- options = parse(["--example", File.dirname(__FILE__) + '/empty_file.txt'])
127
- options.examples.should eql([])
128
- end
129
-
130
- it "should use html formatter when format is h" do
131
- options = parse(["--format", "h"])
132
- options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
133
- end
134
-
135
- it "should use html story formatter when format is h" do
136
- options = parse(["--format", "h"])
137
- options.story_formatters[0].class.should equal(Spec::Runner::Formatter::Story::HtmlFormatter)
138
- end
139
-
140
- it "should use html formatter when format is html" do
141
- options = parse(["--format", "html"])
142
- options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
143
- end
144
-
145
- it "should use html story formatter when format is html" do
146
- options = parse(["--format", "html"])
147
- options.story_formatters[0].class.should equal(Spec::Runner::Formatter::Story::HtmlFormatter)
148
- end
149
-
150
- it "should use html formatter with explicit output when format is html:test.html" do
151
- FileUtils.rm 'test.html' if File.exist?('test.html')
152
- options = parse(["--format", "html:test.html"])
153
- options.formatters # creates the file
154
- File.should be_exist('test.html')
155
- options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
156
- options.formatters[0].close
157
- FileUtils.rm 'test.html'
158
- end
159
-
160
- it "should use noisy backtrace tweaker with b option" do
161
- options = parse(["-b"])
162
- options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
163
- end
164
-
165
- it "should use noisy backtrace tweaker with backtrace option" do
166
- options = parse(["--backtrace"])
167
- options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
168
- end
169
-
170
- it "should use quiet backtrace tweaker by default" do
171
- options = parse([])
172
- options.backtrace_tweaker.should be_instance_of(Spec::Runner::QuietBacktraceTweaker)
173
- end
174
-
175
- it "should use progress bar formatter by default" do
176
- options = parse([])
177
- options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter)
178
- end
179
-
180
- it "should use specdoc formatter when format is s" do
181
- options = parse(["--format", "s"])
182
- options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
183
- end
184
-
185
- it "should use specdoc formatter when format is specdoc" do
186
- options = parse(["--format", "specdoc"])
187
- options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
188
- end
189
-
190
- it "should use nested text formatter when format is s" do
191
- options = parse(["--format", "n"])
192
- options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter)
193
- end
194
-
195
- it "should use nested text formatter when format is nested" do
196
- options = parse(["--format", "nested"])
197
- options.formatters[0].class.should equal(Spec::Runner::Formatter::NestedTextFormatter)
198
- end
199
-
200
- it "should support diff option when format is not specified" do
201
- options = parse(["--diff"])
202
- options.diff_format.should == :unified
203
- end
204
-
205
- it "should use unified diff format option when format is unified" do
206
- options = parse(["--diff", "unified"])
207
- options.diff_format.should == :unified
208
- options.differ_class.should equal(Spec::Expectations::Differs::Default)
209
- end
210
-
211
- it "should use context diff format option when format is context" do
212
- options = parse(["--diff", "context"])
213
- options.diff_format.should == :context
214
- options.differ_class.should == Spec::Expectations::Differs::Default
215
- end
216
-
217
- it "should use custom diff format option when format is a custom format" do
218
- Spec::Expectations.differ.should_not be_instance_of(Custom::Differ)
219
-
220
- options = parse(["--diff", "Custom::Differ"])
221
- options.parse_diff "Custom::Differ"
222
- options.diff_format.should == :custom
223
- options.differ_class.should == Custom::Differ
224
- Spec::Expectations.differ.should be_instance_of(Custom::Differ)
225
- end
226
-
227
- it "should print instructions about how to fix missing differ" do
228
- lambda { parse(["--diff", "Custom::MissingFormatter"]) }.should raise_error(NameError)
229
- @err.string.should match(/Couldn't find differ class Custom::MissingFormatter/n)
230
- end
231
-
232
- describe "when attempting a focussed spec" do
233
- attr_reader :file, :dir
234
- before do
235
- @original_rspec_options = $rspec_options
236
- @file = "#{File.dirname(__FILE__)}/spec_parser/spec_parser_fixture.rb"
237
- @dir = File.dirname(file)
238
- end
239
-
240
- after do
241
- $rspec_options = @original_rspec_options
242
- end
243
-
244
- def parse(args)
245
- options = super
246
- $rspec_options = options
247
- options.filename_pattern = "*_fixture.rb"
248
- options
249
- end
250
-
251
- it "should support --line to identify spec" do
252
- options = parse([file, "--line", "13"])
253
- options.line_number.should == 13
254
- options.examples.should be_empty
255
- options.run_examples
256
- options.examples.should eql(["d"])
257
- end
258
-
259
- it "should fail with error message if file is dir along with --line" do
260
- options = parse([dir, "--line", "169"])
261
- options.line_number.should == 169
262
- options.run_examples
263
- @err.string.should match(/You must specify one file, not a directory when using the --line option/n)
264
- end
265
-
266
- it "should fail with error message if file does not exist along with --line" do
267
- options = parse(["some file", "--line", "169"])
268
- proc do
269
- options.run_examples
270
- end.should raise_error
271
- end
272
-
273
- it "should fail with error message if more than one files are specified along with --line" do
274
- options = parse([file, file, "--line", "169"])
275
- options.run_examples
276
- @err.string.should match(/Only one file can be specified when using the --line option/n)
277
- end
278
-
279
- it "should fail with error message if --example and --line are used simultaneously" do
280
- options = parse([file, "--example", "some example", "--line", "169"])
281
- options.run_examples
282
- @err.string.should match(/You cannot use both --line and --example/n)
283
- end
284
- end
285
-
286
- if [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
287
- it "should barf when --heckle is specified (and platform is windows)" do
288
- lambda do
289
- options = parse(["--heckle", "Spec"])
290
- end.should raise_error(StandardError, "Heckle not supported on Windows")
291
- end
292
- else
293
- it "should heckle when --heckle is specified (and platform is not windows)" do
294
- options = parse(["--heckle", "Spec"])
295
- options.heckle_runner.should be_instance_of(Spec::Runner::HeckleRunner)
296
- end
297
- end
298
-
299
- it "should read options from file when --options is specified" do
300
- options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
301
- options.diff_format.should_not be_nil
302
- options.colour.should be_true
303
- end
304
-
305
- it "should default the formatter to ProgressBarFormatter when using options file" do
306
- options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
307
- options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::ProgressBarFormatter)
308
- end
309
-
310
- it "should run parse drb after parsing options" do
311
- @parser.stub!(:parse_drb)
312
- @parser.should_receive(:parse_drb).with(["--drb"]).and_return(true)
313
- options = parse(["--options", File.dirname(__FILE__) + "/spec_drb.opts"])
314
- end
315
-
316
- it "should read spaced and multi-line options from file when --options is specified" do
317
- options = parse(["--options", File.dirname(__FILE__) + "/spec_spaced.opts"])
318
- options.diff_format.should_not be_nil
319
- options.colour.should be_true
320
- options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::SpecdocFormatter)
321
- end
322
-
323
- it "should save config to file when --generate-options is specified" do
324
- FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
325
- options = parse(["--colour", "--generate-options", "test.spec.opts", "--diff"])
326
- IO.read('test.spec.opts').should == "--colour\n--diff\n"
327
- FileUtils.rm 'test.spec.opts'
328
- end
329
-
330
- it "should save config to file when -G is specified" do
331
- FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
332
- options = parse(["--colour", "-G", "test.spec.opts", "--diff"])
333
- IO.read('test.spec.opts').should == "--colour\n--diff\n"
334
- FileUtils.rm 'test.spec.opts'
335
- end
336
-
337
- it "when --drb is specified, calls DrbCommandLine all of the other ARGV arguments" do
338
- options = Spec::Runner::OptionParser.parse([
339
- "some/spec.rb", "--diff", "--colour"
340
- ], @err, @out)
341
- Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options|
342
- options.argv.should == ["some/spec.rb", "--diff", "--colour"]
343
- end
344
- parse(["some/spec.rb", "--diff", "--drb", "--colour"])
345
- end
346
-
347
- it "should reverse spec order when --reverse is specified" do
348
- options = parse(["some/spec.rb", "--reverse"])
349
- end
350
-
351
- it "should set an mtime comparator when --loadby mtime" do
352
- options = parse(["--loadby", 'mtime'])
353
- runner = Spec::Runner::ExampleGroupRunner.new(options)
354
- Spec::Runner::ExampleGroupRunner.should_receive(:new).
355
- with(options).
356
- and_return(runner)
357
- runner.should_receive(:load_files).with(["most_recent_spec.rb", "command_line_spec.rb"])
358
-
359
- Dir.chdir(File.dirname(__FILE__)) do
360
- options.files << 'command_line_spec.rb'
361
- options.files << 'most_recent_spec.rb'
362
- FileUtils.touch "most_recent_spec.rb"
363
- options.run_examples
364
- FileUtils.rm "most_recent_spec.rb"
365
- end
366
- end
367
-
368
- it "should use the standard runner by default" do
369
- runner = ::Spec::Runner::ExampleGroupRunner.new(@parser.options)
370
- ::Spec::Runner::ExampleGroupRunner.should_receive(:new).
371
- with(@parser.options).
372
- and_return(runner)
373
- options = parse([])
374
- options.run_examples
375
- end
376
-
377
- it "should use a custom runner when given" do
378
- runner = Custom::ExampleGroupRunner.new(@parser.options, nil)
379
- Custom::ExampleGroupRunner.should_receive(:new).
380
- with(@parser.options, nil).
381
- and_return(runner)
382
- options = parse(["--runner", "Custom::ExampleGroupRunner"])
383
- options.run_examples
384
- end
385
-
386
- it "should use a custom runner with extra options" do
387
- runner = Custom::ExampleGroupRunner.new(@parser.options, 'something')
388
- Custom::ExampleGroupRunner.should_receive(:new).
389
- with(@parser.options, 'something').
390
- and_return(runner)
391
- options = parse(["--runner", "Custom::ExampleGroupRunner:something"])
392
- options.run_examples
393
- end
394
- end