rspec 0.0.10

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 (388) hide show
  1. data/.autotest +3 -0
  2. data/.gitignore +7 -0
  3. data/History.txt +1104 -0
  4. data/MIT-LICENSE +20 -0
  5. data/Manifest.txt +387 -0
  6. data/README.txt +36 -0
  7. data/Rakefile +88 -0
  8. data/TODO +1 -0
  9. data/bin/autospec +3 -0
  10. data/bin/spec +4 -0
  11. data/bin/spec_translator +8 -0
  12. data/examples/pure/autogenerated_docstrings_example.rb +19 -0
  13. data/examples/pure/before_and_after_example.rb +40 -0
  14. data/examples/pure/behave_as_example.rb +45 -0
  15. data/examples/pure/custom_expectation_matchers.rb +54 -0
  16. data/examples/pure/custom_formatter.rb +12 -0
  17. data/examples/pure/dynamic_spec.rb +9 -0
  18. data/examples/pure/file_accessor.rb +19 -0
  19. data/examples/pure/file_accessor_spec.rb +38 -0
  20. data/examples/pure/greeter_spec.rb +31 -0
  21. data/examples/pure/helper_method_example.rb +14 -0
  22. data/examples/pure/io_processor.rb +8 -0
  23. data/examples/pure/io_processor_spec.rb +21 -0
  24. data/examples/pure/legacy_spec.rb +11 -0
  25. data/examples/pure/mocking_example.rb +27 -0
  26. data/examples/pure/multi_threaded_behaviour_runner.rb +28 -0
  27. data/examples/pure/nested_classes_example.rb +36 -0
  28. data/examples/pure/partial_mock_example.rb +29 -0
  29. data/examples/pure/pending_example.rb +20 -0
  30. data/examples/pure/predicate_example.rb +27 -0
  31. data/examples/pure/priority.txt +1 -0
  32. data/examples/pure/shared_example_group_example.rb +81 -0
  33. data/examples/pure/shared_stack_examples.rb +38 -0
  34. data/examples/pure/spec_helper.rb +3 -0
  35. data/examples/pure/stack.rb +36 -0
  36. data/examples/pure/stack_spec.rb +63 -0
  37. data/examples/pure/stack_spec_with_nested_example_groups.rb +67 -0
  38. data/examples/pure/stubbing_example.rb +69 -0
  39. data/examples/stories/adder.rb +13 -0
  40. data/examples/stories/addition +34 -0
  41. data/examples/stories/addition.rb +9 -0
  42. data/examples/stories/calculator.rb +65 -0
  43. data/examples/stories/game-of-life/.loadpath +5 -0
  44. data/examples/stories/game-of-life/README.txt +21 -0
  45. data/examples/stories/game-of-life/behaviour/everything.rb +6 -0
  46. data/examples/stories/game-of-life/behaviour/examples/examples.rb +3 -0
  47. data/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +35 -0
  48. data/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +66 -0
  49. data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +21 -0
  50. data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +21 -0
  51. data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +42 -0
  52. data/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +42 -0
  53. data/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +17 -0
  54. data/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +53 -0
  55. data/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +52 -0
  56. data/examples/stories/game-of-life/behaviour/stories/helper.rb +6 -0
  57. data/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +26 -0
  58. data/examples/stories/game-of-life/behaviour/stories/steps.rb +5 -0
  59. data/examples/stories/game-of-life/behaviour/stories/stories.rb +3 -0
  60. data/examples/stories/game-of-life/behaviour/stories/stories.txt +22 -0
  61. data/examples/stories/game-of-life/life.rb +3 -0
  62. data/examples/stories/game-of-life/life/game.rb +23 -0
  63. data/examples/stories/game-of-life/life/grid.rb +43 -0
  64. data/examples/stories/helper.rb +9 -0
  65. data/examples/stories/steps/addition_steps.rb +18 -0
  66. data/failing_examples/README.txt +7 -0
  67. data/failing_examples/diffing_spec.rb +36 -0
  68. data/failing_examples/failing_autogenerated_docstrings_example.rb +19 -0
  69. data/failing_examples/failure_in_setup.rb +10 -0
  70. data/failing_examples/failure_in_teardown.rb +10 -0
  71. data/failing_examples/mocking_example.rb +40 -0
  72. data/failing_examples/mocking_with_flexmock.rb +26 -0
  73. data/failing_examples/mocking_with_mocha.rb +25 -0
  74. data/failing_examples/mocking_with_rr.rb +27 -0
  75. data/failing_examples/partial_mock_example.rb +20 -0
  76. data/failing_examples/predicate_example.rb +29 -0
  77. data/failing_examples/raising_example.rb +47 -0
  78. data/failing_examples/spec_helper.rb +3 -0
  79. data/failing_examples/syntax_error_example.rb +7 -0
  80. data/failing_examples/team_spec.rb +44 -0
  81. data/failing_examples/timeout_behaviour.rb +7 -0
  82. data/init.rb +9 -0
  83. data/lib/autotest/discover.rb +3 -0
  84. data/lib/autotest/rspec.rb +72 -0
  85. data/lib/spec.rb +30 -0
  86. data/lib/spec/adapters.rb +1 -0
  87. data/lib/spec/adapters/ruby_engine.rb +26 -0
  88. data/lib/spec/adapters/ruby_engine/mri.rb +8 -0
  89. data/lib/spec/adapters/ruby_engine/rubinius.rb +8 -0
  90. data/lib/spec/example.rb +12 -0
  91. data/lib/spec/example/configuration.rb +158 -0
  92. data/lib/spec/example/errors.rb +9 -0
  93. data/lib/spec/example/example_group.rb +17 -0
  94. data/lib/spec/example/example_group_factory.rb +64 -0
  95. data/lib/spec/example/example_group_methods.rb +440 -0
  96. data/lib/spec/example/example_matcher.rb +44 -0
  97. data/lib/spec/example/example_methods.rb +112 -0
  98. data/lib/spec/example/module_inclusion_warnings.rb +38 -0
  99. data/lib/spec/example/module_reopening_fix.rb +21 -0
  100. data/lib/spec/example/pending.rb +18 -0
  101. data/lib/spec/example/shared_example_group.rb +58 -0
  102. data/lib/spec/expectations.rb +56 -0
  103. data/lib/spec/expectations/differs/default.rb +66 -0
  104. data/lib/spec/expectations/errors.rb +12 -0
  105. data/lib/spec/expectations/extensions.rb +2 -0
  106. data/lib/spec/expectations/extensions/object.rb +63 -0
  107. data/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
  108. data/lib/spec/expectations/handler.rb +62 -0
  109. data/lib/spec/extensions.rb +4 -0
  110. data/lib/spec/extensions/class.rb +24 -0
  111. data/lib/spec/extensions/main.rb +102 -0
  112. data/lib/spec/extensions/metaclass.rb +7 -0
  113. data/lib/spec/extensions/object.rb +6 -0
  114. data/lib/spec/interop/test.rb +12 -0
  115. data/lib/spec/interop/test/unit/autorunner.rb +6 -0
  116. data/lib/spec/interop/test/unit/testcase.rb +61 -0
  117. data/lib/spec/interop/test/unit/testresult.rb +6 -0
  118. data/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  119. data/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  120. data/lib/spec/matchers.rb +156 -0
  121. data/lib/spec/matchers/be.rb +224 -0
  122. data/lib/spec/matchers/be_close.rb +37 -0
  123. data/lib/spec/matchers/change.rb +148 -0
  124. data/lib/spec/matchers/eql.rb +43 -0
  125. data/lib/spec/matchers/equal.rb +43 -0
  126. data/lib/spec/matchers/exist.rb +17 -0
  127. data/lib/spec/matchers/has.rb +34 -0
  128. data/lib/spec/matchers/have.rb +149 -0
  129. data/lib/spec/matchers/include.rb +70 -0
  130. data/lib/spec/matchers/match.rb +41 -0
  131. data/lib/spec/matchers/operator_matcher.rb +73 -0
  132. data/lib/spec/matchers/raise_error.rb +132 -0
  133. data/lib/spec/matchers/respond_to.rb +45 -0
  134. data/lib/spec/matchers/satisfy.rb +47 -0
  135. data/lib/spec/matchers/simple_matcher.rb +132 -0
  136. data/lib/spec/matchers/throw_symbol.rb +74 -0
  137. data/lib/spec/mocks.rb +211 -0
  138. data/lib/spec/mocks/argument_constraint_matchers.rb +31 -0
  139. data/lib/spec/mocks/argument_expectation.rb +216 -0
  140. data/lib/spec/mocks/error_generator.rb +84 -0
  141. data/lib/spec/mocks/errors.rb +10 -0
  142. data/lib/spec/mocks/extensions.rb +1 -0
  143. data/lib/spec/mocks/extensions/object.rb +3 -0
  144. data/lib/spec/mocks/framework.rb +15 -0
  145. data/lib/spec/mocks/message_expectation.rb +290 -0
  146. data/lib/spec/mocks/methods.rb +39 -0
  147. data/lib/spec/mocks/mock.rb +56 -0
  148. data/lib/spec/mocks/order_group.rb +29 -0
  149. data/lib/spec/mocks/proxy.rb +184 -0
  150. data/lib/spec/mocks/space.rb +28 -0
  151. data/lib/spec/mocks/spec_methods.rb +38 -0
  152. data/lib/spec/rake/spectask.rb +227 -0
  153. data/lib/spec/rake/verify_rcov.rb +52 -0
  154. data/lib/spec/runner.rb +201 -0
  155. data/lib/spec/runner/backtrace_tweaker.rb +57 -0
  156. data/lib/spec/runner/class_and_arguments_parser.rb +16 -0
  157. data/lib/spec/runner/command_line.rb +28 -0
  158. data/lib/spec/runner/drb_command_line.rb +20 -0
  159. data/lib/spec/runner/example_group_runner.rb +59 -0
  160. data/lib/spec/runner/formatter/base_formatter.rb +77 -0
  161. data/lib/spec/runner/formatter/base_text_formatter.rb +130 -0
  162. data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +27 -0
  163. data/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  164. data/lib/spec/runner/formatter/html_formatter.rb +337 -0
  165. data/lib/spec/runner/formatter/nested_text_formatter.rb +65 -0
  166. data/lib/spec/runner/formatter/profile_formatter.rb +51 -0
  167. data/lib/spec/runner/formatter/progress_bar_formatter.rb +34 -0
  168. data/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  169. data/lib/spec/runner/formatter/specdoc_formatter.rb +39 -0
  170. data/lib/spec/runner/formatter/story/html_formatter.rb +161 -0
  171. data/lib/spec/runner/formatter/story/plain_text_formatter.rb +188 -0
  172. data/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  173. data/lib/spec/runner/heckle_runner.rb +72 -0
  174. data/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  175. data/lib/spec/runner/option_parser.rb +203 -0
  176. data/lib/spec/runner/options.rb +309 -0
  177. data/lib/spec/runner/reporter.rb +147 -0
  178. data/lib/spec/runner/spec_parser.rb +71 -0
  179. data/lib/spec/story.rb +10 -0
  180. data/lib/spec/story/extensions.rb +3 -0
  181. data/lib/spec/story/extensions/main.rb +86 -0
  182. data/lib/spec/story/extensions/regexp.rb +9 -0
  183. data/lib/spec/story/extensions/string.rb +9 -0
  184. data/lib/spec/story/given_scenario.rb +14 -0
  185. data/lib/spec/story/runner.rb +60 -0
  186. data/lib/spec/story/runner/plain_text_story_runner.rb +48 -0
  187. data/lib/spec/story/runner/scenario_collector.rb +18 -0
  188. data/lib/spec/story/runner/scenario_runner.rb +54 -0
  189. data/lib/spec/story/runner/story_mediator.rb +137 -0
  190. data/lib/spec/story/runner/story_parser.rb +247 -0
  191. data/lib/spec/story/runner/story_runner.rb +70 -0
  192. data/lib/spec/story/scenario.rb +14 -0
  193. data/lib/spec/story/step.rb +70 -0
  194. data/lib/spec/story/step_group.rb +89 -0
  195. data/lib/spec/story/step_mother.rb +37 -0
  196. data/lib/spec/story/story.rb +39 -0
  197. data/lib/spec/story/world.rb +128 -0
  198. data/lib/spec/translator.rb +114 -0
  199. data/lib/spec/version.rb +13 -0
  200. data/plugins/mock_frameworks/flexmock.rb +23 -0
  201. data/plugins/mock_frameworks/mocha.rb +19 -0
  202. data/plugins/mock_frameworks/rr.rb +21 -0
  203. data/plugins/mock_frameworks/rspec.rb +20 -0
  204. data/rake_tasks/examples.rake +7 -0
  205. data/rake_tasks/examples_with_rcov.rake +9 -0
  206. data/rake_tasks/failing_examples_with_html.rake +9 -0
  207. data/rake_tasks/verify_rcov.rake +7 -0
  208. data/spec/README.jruby +15 -0
  209. data/spec/autotest/discover_spec.rb +19 -0
  210. data/spec/autotest/rspec_spec.rb +206 -0
  211. data/spec/autotest_helper.rb +6 -0
  212. data/spec/autotest_matchers.rb +47 -0
  213. data/spec/rspec_suite.rb +7 -0
  214. data/spec/ruby_forker.rb +13 -0
  215. data/spec/spec.opts +6 -0
  216. data/spec/spec/adapters/ruby_engine_spec.rb +16 -0
  217. data/spec/spec/example/configuration_spec.rb +282 -0
  218. data/spec/spec/example/example_group/described_module_spec.rb +20 -0
  219. data/spec/spec/example/example_group/warning_messages_spec.rb +76 -0
  220. data/spec/spec/example/example_group_class_definition_spec.rb +48 -0
  221. data/spec/spec/example/example_group_factory_spec.rb +144 -0
  222. data/spec/spec/example/example_group_methods_spec.rb +572 -0
  223. data/spec/spec/example/example_group_spec.rb +723 -0
  224. data/spec/spec/example/example_matcher_spec.rb +96 -0
  225. data/spec/spec/example/example_methods_spec.rb +126 -0
  226. data/spec/spec/example/example_runner_spec.rb +194 -0
  227. data/spec/spec/example/example_spec.rb +53 -0
  228. data/spec/spec/example/nested_example_group_spec.rb +71 -0
  229. data/spec/spec/example/pending_module_spec.rb +42 -0
  230. data/spec/spec/example/predicate_matcher_spec.rb +21 -0
  231. data/spec/spec/example/shared_example_group_spec.rb +265 -0
  232. data/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  233. data/spec/spec/expectations/differs/default_spec.rb +127 -0
  234. data/spec/spec/expectations/extensions/object_spec.rb +107 -0
  235. data/spec/spec/expectations/fail_with_spec.rb +71 -0
  236. data/spec/spec/extensions/main_spec.rb +76 -0
  237. data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  238. data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  239. data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  240. data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  241. data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  242. data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  243. data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  244. data/spec/spec/interop/test/unit/spec_spec.rb +45 -0
  245. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +14 -0
  246. data/spec/spec/interop/test/unit/testcase_spec.rb +45 -0
  247. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  248. data/spec/spec/matchers/be_close_spec.rb +39 -0
  249. data/spec/spec/matchers/be_spec.rb +248 -0
  250. data/spec/spec/matchers/change_spec.rb +317 -0
  251. data/spec/spec/matchers/description_generation_spec.rb +153 -0
  252. data/spec/spec/matchers/eql_spec.rb +28 -0
  253. data/spec/spec/matchers/equal_spec.rb +28 -0
  254. data/spec/spec/matchers/exist_spec.rb +57 -0
  255. data/spec/spec/matchers/handler_spec.rb +150 -0
  256. data/spec/spec/matchers/has_spec.rb +53 -0
  257. data/spec/spec/matchers/have_spec.rb +293 -0
  258. data/spec/spec/matchers/include_spec.rb +45 -0
  259. data/spec/spec/matchers/match_spec.rb +37 -0
  260. data/spec/spec/matchers/matcher_methods_spec.rb +78 -0
  261. data/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
  262. data/spec/spec/matchers/operator_matcher_spec.rb +168 -0
  263. data/spec/spec/matchers/raise_error_spec.rb +315 -0
  264. data/spec/spec/matchers/respond_to_spec.rb +54 -0
  265. data/spec/spec/matchers/satisfy_spec.rb +36 -0
  266. data/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  267. data/spec/spec/matchers/throw_symbol_spec.rb +54 -0
  268. data/spec/spec/mocks/any_number_of_times_spec.rb +29 -0
  269. data/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  270. data/spec/spec/mocks/at_least_spec.rb +97 -0
  271. data/spec/spec/mocks/at_most_spec.rb +93 -0
  272. data/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  273. data/spec/spec/mocks/bug_report_10263_spec.rb +24 -0
  274. data/spec/spec/mocks/bug_report_11545_spec.rb +33 -0
  275. data/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  276. data/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  277. data/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  278. data/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  279. data/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  280. data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +130 -0
  281. data/spec/spec/mocks/hash_including_matcher_spec.rb +32 -0
  282. data/spec/spec/mocks/mock_ordering_spec.rb +84 -0
  283. data/spec/spec/mocks/mock_space_spec.rb +54 -0
  284. data/spec/spec/mocks/mock_spec.rb +494 -0
  285. data/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  286. data/spec/spec/mocks/null_object_mock_spec.rb +40 -0
  287. data/spec/spec/mocks/once_counts_spec.rb +53 -0
  288. data/spec/spec/mocks/options_hash_spec.rb +45 -0
  289. data/spec/spec/mocks/partial_mock_spec.rb +142 -0
  290. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  291. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +175 -0
  292. data/spec/spec/mocks/precise_counts_spec.rb +52 -0
  293. data/spec/spec/mocks/record_messages_spec.rb +26 -0
  294. data/spec/spec/mocks/stub_spec.rb +181 -0
  295. data/spec/spec/mocks/twice_counts_spec.rb +67 -0
  296. data/spec/spec/package/bin_spec_spec.rb +14 -0
  297. data/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  298. data/spec/spec/runner/command_line_spec.rb +147 -0
  299. data/spec/spec/runner/drb_command_line_spec.rb +92 -0
  300. data/spec/spec/runner/empty_file.txt +0 -0
  301. data/spec/spec/runner/examples.txt +2 -0
  302. data/spec/spec/runner/execution_context_spec.rb +37 -0
  303. data/spec/spec/runner/failed.txt +3 -0
  304. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  305. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  306. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +365 -0
  307. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +387 -0
  308. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +371 -0
  309. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +381 -0
  310. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +370 -0
  311. data/spec/spec/runner/formatter/html_formatter_spec.rb +63 -0
  312. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +333 -0
  313. data/spec/spec/runner/formatter/profile_formatter_spec.rb +65 -0
  314. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +137 -0
  315. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  316. data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +103 -0
  317. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +158 -0
  318. data/spec/spec/runner/formatter/story/html_formatter_spec.rb +87 -0
  319. data/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +548 -0
  320. data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +365 -0
  321. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +370 -0
  322. data/spec/spec/runner/heckle_runner_spec.rb +78 -0
  323. data/spec/spec/runner/heckler_spec.rb +13 -0
  324. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
  325. data/spec/spec/runner/option_parser_spec.rb +394 -0
  326. data/spec/spec/runner/options_spec.rb +450 -0
  327. data/spec/spec/runner/output_one_time_fixture.rb +7 -0
  328. data/spec/spec/runner/output_one_time_fixture_runner.rb +8 -0
  329. data/spec/spec/runner/output_one_time_spec.rb +16 -0
  330. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +56 -0
  331. data/spec/spec/runner/reporter_spec.rb +192 -0
  332. data/spec/spec/runner/resources/a_bar.rb +0 -0
  333. data/spec/spec/runner/resources/a_foo.rb +0 -0
  334. data/spec/spec/runner/resources/a_spec.rb +1 -0
  335. data/spec/spec/runner/spec.opts +2 -0
  336. data/spec/spec/runner/spec_drb.opts +1 -0
  337. data/spec/spec/runner/spec_parser/spec_parser_fixture.rb +70 -0
  338. data/spec/spec/runner/spec_parser_spec.rb +85 -0
  339. data/spec/spec/runner/spec_spaced.opts +2 -0
  340. data/spec/spec/runner_spec.rb +11 -0
  341. data/spec/spec/spec_classes.rb +133 -0
  342. data/spec/spec/story/builders.rb +46 -0
  343. data/spec/spec/story/extensions/main_spec.rb +161 -0
  344. data/spec/spec/story/extensions_spec.rb +14 -0
  345. data/spec/spec/story/given_scenario_spec.rb +27 -0
  346. data/spec/spec/story/runner/plain_text_story_runner_spec.rb +93 -0
  347. data/spec/spec/story/runner/scenario_collector_spec.rb +27 -0
  348. data/spec/spec/story/runner/scenario_runner_spec.rb +214 -0
  349. data/spec/spec/story/runner/story_mediator_spec.rb +143 -0
  350. data/spec/spec/story/runner/story_parser_spec.rb +401 -0
  351. data/spec/spec/story/runner/story_runner_spec.rb +294 -0
  352. data/spec/spec/story/runner_spec.rb +93 -0
  353. data/spec/spec/story/scenario_spec.rb +20 -0
  354. data/spec/spec/story/step_group_spec.rb +157 -0
  355. data/spec/spec/story/step_mother_spec.rb +72 -0
  356. data/spec/spec/story/step_spec.rb +250 -0
  357. data/spec/spec/story/story_helper.rb +2 -0
  358. data/spec/spec/story/story_spec.rb +86 -0
  359. data/spec/spec/story/world_spec.rb +423 -0
  360. data/spec/spec/translator_spec.rb +265 -0
  361. data/spec/spec_helper.rb +103 -0
  362. data/stories/all.rb +5 -0
  363. data/stories/example_groups/autogenerated_docstrings +45 -0
  364. data/stories/example_groups/example_group_with_should_methods +17 -0
  365. data/stories/example_groups/nested_groups +17 -0
  366. data/stories/example_groups/output +25 -0
  367. data/stories/example_groups/stories.rb +7 -0
  368. data/stories/helper.rb +6 -0
  369. data/stories/interop/examples_and_tests_together +30 -0
  370. data/stories/interop/stories.rb +7 -0
  371. data/stories/interop/test_case_with_should_methods +17 -0
  372. data/stories/mock_framework_integration/stories.rb +7 -0
  373. data/stories/mock_framework_integration/use_flexmock.story +9 -0
  374. data/stories/pending_stories/README +3 -0
  375. data/stories/resources/helpers/cmdline.rb +9 -0
  376. data/stories/resources/helpers/story_helper.rb +16 -0
  377. data/stories/resources/matchers/smart_match.rb +37 -0
  378. data/stories/resources/spec/example_group_with_should_methods.rb +12 -0
  379. data/stories/resources/spec/simple_spec.rb +8 -0
  380. data/stories/resources/spec/spec_with_flexmock.rb +18 -0
  381. data/stories/resources/steps/running_rspec.rb +50 -0
  382. data/stories/resources/stories/failing_story.rb +15 -0
  383. data/stories/resources/test/spec_and_test_together.rb +57 -0
  384. data/stories/resources/test/test_case_with_should_methods.rb +30 -0
  385. data/stories/stories/multiline_steps.story +23 -0
  386. data/stories/stories/steps/multiline_steps.rb +13 -0
  387. data/stories/stories/stories.rb +6 -0
  388. metadata +461 -0
@@ -0,0 +1,25 @@
1
+ Story: Getting correct output
2
+
3
+ As an RSpec user
4
+ I want to see output only once
5
+ So that I don't get confused
6
+
7
+ Scenario: Run with ruby
8
+ Given the file spec/simple_spec.rb
9
+ When I run it with the ruby interpreter
10
+ Then the exit code should be 0
11
+ And the stdout should not match /\d+ tests, \d+ assertions, \d+ failures, \d+ errors/m
12
+ And the stdout should match "1 example, 0 failures"
13
+
14
+ Scenario: Run with CommandLine object
15
+ Given the file spec/simple_spec.rb
16
+ When I run it with the CommandLine object
17
+ Then the exit code should be 0
18
+ And the stdout should not match "Loaded suite"
19
+ And the stdout should not match /\d+ tests, \d+ assertions, \d+ failures, \d+ errors/m
20
+ And the stdout should match "1 example, 0 failures"
21
+
22
+ Scenario: Tweak backtrace
23
+ Given the file stories/failing_story.rb
24
+ When I run it with the ruby interpreter
25
+ Then the stdout should not match /\/lib\/spec\//
@@ -0,0 +1,7 @@
1
+ require File.join(File.dirname(__FILE__), *%w[.. helper])
2
+
3
+ with_steps_for :running_rspec do
4
+ Dir["#{File.dirname(__FILE__)}/*"].each do |file|
5
+ run file if File.file?(file) && !(file =~ /\.rb$/)
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift File.expand_path("#{File.dirname(__FILE__)}/../lib")
2
+ require 'spec'
3
+ require 'tempfile'
4
+ require File.join(File.dirname(__FILE__), *%w[resources matchers smart_match])
5
+ require File.join(File.dirname(__FILE__), *%w[resources helpers story_helper])
6
+ require File.join(File.dirname(__FILE__), *%w[resources steps running_rspec])
@@ -0,0 +1,30 @@
1
+ Story: Spec and test together
2
+
3
+ As an RSpec adopter with existing Test::Unit tests
4
+ I want to run a few specs alongside my existing Test::Unit tests
5
+ So that I can experience a smooth, gradual migration path
6
+
7
+ Scenario: Run with ruby
8
+ Given the file test/spec_and_test_together.rb
9
+
10
+ When I run it with the ruby interpreter -fs
11
+
12
+ Then the exit code should be 256
13
+ And the stdout should match "ATest"
14
+ And the stdout should match "Test::Unit::AssertionFailedError in 'An Example should fail with assert'"
15
+ And the stdout should match "'An Example should fail with should' FAILED"
16
+ And the stdout should match "10 examples, 6 failures"
17
+ And the stdout should match /expected: 40,\s*got: 4/m
18
+ And the stdout should match /expected: 50,\s*got: 5/m
19
+ Scenario: Run with spec
20
+ Given the file test/spec_and_test_together.rb
21
+
22
+ When I run it with the spec script -fs
23
+
24
+ Then the exit code should be 256
25
+ Ands the stdout should match "ATest"
26
+ And the stdout should match "Test::Unit::AssertionFailedError in 'An Example should fail with assert'"
27
+ And the stdout should match "'An Example should fail with should' FAILED"
28
+ And the stdout should match "10 examples, 6 failures"
29
+ And the stdout should match /expected: 40,\s*got: 4/m
30
+ And the stdout should match /expected: 50,\s*got: 5/m
@@ -0,0 +1,7 @@
1
+ require File.join(File.dirname(__FILE__), *%w[.. helper])
2
+
3
+ with_steps_for :running_rspec do
4
+ Dir["#{File.dirname(__FILE__)}/*"].each do |file|
5
+ run file if File.file?(file) && !(file =~ /\.rb$/)
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ Story: Test::Unit::TestCase extended by rspec with should methods
2
+
3
+ As an RSpec adopter with existing Test::Unit tests
4
+ I want to use should_* methods in a Test::Unit::TestCase
5
+ So that I use RSpec with classes and methods that look more like RSpec examples
6
+
7
+ Scenario: Run with ruby
8
+ Given the file test/test_case_with_should_methods.rb
9
+ When I run it with the ruby interpreter
10
+ Then the exit code should be 256
11
+ And the stdout should match "5 examples, 3 failures"
12
+
13
+ Scenario: Run with spec
14
+ Given the file test/test_case_with_should_methods.rb
15
+ When I run it with the spec script
16
+ Then the exit code should be 256
17
+ And the stdout should match "5 examples, 3 failures"
@@ -0,0 +1,7 @@
1
+ require File.join(File.dirname(__FILE__), *%w[.. helper])
2
+
3
+ with_steps_for :running_rspec do
4
+ Dir["#{File.dirname(__FILE__)}/*"].each do |file|
5
+ run file if File.file?(file) && !(file =~ /\.rb$/)
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ Story: Getting correct output
2
+
3
+ As an RSpec user who prefers flexmock
4
+ I want to be able to use flexmock without rspec mocks interfering
5
+
6
+ Scenario: Mock with flexmock
7
+ Given the file spec/spec_with_flexmock.rb
8
+ When I run it with the ruby interpreter
9
+ Then the exit code should be 0
@@ -0,0 +1,3 @@
1
+ This directory contains stories that are currently not passing
2
+ because they are new or they represent regressions.
3
+
@@ -0,0 +1,9 @@
1
+ $:.push File.join(File.dirname(__FILE__), *%w[.. .. .. lib])
2
+ require 'spec'
3
+
4
+ # Uncommenting next line will break the output story (no output!!)
5
+ # rspec_options
6
+ options = Spec::Runner::OptionParser.parse(
7
+ ARGV, $stderr, $stdout
8
+ )
9
+ Spec::Runner::CommandLine.run(options)
@@ -0,0 +1,16 @@
1
+ require 'spec/story'
2
+ require File.dirname(__FILE__) + '/../../../spec/ruby_forker'
3
+
4
+ module StoryHelper
5
+ include RubyForker
6
+
7
+ def spec(args, stderr)
8
+ ruby("#{File.dirname(__FILE__) + '/../../../bin/spec'} #{args}", stderr)
9
+ end
10
+
11
+ def cmdline(args, stderr)
12
+ ruby("#{File.dirname(__FILE__) + '/../../resources/helpers/cmdline.rb'} #{args}", stderr)
13
+ end
14
+
15
+ Spec::Story::World.send :include, self
16
+ end
@@ -0,0 +1,37 @@
1
+ module Spec
2
+ module Matchers
3
+ class SmartMatch
4
+ def initialize(expected)
5
+ @expected = expected
6
+ end
7
+
8
+ def matches?(actual)
9
+ @actual = actual
10
+ # Satisfy expectation here. Return false or raise an error if it's not met.
11
+
12
+ if @expected =~ /^\/.*\/?$/ || @expected =~ /^".*"$/
13
+ regex_or_string = eval(@expected)
14
+ if Regexp === regex_or_string
15
+ (@actual =~ regex_or_string) ? true : false
16
+ else
17
+ @actual.index(regex_or_string) != nil
18
+ end
19
+ else
20
+ false
21
+ end
22
+ end
23
+
24
+ def failure_message
25
+ "expected #{@actual.inspect} to smart_match #{@expected.inspect}, but it didn't"
26
+ end
27
+
28
+ def negative_failure_message
29
+ "expected #{@actual.inspect} not to smart_match #{@expected.inspect}, but it did"
30
+ end
31
+ end
32
+
33
+ def smart_match(expected)
34
+ SmartMatch.new(expected)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,12 @@
1
+ $:.push File.join(File.dirname(__FILE__), *%w[.. .. .. lib])
2
+ require 'spec'
3
+
4
+ class MySpec < Spec::ExampleGroup
5
+ def should_pass_with_should
6
+ 1.should == 1
7
+ end
8
+
9
+ def should_fail_with_should
10
+ 1.should == 2
11
+ end
12
+ end
@@ -0,0 +1,8 @@
1
+ $:.push File.join(File.dirname(__FILE__), *%w[.. .. .. lib])
2
+ require 'spec'
3
+
4
+ describe "Running an Example" do
5
+ it "should not output twice" do
6
+ true.should be_true
7
+ end
8
+ end
@@ -0,0 +1,18 @@
1
+ $:.push File.join(File.dirname(__FILE__), *%w[.. .. .. lib])
2
+ require "rubygems"
3
+ require 'spec'
4
+
5
+ Spec::Runner.configure do |config|
6
+ config.mock_with :flexmock
7
+ end
8
+
9
+ # This is to ensure that requiring spec/mocks/framework doesn't interfere w/ flexmock
10
+ require 'spec/mocks/framework'
11
+
12
+ describe "something" do
13
+ it "should receive some message" do
14
+ target = Object.new
15
+ flexmock(target).should_receive(:foo).once
16
+ lambda {flexmock_verify}.should raise_error
17
+ end
18
+ end
@@ -0,0 +1,50 @@
1
+ steps_for :running_rspec do
2
+
3
+ Given("the file $relative_path") do |relative_path|
4
+ @path = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "resources", relative_path))
5
+ unless File.exist?(@path)
6
+ raise "could not find file at #{@path}"
7
+ end
8
+ end
9
+
10
+ When("I run it with the $interpreter") do |interpreter|
11
+ stderr_file = Tempfile.new('rspec')
12
+ stderr_file.close
13
+ @stdout = case(interpreter)
14
+ when /^ruby interpreter/
15
+ args = interpreter.gsub('ruby interpreter','')
16
+ ruby("#{@path}#{args}", stderr_file.path)
17
+ when /^spec script/
18
+ args = interpreter.gsub('spec script','')
19
+ spec("#{@path}#{args}", stderr_file.path)
20
+ when 'CommandLine object' then cmdline(@path, stderr_file.path)
21
+ else raise "Unknown interpreter: #{interpreter}"
22
+ end
23
+ @stderr = IO.read(stderr_file.path)
24
+ @exit_code = $?.to_i
25
+ end
26
+
27
+ Then("the exit code should be $exit_code") do |exit_code|
28
+ if @exit_code != exit_code.to_i
29
+ raise "Did not exit with #{exit_code}, but with #{@exit_code}. Standard error:\n#{@stderr}"
30
+ end
31
+ end
32
+
33
+ Then("the $stream should match $regex") do |stream, string_or_regex|
34
+ written = case(stream)
35
+ when 'stdout' then @stdout
36
+ when 'stderr' then @stderr
37
+ else raise "Unknown stream: #{stream}"
38
+ end
39
+ written.should smart_match(string_or_regex)
40
+ end
41
+
42
+ Then("the $stream should not match $regex") do |stream, string_or_regex|
43
+ written = case(stream)
44
+ when 'stdout' then @stdout
45
+ when 'stderr' then @stderr
46
+ else raise "Unknown stream: #{stream}"
47
+ end
48
+ written.should_not smart_match(string_or_regex)
49
+ end
50
+ end
@@ -0,0 +1,15 @@
1
+ $:.push File.join(File.dirname(__FILE__), *%w[.. .. .. lib])
2
+
3
+ require 'spec/story'
4
+
5
+ Story "Failing story",
6
+ %(As an RSpec user
7
+ I want a failing test
8
+ So that I can observe the output) do
9
+
10
+ Scenario "Failing scenario" do
11
+ Then "true should be false" do
12
+ true.should == false
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,57 @@
1
+ $:.push File.join(File.dirname(__FILE__), *%w[.. .. .. lib])
2
+ require 'spec'
3
+ # TODO - this should not be necessary, ay?
4
+ require 'spec/interop/test'
5
+
6
+ describe "An Example" do
7
+ it "should pass with assert" do
8
+ assert true
9
+ end
10
+
11
+ it "should fail with assert" do
12
+ assert false
13
+ end
14
+
15
+ it "should pass with should" do
16
+ 1.should == 1
17
+ end
18
+
19
+ it "should fail with should" do
20
+ 1.should == 2
21
+ end
22
+ end
23
+
24
+ class ATest < Test::Unit::TestCase
25
+ def test_should_pass_with_assert
26
+ assert true
27
+ end
28
+
29
+ def test_should_fail_with_assert
30
+ assert false
31
+ end
32
+
33
+ def test_should_pass_with_should
34
+ 1.should == 1
35
+ end
36
+
37
+ def test_should_fail_with_should
38
+ 1.should == 2
39
+ end
40
+
41
+ def setup
42
+ @from_setup ||= 3
43
+ @from_setup += 1
44
+ end
45
+
46
+ def test_should_fail_with_setup_method_variable
47
+ @from_setup.should == 40
48
+ end
49
+
50
+ before do
51
+ @from_before = @from_setup + 1
52
+ end
53
+
54
+ def test_should_fail_with_before_block_variable
55
+ @from_before.should == 50
56
+ end
57
+ end
@@ -0,0 +1,30 @@
1
+ $:.push File.join(File.dirname(__FILE__), *%w[.. .. .. lib])
2
+ require 'test/unit'
3
+ require 'spec'
4
+ require 'spec/interop/test'
5
+
6
+ class MySpec < Test::Unit::TestCase
7
+ def should_pass_with_should
8
+ 1.should == 1
9
+ end
10
+
11
+ def should_fail_with_should
12
+ 1.should == 2
13
+ end
14
+
15
+ def should_pass_with_assert
16
+ assert true
17
+ end
18
+
19
+ def should_fail_with_assert
20
+ assert false
21
+ end
22
+
23
+ def test
24
+ raise "This is not a real test"
25
+ end
26
+
27
+ def test_ify
28
+ raise "This is a real test"
29
+ end
30
+ end
@@ -0,0 +1,23 @@
1
+ Story: multiline steps in plain text stories
2
+
3
+ As a plain text story writer
4
+ I want to write steps with multiline arguments
5
+
6
+ Scenario: two lines
7
+
8
+ Given I have a two line step with this text:
9
+ This is the first line
10
+ # This, by the way, is just a comment
11
+ plus this is the second line
12
+
13
+ # This, by the way, is just a comment
14
+
15
+ When I have a When with the same two lines:
16
+ This is the first line
17
+ plus this is the second line
18
+
19
+ Then it should match:
20
+ This is the first line
21
+ plus this is the second line
22
+
23
+ # And here is another comment
@@ -0,0 +1,13 @@
1
+ steps_for :multiline_steps do
2
+ Given "I have a two line step with this text:$text" do |text|
3
+ @text = text
4
+ end
5
+
6
+ When "I have a When with the same two lines:$text" do |text|
7
+ text.should == @text
8
+ end
9
+
10
+ Then "it should match:$text" do |text|
11
+ text.should == @text
12
+ end
13
+ end
@@ -0,0 +1,6 @@
1
+ require File.join(File.dirname(__FILE__), *%w[.. helper])
2
+ require File.join(File.dirname(__FILE__), *%w[steps multiline_steps])
3
+
4
+ with_steps_for :multiline_steps do
5
+ run File.dirname(__FILE__) + "/multiline_steps.story"
6
+ end
metadata ADDED
@@ -0,0 +1,461 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rspec
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.10
5
+ platform: ruby
6
+ authors:
7
+ - RSpec Development Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-07-02 00:00:00 -05:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.7.0
24
+ version:
25
+ description: Behaviour Driven Development for Ruby.
26
+ email:
27
+ - rspec-devel@rubyforge.org
28
+ executables:
29
+ - autospec
30
+ - spec
31
+ - spec_translator
32
+ extensions: []
33
+
34
+ extra_rdoc_files:
35
+ - History.txt
36
+ - Manifest.txt
37
+ - README.txt
38
+ - examples/pure/priority.txt
39
+ - examples/stories/game-of-life/README.txt
40
+ - examples/stories/game-of-life/behaviour/stories/stories.txt
41
+ - failing_examples/README.txt
42
+ - spec/spec/runner/empty_file.txt
43
+ - spec/spec/runner/examples.txt
44
+ - spec/spec/runner/failed.txt
45
+ files:
46
+ - .autotest
47
+ - .gitignore
48
+ - History.txt
49
+ - MIT-LICENSE
50
+ - Manifest.txt
51
+ - README.txt
52
+ - Rakefile
53
+ - TODO
54
+ - bin/autospec
55
+ - bin/spec
56
+ - bin/spec_translator
57
+ - examples/pure/autogenerated_docstrings_example.rb
58
+ - examples/pure/before_and_after_example.rb
59
+ - examples/pure/behave_as_example.rb
60
+ - examples/pure/custom_expectation_matchers.rb
61
+ - examples/pure/custom_formatter.rb
62
+ - examples/pure/dynamic_spec.rb
63
+ - examples/pure/file_accessor.rb
64
+ - examples/pure/file_accessor_spec.rb
65
+ - examples/pure/greeter_spec.rb
66
+ - examples/pure/helper_method_example.rb
67
+ - examples/pure/io_processor.rb
68
+ - examples/pure/io_processor_spec.rb
69
+ - examples/pure/legacy_spec.rb
70
+ - examples/pure/mocking_example.rb
71
+ - examples/pure/multi_threaded_behaviour_runner.rb
72
+ - examples/pure/nested_classes_example.rb
73
+ - examples/pure/partial_mock_example.rb
74
+ - examples/pure/pending_example.rb
75
+ - examples/pure/predicate_example.rb
76
+ - examples/pure/priority.txt
77
+ - examples/pure/shared_example_group_example.rb
78
+ - examples/pure/shared_stack_examples.rb
79
+ - examples/pure/spec_helper.rb
80
+ - examples/pure/stack.rb
81
+ - examples/pure/stack_spec.rb
82
+ - examples/pure/stack_spec_with_nested_example_groups.rb
83
+ - examples/pure/stubbing_example.rb
84
+ - examples/stories/adder.rb
85
+ - examples/stories/addition
86
+ - examples/stories/addition.rb
87
+ - examples/stories/calculator.rb
88
+ - examples/stories/game-of-life/.loadpath
89
+ - examples/stories/game-of-life/README.txt
90
+ - examples/stories/game-of-life/behaviour/everything.rb
91
+ - examples/stories/game-of-life/behaviour/examples/examples.rb
92
+ - examples/stories/game-of-life/behaviour/examples/game_behaviour.rb
93
+ - examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb
94
+ - examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story
95
+ - examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story
96
+ - examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story
97
+ - examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story
98
+ - examples/stories/game-of-life/behaviour/stories/ICanKillACell.story
99
+ - examples/stories/game-of-life/behaviour/stories/TheGridWraps.story
100
+ - examples/stories/game-of-life/behaviour/stories/create_a_cell.rb
101
+ - examples/stories/game-of-life/behaviour/stories/helper.rb
102
+ - examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb
103
+ - examples/stories/game-of-life/behaviour/stories/steps.rb
104
+ - examples/stories/game-of-life/behaviour/stories/stories.rb
105
+ - examples/stories/game-of-life/behaviour/stories/stories.txt
106
+ - examples/stories/game-of-life/life.rb
107
+ - examples/stories/game-of-life/life/game.rb
108
+ - examples/stories/game-of-life/life/grid.rb
109
+ - examples/stories/helper.rb
110
+ - examples/stories/steps/addition_steps.rb
111
+ - failing_examples/README.txt
112
+ - failing_examples/diffing_spec.rb
113
+ - failing_examples/failing_autogenerated_docstrings_example.rb
114
+ - failing_examples/failure_in_setup.rb
115
+ - failing_examples/failure_in_teardown.rb
116
+ - failing_examples/mocking_example.rb
117
+ - failing_examples/mocking_with_flexmock.rb
118
+ - failing_examples/mocking_with_mocha.rb
119
+ - failing_examples/mocking_with_rr.rb
120
+ - failing_examples/partial_mock_example.rb
121
+ - failing_examples/predicate_example.rb
122
+ - failing_examples/raising_example.rb
123
+ - failing_examples/spec_helper.rb
124
+ - failing_examples/syntax_error_example.rb
125
+ - failing_examples/team_spec.rb
126
+ - failing_examples/timeout_behaviour.rb
127
+ - init.rb
128
+ - lib/autotest/discover.rb
129
+ - lib/autotest/rspec.rb
130
+ - lib/spec.rb
131
+ - lib/spec/adapters.rb
132
+ - lib/spec/adapters/ruby_engine.rb
133
+ - lib/spec/adapters/ruby_engine/mri.rb
134
+ - lib/spec/adapters/ruby_engine/rubinius.rb
135
+ - lib/spec/example.rb
136
+ - lib/spec/example/configuration.rb
137
+ - lib/spec/example/errors.rb
138
+ - lib/spec/example/example_group.rb
139
+ - lib/spec/example/example_group_factory.rb
140
+ - lib/spec/example/example_group_methods.rb
141
+ - lib/spec/example/example_matcher.rb
142
+ - lib/spec/example/example_methods.rb
143
+ - lib/spec/example/module_inclusion_warnings.rb
144
+ - lib/spec/example/module_reopening_fix.rb
145
+ - lib/spec/example/pending.rb
146
+ - lib/spec/example/shared_example_group.rb
147
+ - lib/spec/expectations.rb
148
+ - lib/spec/expectations/differs/default.rb
149
+ - lib/spec/expectations/errors.rb
150
+ - lib/spec/expectations/extensions.rb
151
+ - lib/spec/expectations/extensions/object.rb
152
+ - lib/spec/expectations/extensions/string_and_symbol.rb
153
+ - lib/spec/expectations/handler.rb
154
+ - lib/spec/extensions.rb
155
+ - lib/spec/extensions/class.rb
156
+ - lib/spec/extensions/main.rb
157
+ - lib/spec/extensions/metaclass.rb
158
+ - lib/spec/extensions/object.rb
159
+ - lib/spec/interop/test.rb
160
+ - lib/spec/interop/test/unit/autorunner.rb
161
+ - lib/spec/interop/test/unit/testcase.rb
162
+ - lib/spec/interop/test/unit/testresult.rb
163
+ - lib/spec/interop/test/unit/testsuite_adapter.rb
164
+ - lib/spec/interop/test/unit/ui/console/testrunner.rb
165
+ - lib/spec/matchers.rb
166
+ - lib/spec/matchers/be.rb
167
+ - lib/spec/matchers/be_close.rb
168
+ - lib/spec/matchers/change.rb
169
+ - lib/spec/matchers/eql.rb
170
+ - lib/spec/matchers/equal.rb
171
+ - lib/spec/matchers/exist.rb
172
+ - lib/spec/matchers/has.rb
173
+ - lib/spec/matchers/have.rb
174
+ - lib/spec/matchers/include.rb
175
+ - lib/spec/matchers/match.rb
176
+ - lib/spec/matchers/operator_matcher.rb
177
+ - lib/spec/matchers/raise_error.rb
178
+ - lib/spec/matchers/respond_to.rb
179
+ - lib/spec/matchers/satisfy.rb
180
+ - lib/spec/matchers/simple_matcher.rb
181
+ - lib/spec/matchers/throw_symbol.rb
182
+ - lib/spec/mocks.rb
183
+ - lib/spec/mocks/argument_constraint_matchers.rb
184
+ - lib/spec/mocks/argument_expectation.rb
185
+ - lib/spec/mocks/error_generator.rb
186
+ - lib/spec/mocks/errors.rb
187
+ - lib/spec/mocks/extensions.rb
188
+ - lib/spec/mocks/extensions/object.rb
189
+ - lib/spec/mocks/framework.rb
190
+ - lib/spec/mocks/message_expectation.rb
191
+ - lib/spec/mocks/methods.rb
192
+ - lib/spec/mocks/mock.rb
193
+ - lib/spec/mocks/order_group.rb
194
+ - lib/spec/mocks/proxy.rb
195
+ - lib/spec/mocks/space.rb
196
+ - lib/spec/mocks/spec_methods.rb
197
+ - lib/spec/rake/spectask.rb
198
+ - lib/spec/rake/verify_rcov.rb
199
+ - lib/spec/runner.rb
200
+ - lib/spec/runner/backtrace_tweaker.rb
201
+ - lib/spec/runner/class_and_arguments_parser.rb
202
+ - lib/spec/runner/command_line.rb
203
+ - lib/spec/runner/drb_command_line.rb
204
+ - lib/spec/runner/example_group_runner.rb
205
+ - lib/spec/runner/formatter/base_formatter.rb
206
+ - lib/spec/runner/formatter/base_text_formatter.rb
207
+ - lib/spec/runner/formatter/failing_example_groups_formatter.rb
208
+ - lib/spec/runner/formatter/failing_examples_formatter.rb
209
+ - lib/spec/runner/formatter/html_formatter.rb
210
+ - lib/spec/runner/formatter/nested_text_formatter.rb
211
+ - lib/spec/runner/formatter/profile_formatter.rb
212
+ - lib/spec/runner/formatter/progress_bar_formatter.rb
213
+ - lib/spec/runner/formatter/snippet_extractor.rb
214
+ - lib/spec/runner/formatter/specdoc_formatter.rb
215
+ - lib/spec/runner/formatter/story/html_formatter.rb
216
+ - lib/spec/runner/formatter/story/plain_text_formatter.rb
217
+ - lib/spec/runner/formatter/text_mate_formatter.rb
218
+ - lib/spec/runner/heckle_runner.rb
219
+ - lib/spec/runner/heckle_runner_unsupported.rb
220
+ - lib/spec/runner/option_parser.rb
221
+ - lib/spec/runner/options.rb
222
+ - lib/spec/runner/reporter.rb
223
+ - lib/spec/runner/spec_parser.rb
224
+ - lib/spec/story.rb
225
+ - lib/spec/story/extensions.rb
226
+ - lib/spec/story/extensions/main.rb
227
+ - lib/spec/story/extensions/regexp.rb
228
+ - lib/spec/story/extensions/string.rb
229
+ - lib/spec/story/given_scenario.rb
230
+ - lib/spec/story/runner.rb
231
+ - lib/spec/story/runner/plain_text_story_runner.rb
232
+ - lib/spec/story/runner/scenario_collector.rb
233
+ - lib/spec/story/runner/scenario_runner.rb
234
+ - lib/spec/story/runner/story_mediator.rb
235
+ - lib/spec/story/runner/story_parser.rb
236
+ - lib/spec/story/runner/story_runner.rb
237
+ - lib/spec/story/scenario.rb
238
+ - lib/spec/story/step.rb
239
+ - lib/spec/story/step_group.rb
240
+ - lib/spec/story/step_mother.rb
241
+ - lib/spec/story/story.rb
242
+ - lib/spec/story/world.rb
243
+ - lib/spec/translator.rb
244
+ - lib/spec/version.rb
245
+ - plugins/mock_frameworks/flexmock.rb
246
+ - plugins/mock_frameworks/mocha.rb
247
+ - plugins/mock_frameworks/rr.rb
248
+ - plugins/mock_frameworks/rspec.rb
249
+ - rake_tasks/examples.rake
250
+ - rake_tasks/examples_with_rcov.rake
251
+ - rake_tasks/failing_examples_with_html.rake
252
+ - rake_tasks/verify_rcov.rake
253
+ - spec/README.jruby
254
+ - spec/autotest/discover_spec.rb
255
+ - spec/autotest/rspec_spec.rb
256
+ - spec/autotest_helper.rb
257
+ - spec/autotest_matchers.rb
258
+ - spec/rspec_suite.rb
259
+ - spec/ruby_forker.rb
260
+ - spec/spec.opts
261
+ - spec/spec/adapters/ruby_engine_spec.rb
262
+ - spec/spec/example/configuration_spec.rb
263
+ - spec/spec/example/example_group/described_module_spec.rb
264
+ - spec/spec/example/example_group/warning_messages_spec.rb
265
+ - spec/spec/example/example_group_class_definition_spec.rb
266
+ - spec/spec/example/example_group_factory_spec.rb
267
+ - spec/spec/example/example_group_methods_spec.rb
268
+ - spec/spec/example/example_group_spec.rb
269
+ - spec/spec/example/example_matcher_spec.rb
270
+ - spec/spec/example/example_methods_spec.rb
271
+ - spec/spec/example/example_runner_spec.rb
272
+ - spec/spec/example/example_spec.rb
273
+ - spec/spec/example/nested_example_group_spec.rb
274
+ - spec/spec/example/pending_module_spec.rb
275
+ - spec/spec/example/predicate_matcher_spec.rb
276
+ - spec/spec/example/shared_example_group_spec.rb
277
+ - spec/spec/example/subclassing_example_group_spec.rb
278
+ - spec/spec/expectations/differs/default_spec.rb
279
+ - spec/spec/expectations/extensions/object_spec.rb
280
+ - spec/spec/expectations/fail_with_spec.rb
281
+ - spec/spec/extensions/main_spec.rb
282
+ - spec/spec/interop/test/unit/resources/spec_that_fails.rb
283
+ - spec/spec/interop/test/unit/resources/spec_that_passes.rb
284
+ - spec/spec/interop/test/unit/resources/spec_with_errors.rb
285
+ - spec/spec/interop/test/unit/resources/test_case_that_fails.rb
286
+ - spec/spec/interop/test/unit/resources/test_case_that_passes.rb
287
+ - spec/spec/interop/test/unit/resources/test_case_with_errors.rb
288
+ - spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb
289
+ - spec/spec/interop/test/unit/spec_spec.rb
290
+ - spec/spec/interop/test/unit/test_unit_spec_helper.rb
291
+ - spec/spec/interop/test/unit/testcase_spec.rb
292
+ - spec/spec/interop/test/unit/testsuite_adapter_spec.rb
293
+ - spec/spec/matchers/be_close_spec.rb
294
+ - spec/spec/matchers/be_spec.rb
295
+ - spec/spec/matchers/change_spec.rb
296
+ - spec/spec/matchers/description_generation_spec.rb
297
+ - spec/spec/matchers/eql_spec.rb
298
+ - spec/spec/matchers/equal_spec.rb
299
+ - spec/spec/matchers/exist_spec.rb
300
+ - spec/spec/matchers/handler_spec.rb
301
+ - spec/spec/matchers/has_spec.rb
302
+ - spec/spec/matchers/have_spec.rb
303
+ - spec/spec/matchers/include_spec.rb
304
+ - spec/spec/matchers/match_spec.rb
305
+ - spec/spec/matchers/matcher_methods_spec.rb
306
+ - spec/spec/matchers/mock_constraint_matchers_spec.rb
307
+ - spec/spec/matchers/operator_matcher_spec.rb
308
+ - spec/spec/matchers/raise_error_spec.rb
309
+ - spec/spec/matchers/respond_to_spec.rb
310
+ - spec/spec/matchers/satisfy_spec.rb
311
+ - spec/spec/matchers/simple_matcher_spec.rb
312
+ - spec/spec/matchers/throw_symbol_spec.rb
313
+ - spec/spec/mocks/any_number_of_times_spec.rb
314
+ - spec/spec/mocks/argument_expectation_spec.rb
315
+ - spec/spec/mocks/at_least_spec.rb
316
+ - spec/spec/mocks/at_most_spec.rb
317
+ - spec/spec/mocks/bug_report_10260_spec.rb
318
+ - spec/spec/mocks/bug_report_10263_spec.rb
319
+ - spec/spec/mocks/bug_report_11545_spec.rb
320
+ - spec/spec/mocks/bug_report_15719_spec.rb
321
+ - spec/spec/mocks/bug_report_7611_spec.rb
322
+ - spec/spec/mocks/bug_report_7805_spec.rb
323
+ - spec/spec/mocks/bug_report_8165_spec.rb
324
+ - spec/spec/mocks/bug_report_8302_spec.rb
325
+ - spec/spec/mocks/failing_mock_argument_constraints_spec.rb
326
+ - spec/spec/mocks/hash_including_matcher_spec.rb
327
+ - spec/spec/mocks/mock_ordering_spec.rb
328
+ - spec/spec/mocks/mock_space_spec.rb
329
+ - spec/spec/mocks/mock_spec.rb
330
+ - spec/spec/mocks/multiple_return_value_spec.rb
331
+ - spec/spec/mocks/null_object_mock_spec.rb
332
+ - spec/spec/mocks/once_counts_spec.rb
333
+ - spec/spec/mocks/options_hash_spec.rb
334
+ - spec/spec/mocks/partial_mock_spec.rb
335
+ - spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb
336
+ - spec/spec/mocks/passing_mock_argument_constraints_spec.rb
337
+ - spec/spec/mocks/precise_counts_spec.rb
338
+ - spec/spec/mocks/record_messages_spec.rb
339
+ - spec/spec/mocks/stub_spec.rb
340
+ - spec/spec/mocks/twice_counts_spec.rb
341
+ - spec/spec/package/bin_spec_spec.rb
342
+ - spec/spec/runner/class_and_argument_parser_spec.rb
343
+ - spec/spec/runner/command_line_spec.rb
344
+ - spec/spec/runner/drb_command_line_spec.rb
345
+ - spec/spec/runner/empty_file.txt
346
+ - spec/spec/runner/examples.txt
347
+ - spec/spec/runner/execution_context_spec.rb
348
+ - spec/spec/runner/failed.txt
349
+ - spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb
350
+ - spec/spec/runner/formatter/failing_examples_formatter_spec.rb
351
+ - spec/spec/runner/formatter/html_formatted-1.8.4.html
352
+ - spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html
353
+ - spec/spec/runner/formatter/html_formatted-1.8.5.html
354
+ - spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html
355
+ - spec/spec/runner/formatter/html_formatted-1.8.6.html
356
+ - spec/spec/runner/formatter/html_formatter_spec.rb
357
+ - spec/spec/runner/formatter/nested_text_formatter_spec.rb
358
+ - spec/spec/runner/formatter/profile_formatter_spec.rb
359
+ - spec/spec/runner/formatter/progress_bar_formatter_spec.rb
360
+ - spec/spec/runner/formatter/snippet_extractor_spec.rb
361
+ - spec/spec/runner/formatter/spec_mate_formatter_spec.rb
362
+ - spec/spec/runner/formatter/specdoc_formatter_spec.rb
363
+ - spec/spec/runner/formatter/story/html_formatter_spec.rb
364
+ - spec/spec/runner/formatter/story/plain_text_formatter_spec.rb
365
+ - spec/spec/runner/formatter/text_mate_formatted-1.8.4.html
366
+ - spec/spec/runner/formatter/text_mate_formatted-1.8.6.html
367
+ - spec/spec/runner/heckle_runner_spec.rb
368
+ - spec/spec/runner/heckler_spec.rb
369
+ - spec/spec/runner/noisy_backtrace_tweaker_spec.rb
370
+ - spec/spec/runner/option_parser_spec.rb
371
+ - spec/spec/runner/options_spec.rb
372
+ - spec/spec/runner/output_one_time_fixture.rb
373
+ - spec/spec/runner/output_one_time_fixture_runner.rb
374
+ - spec/spec/runner/output_one_time_spec.rb
375
+ - spec/spec/runner/quiet_backtrace_tweaker_spec.rb
376
+ - spec/spec/runner/reporter_spec.rb
377
+ - spec/spec/runner/resources/a_bar.rb
378
+ - spec/spec/runner/resources/a_foo.rb
379
+ - spec/spec/runner/resources/a_spec.rb
380
+ - spec/spec/runner/spec.opts
381
+ - spec/spec/runner/spec_drb.opts
382
+ - spec/spec/runner/spec_parser/spec_parser_fixture.rb
383
+ - spec/spec/runner/spec_parser_spec.rb
384
+ - spec/spec/runner/spec_spaced.opts
385
+ - spec/spec/runner_spec.rb
386
+ - spec/spec/spec_classes.rb
387
+ - spec/spec/story/builders.rb
388
+ - spec/spec/story/extensions/main_spec.rb
389
+ - spec/spec/story/extensions_spec.rb
390
+ - spec/spec/story/given_scenario_spec.rb
391
+ - spec/spec/story/runner/plain_text_story_runner_spec.rb
392
+ - spec/spec/story/runner/scenario_collector_spec.rb
393
+ - spec/spec/story/runner/scenario_runner_spec.rb
394
+ - spec/spec/story/runner/story_mediator_spec.rb
395
+ - spec/spec/story/runner/story_parser_spec.rb
396
+ - spec/spec/story/runner/story_runner_spec.rb
397
+ - spec/spec/story/runner_spec.rb
398
+ - spec/spec/story/scenario_spec.rb
399
+ - spec/spec/story/step_group_spec.rb
400
+ - spec/spec/story/step_mother_spec.rb
401
+ - spec/spec/story/step_spec.rb
402
+ - spec/spec/story/story_helper.rb
403
+ - spec/spec/story/story_spec.rb
404
+ - spec/spec/story/world_spec.rb
405
+ - spec/spec/translator_spec.rb
406
+ - spec/spec_helper.rb
407
+ - stories/all.rb
408
+ - stories/example_groups/autogenerated_docstrings
409
+ - stories/example_groups/example_group_with_should_methods
410
+ - stories/example_groups/nested_groups
411
+ - stories/example_groups/output
412
+ - stories/example_groups/stories.rb
413
+ - stories/helper.rb
414
+ - stories/interop/examples_and_tests_together
415
+ - stories/interop/stories.rb
416
+ - stories/interop/test_case_with_should_methods
417
+ - stories/mock_framework_integration/stories.rb
418
+ - stories/mock_framework_integration/use_flexmock.story
419
+ - stories/pending_stories/README
420
+ - stories/resources/helpers/cmdline.rb
421
+ - stories/resources/helpers/story_helper.rb
422
+ - stories/resources/matchers/smart_match.rb
423
+ - stories/resources/spec/example_group_with_should_methods.rb
424
+ - stories/resources/spec/simple_spec.rb
425
+ - stories/resources/spec/spec_with_flexmock.rb
426
+ - stories/resources/steps/running_rspec.rb
427
+ - stories/resources/stories/failing_story.rb
428
+ - stories/resources/test/spec_and_test_together.rb
429
+ - stories/resources/test/test_case_with_should_methods.rb
430
+ - stories/stories/multiline_steps.story
431
+ - stories/stories/steps/multiline_steps.rb
432
+ - stories/stories/stories.rb
433
+ has_rdoc: true
434
+ homepage: http://rspec.info/
435
+ post_install_message:
436
+ rdoc_options:
437
+ - --main
438
+ - README.txt
439
+ require_paths:
440
+ - lib
441
+ required_ruby_version: !ruby/object:Gem::Requirement
442
+ requirements:
443
+ - - ">="
444
+ - !ruby/object:Gem::Version
445
+ version: "0"
446
+ version:
447
+ required_rubygems_version: !ruby/object:Gem::Requirement
448
+ requirements:
449
+ - - ">="
450
+ - !ruby/object:Gem::Version
451
+ version: "0"
452
+ version:
453
+ requirements: []
454
+
455
+ rubyforge_project: rspec
456
+ rubygems_version: 1.2.0
457
+ signing_key:
458
+ specification_version: 2
459
+ summary: rspec version 0.0.10
460
+ test_files: []
461
+