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,48 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
-
3
- module Spec
4
- module Example
5
- class ExampleGroupSubclass < ExampleGroup
6
- class << self
7
- attr_accessor :examples_ran
8
- end
9
-
10
- @@klass_variable_set = true
11
- CONSTANT = :foobar
12
-
13
- before do
14
- @instance_variable = :hello
15
- end
16
-
17
- it "should run" do
18
- self.class.examples_ran = true
19
- end
20
-
21
- it "should have access to instance variables" do
22
- @instance_variable.should == :hello
23
- end
24
-
25
- it "should have access to class variables" do
26
- @@klass_variable_set.should == true
27
- end
28
-
29
- it "should have access to constants" do
30
- CONSTANT.should == :foobar
31
- end
32
-
33
- it "should have access to methods defined in the Example Group" do
34
- a_method.should == 22
35
- end
36
-
37
- def a_method
38
- 22
39
- end
40
- end
41
-
42
- describe ExampleGroupSubclass do
43
- it "should run" do
44
- ExampleGroupSubclass.examples_ran.should be_true
45
- end
46
- end
47
- end
48
- end
@@ -1,144 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- module Spec
4
- module Example
5
- describe ExampleGroupFactory do
6
- describe "#get" do
7
- attr_reader :example_group
8
- before do
9
- @example_group = Class.new(ExampleGroup)
10
- ExampleGroupFactory.register(:registered_type, @example_group)
11
- end
12
-
13
- after do
14
- ExampleGroupFactory.reset
15
- end
16
-
17
- it "should #get the default ExampleGroup type when passed nil" do
18
- ExampleGroupFactory.get(nil).should == ExampleGroup
19
- end
20
-
21
- it "should #get the default ExampleGroup for unregistered non-nil values" do
22
- ExampleGroupFactory.get(:does_not_exist).should == ExampleGroup
23
- end
24
-
25
- it "should #get custom type for :registered_type" do
26
- ExampleGroupFactory.get(:registered_type).should == @example_group
27
- end
28
-
29
- it "should #get the actual type when that is passed in" do
30
- ExampleGroupFactory.get(@example_group).should == @example_group
31
- end
32
-
33
- it "should get the custom type after setting the default" do
34
- @example_group2 = Class.new(ExampleGroup)
35
- ExampleGroupFactory.default(@example_group2)
36
- ExampleGroupFactory.get(:registered_type).should == @example_group
37
- end
38
- end
39
-
40
- describe "#create_example_group" do
41
- attr_reader :parent_example_group
42
- before do
43
- @parent_example_group = Class.new(ExampleGroup) do
44
- def initialize(*args, &block)
45
- ;
46
- end
47
- end
48
- end
49
-
50
- it "should create a uniquely named class" do
51
- example_group = Spec::Example::ExampleGroupFactory.create_example_group("example_group") {}
52
- example_group.name.should =~ /Spec::Example::ExampleGroup::Subclass_\d+/
53
- end
54
-
55
- it "should create a Spec::Example::Example subclass by default" do
56
- example_group = Spec::Example::ExampleGroupFactory.create_example_group("example_group") {}
57
- example_group.superclass.should == Spec::Example::ExampleGroup
58
- end
59
-
60
- describe "when :type => :default" do
61
- it "should create a Spec::Example::Example" do
62
- example_group = Spec::Example::ExampleGroupFactory.create_example_group(
63
- "example_group", :type => :default
64
- ) {}
65
- example_group.superclass.should == Spec::Example::ExampleGroup
66
- end
67
-
68
- it "should create a Spec::Example::Example" do
69
- example_group = Spec::Example::ExampleGroupFactory.create_example_group(
70
- "example_group", :type => :default
71
- ) {}
72
- example_group.superclass.should == Spec::Example::ExampleGroup
73
- end
74
- end
75
-
76
- describe "when :type => :something_other_than_default" do
77
- it "should create specified type" do
78
- Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group)
79
- non_default_example_group = Spec::Example::ExampleGroupFactory.create_example_group(
80
- "example_group", :type => :something_other_than_default
81
- ) {}
82
- non_default_example_group.superclass.should == parent_example_group
83
- end
84
- end
85
-
86
- it "should create a type indicated by :spec_path" do
87
- Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group)
88
- custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group(
89
- "example_group", :spec_path => "./spec/something_other_than_default/some_spec.rb"
90
- ) {}
91
- custom_example_group.superclass.should == parent_example_group
92
- end
93
-
94
- it "should create a type indicated by :spec_path (with spec_path generated by caller on windows)" do
95
- Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group)
96
- custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group(
97
- "example_group",
98
- :spec_path => "./spec\\something_other_than_default\\some_spec.rb"
99
- ) {}
100
- custom_example_group.superclass.should == parent_example_group
101
- end
102
-
103
- describe "when :shared => true" do
104
- attr_reader :shared_example_group
105
- before do
106
- @shared_example_group = Spec::Example::ExampleGroupFactory.create_example_group(
107
- "name", :spec_path => '/blah/spec/models/blah.rb', :type => :controller, :shared => true
108
- ) {}
109
- end
110
-
111
- it "should create and register a Spec::Example::Example" do
112
- shared_example_group.should be_an_instance_of(Spec::Example::SharedExampleGroup)
113
- SharedExampleGroup.shared_example_groups.should include(shared_example_group)
114
- end
115
- end
116
-
117
- it "should favor the :type over the :spec_path" do
118
- Spec::Example::ExampleGroupFactory.register(:something_other_than_default, parent_example_group)
119
- custom_example_group = Spec::Example::ExampleGroupFactory.create_example_group(
120
- "name", :spec_path => '/blah/spec/models/blah.rb', :type => :something_other_than_default
121
- ) {}
122
- custom_example_group.superclass.should == parent_example_group
123
- end
124
-
125
- it "should register ExampleGroup by default" do
126
- example_group = Spec::Example::ExampleGroupFactory.create_example_group("The ExampleGroup") do
127
- end
128
- rspec_options.example_groups.should include(example_group)
129
- end
130
-
131
- it "should enable unregistering of ExampleGroups" do
132
- example_group = Spec::Example::ExampleGroupFactory.create_example_group("The ExampleGroup") do
133
- unregister
134
- end
135
- rspec_options.example_groups.should_not include(example_group)
136
- end
137
-
138
- after(:each) do
139
- Spec::Example::ExampleGroupFactory.reset
140
- end
141
- end
142
- end
143
- end
144
- end
@@ -1,572 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
-
3
- module Spec
4
- module Example
5
- describe 'ExampleGroupMethods' do
6
- it_should_behave_like "sandboxed rspec_options"
7
- attr_reader :example_group, :result, :reporter
8
- before(:each) do
9
- options.formatters << mock("formatter", :null_object => true)
10
- options.backtrace_tweaker = mock("backtrace_tweaker", :null_object => true)
11
- @reporter = FakeReporter.new(@options)
12
- options.reporter = reporter
13
- @example_group = Class.new(ExampleGroup) do
14
- describe("ExampleGroup")
15
- it "does nothing"
16
- end
17
- class << example_group
18
- public :include
19
- end
20
- @result = nil
21
- end
22
-
23
- after(:each) do
24
- ExampleGroup.reset
25
- end
26
-
27
- ["describe","context"].each do |method|
28
- describe "#{method}" do
29
- describe "when creating an ExampleGroup" do
30
- attr_reader :child_example_group
31
- before do
32
- @child_example_group = @example_group.send method, "Another ExampleGroup" do
33
- it "should pass" do
34
- true.should be_true
35
- end
36
- end
37
- end
38
-
39
- it "should create a subclass of the ExampleGroup when passed a block" do
40
- child_example_group.superclass.should == @example_group
41
- @options.example_groups.should include(child_example_group)
42
- end
43
-
44
- it "should not inherit examples" do
45
- child_example_group.examples.length.should == 1
46
- end
47
- end
48
-
49
- describe "when creating a SharedExampleGroup" do
50
- attr_reader :name, :shared_example_group
51
- before do
52
- @name = "A Shared ExampleGroup"
53
- @shared_example_group = @example_group.send method, name, :shared => true do
54
- it "should pass" do
55
- true.should be_true
56
- end
57
- end
58
- end
59
-
60
- after do
61
- SharedExampleGroup.shared_example_groups.delete_if do |registered_shared_example_group|
62
- registered_shared_example_group == shared_example_group
63
- end
64
- end
65
-
66
- it "should create a SharedExampleGroup" do
67
- SharedExampleGroup.find_shared_example_group(name).should == shared_example_group
68
- end
69
- end
70
-
71
- end
72
- end
73
-
74
- describe "#it" do
75
- it "should should create an example instance" do
76
- lambda {
77
- @example_group.it("")
78
- }.should change { @example_group.examples.length }.by(1)
79
- end
80
- end
81
-
82
- describe "#xit and #xspecify" do
83
- before(:each) do
84
- Kernel.stub!(:warn)
85
- end
86
-
87
- it "should NOT create an example instance" do
88
- lambda {
89
- @example_group.xit("")
90
- }.should_not change(@example_group.examples, :length)
91
-
92
- lambda {
93
- @example_group.xspecify("")
94
- }.should_not change(@example_group.examples, :length)
95
- end
96
-
97
- it "should warn that it is disabled" do
98
- Kernel.should_receive(:warn).with("Example disabled: foo").twice
99
- @example_group.xit("foo")
100
- @example_group.xspecify("foo")
101
- end
102
- end
103
-
104
- describe "#examples" do
105
- it "should have Examples" do
106
- example_group = Class.new(ExampleGroup) do
107
- describe('example')
108
- it "should pass" do
109
- 1.should == 1
110
- end
111
- end
112
- example_group.examples.length.should == 1
113
- example_group.examples.first.description.should == "should pass"
114
- end
115
-
116
- it "should not include methods that begin with test (only when TU interop is loaded)" do
117
- example_group = Class.new(ExampleGroup) do
118
- describe('example')
119
- def test_any_args(*args)
120
- true.should be_true
121
- end
122
- def test_something
123
- 1.should == 1
124
- end
125
- def test
126
- raise "This is not a real test"
127
- end
128
- def testify
129
- raise "This is not a real test"
130
- end
131
- def should_something
132
- # forces the run
133
- end
134
- end
135
- example_group.examples.length.should == 1
136
- example_group.run.should be_true
137
- end
138
-
139
- it "should include methods that begin with should and has an arity of 0 in suite" do
140
- example_group = Class.new(ExampleGroup) do
141
- describe('example')
142
- def shouldCamelCase
143
- true.should be_true
144
- end
145
- def should_any_args(*args)
146
- true.should be_true
147
- end
148
- def should_something
149
- 1.should == 1
150
- end
151
- def should_not_something
152
- 1.should_not == 2
153
- end
154
- def should
155
- raise "This is not a real example"
156
- end
157
- def should_not
158
- raise "This is not a real example"
159
- end
160
- end
161
- example_group = example_group.dup
162
- example_group.examples.length.should == 4
163
- descriptions = example_group.examples.collect {|example| example.description}.sort
164
- descriptions.should include("shouldCamelCase")
165
- descriptions.should include("should_any_args")
166
- descriptions.should include("should_something")
167
- descriptions.should include("should_not_something")
168
- end
169
-
170
- it "should not include methods that begin with test_ and has an arity > 0 in suite" do
171
- example_group = Class.new(ExampleGroup) do
172
- describe('example')
173
- def test_invalid(foo)
174
- 1.should == 1
175
- end
176
- def testInvalidCamelCase(foo)
177
- 1.should == 1
178
- end
179
- end
180
- example_group.examples.length.should == 0
181
- end
182
-
183
- it "should not include methods that begin with should_ and has an arity > 0 in suite" do
184
- example_group = Class.new(ExampleGroup) do
185
- describe('example')
186
- def should_invalid(foo)
187
- 1.should == 2
188
- end
189
- def shouldInvalidCamelCase(foo)
190
- 1.should == 3
191
- end
192
- def should_not_invalid(foo)
193
- 1.should == 4
194
- end
195
- def should_valid
196
- 1.should == 1
197
- end
198
- end
199
- example_group.examples.length.should == 1
200
- example_group.run.should be_true
201
- end
202
-
203
- it "should run should_methods" do
204
- example_group = Class.new(ExampleGroup) do
205
- def should_valid
206
- 1.should == 2
207
- end
208
- end
209
- example_group.examples.length.should == 1
210
- example_group.run.should be_false
211
- end
212
- end
213
-
214
- describe "#set_description" do
215
- attr_reader :example_group
216
- before do
217
- class << example_group
218
- public :set_description
219
- end
220
- end
221
-
222
- describe "#set_description(String)" do
223
- before(:each) do
224
- example_group.set_description("abc")
225
- end
226
-
227
- specify ".description should return the String passed into .set_description" do
228
- example_group.description.should == "abc"
229
- end
230
-
231
- specify ".described_type should provide nil as its type" do
232
- example_group.described_type.should be_nil
233
- end
234
- end
235
-
236
- describe "#set_description(Type)" do
237
- before(:each) do
238
- example_group.set_description(ExampleGroup)
239
- end
240
-
241
- specify ".description should return a String representation of that type (fully qualified) as its name" do
242
- example_group.description.should == "Spec::Example::ExampleGroup"
243
- end
244
-
245
- specify ".described_type should return the passed in type" do
246
- example_group.described_type.should == Spec::Example::ExampleGroup
247
- end
248
- end
249
-
250
- describe "#set_description(String, Type)" do
251
- before(:each) do
252
- example_group.set_description("behaving", ExampleGroup)
253
- end
254
-
255
- specify ".description should return String then space then Type" do
256
- example_group.description.should == "behaving Spec::Example::ExampleGroup"
257
- end
258
-
259
- specify ".described_type should return the passed in type" do
260
- example_group.described_type.should == Spec::Example::ExampleGroup
261
- end
262
- end
263
-
264
- describe "#set_description(Type, String not starting with a space)" do
265
- before(:each) do
266
- example_group.set_description(ExampleGroup, "behaving")
267
- end
268
-
269
- specify ".description should return the Type then space then String" do
270
- example_group.description.should == "Spec::Example::ExampleGroup behaving"
271
- end
272
- end
273
-
274
- describe "#set_description(Type, String starting with .)" do
275
- before(:each) do
276
- example_group.set_description(ExampleGroup, ".behaving")
277
- end
278
-
279
- specify ".description should return the Type then String" do
280
- example_group.description.should == "Spec::Example::ExampleGroup.behaving"
281
- end
282
- end
283
-
284
- describe "#set_description(Type, String containing .)" do
285
- before(:each) do
286
- example_group.set_description(ExampleGroup, "calling a.b")
287
- end
288
-
289
- specify ".description should return the Type then space then String" do
290
- example_group.description.should == "Spec::Example::ExampleGroup calling a.b"
291
- end
292
- end
293
-
294
- describe "#set_description(Type, String starting with .)" do
295
- before(:each) do
296
- example_group.set_description(ExampleGroup, ".behaving")
297
- end
298
-
299
- specify "should return the Type then String" do
300
- example_group.description.should == "Spec::Example::ExampleGroup.behaving"
301
- end
302
- end
303
-
304
- describe "#set_description(Type, String containing .)" do
305
- before(:each) do
306
- example_group.set_description(ExampleGroup, "is #1")
307
- end
308
-
309
- specify ".description should return the Type then space then String" do
310
- example_group.description.should == "Spec::Example::ExampleGroup is #1"
311
- end
312
- end
313
-
314
- describe "#set_description(String, Type, String)" do
315
- before(:each) do
316
- example_group.set_description("A", Hash, "with one entry")
317
- end
318
-
319
- specify ".description should return the first String then space then Type then second String" do
320
- example_group.description.should == "A Hash with one entry"
321
- end
322
- end
323
-
324
- describe "#set_description(Hash representing options)" do
325
- before(:each) do
326
- example_group.set_description(:a => "b", :spec_path => "blah")
327
- end
328
-
329
- it ".spec_path should expand the passed in :spec_path option passed into the constructor" do
330
- example_group.spec_path.should == File.expand_path("blah")
331
- end
332
-
333
- it ".description_options should return all the options passed in" do
334
- example_group.description_options.should == {:a => "b", :spec_path => "blah"}
335
- end
336
-
337
- end
338
- end
339
-
340
- describe "#description" do
341
- it "should return the same description instance for each call" do
342
- example_group.description.should eql(example_group.description)
343
- end
344
-
345
- it "should not add a space when description_text begins with #" do
346
- child_example_group = Class.new(example_group) do
347
- describe("#foobar", "Does something")
348
- end
349
- child_example_group.description.should == "ExampleGroup#foobar Does something"
350
- end
351
-
352
- it "should not add a space when description_text begins with ." do
353
- child_example_group = Class.new(example_group) do
354
- describe(".foobar", "Does something")
355
- end
356
- child_example_group.description.should == "ExampleGroup.foobar Does something"
357
- end
358
-
359
- it "should return the class name if nil" do
360
- example_group.set_description(nil)
361
- example_group.description.should =~ /Class:/
362
- end
363
-
364
- it "should return the class name if nil" do
365
- example_group.set_description("")
366
- example_group.description.should =~ /Class:/
367
- end
368
- end
369
-
370
- describe "#description_parts" do
371
- it "should return an Array of the current class description args" do
372
- example_group.description_parts.should == [example_group.description]
373
- end
374
-
375
- it "should return an Array of the description args from each class in the hierarchy" do
376
- child_example_group = Class.new(example_group)
377
- child_example_group.describe("Child", ExampleGroup)
378
- child_example_group.description.should_not be_empty
379
-
380
- grand_child_example_group = Class.new(child_example_group)
381
- grand_child_example_group.describe("GrandChild", ExampleGroup)
382
- grand_child_example_group.description.should_not be_empty
383
-
384
- grand_child_example_group.description_parts.should == [
385
- "ExampleGroup",
386
- "Child",
387
- Spec::Example::ExampleGroup,
388
- "GrandChild",
389
- Spec::Example::ExampleGroup
390
- ]
391
- end
392
- end
393
-
394
- describe "#described_type" do
395
- it "should return passed in type" do
396
- child_example_group = Class.new(example_group) do
397
- describe Object
398
- end
399
- child_example_group.described_type.should == Object
400
- end
401
-
402
- it "should return #described_type of superclass when no passed in type" do
403
- parent_example_group = Class.new(ExampleGroup) do
404
- describe Object, "#foobar"
405
- end
406
- child_example_group = Class.new(parent_example_group) do
407
- describe "not a type"
408
- end
409
- child_example_group.described_type.should == Object
410
- end
411
- end
412
-
413
- describe "#remove_after" do
414
- it "should unregister a given after(:each) block" do
415
- after_all_ran = false
416
- @example_group.it("example") {}
417
- proc = Proc.new { after_all_ran = true }
418
- ExampleGroup.after(:each, &proc)
419
- @example_group.run
420
- after_all_ran.should be_true
421
-
422
- after_all_ran = false
423
- ExampleGroup.remove_after(:each, &proc)
424
- @example_group.run
425
- after_all_ran.should be_false
426
- end
427
- end
428
-
429
- describe "#include" do
430
- it "should have accessible class methods from included module" do
431
- mod1_method_called = false
432
- mod1 = Module.new do
433
- extend Spec::MetaClass
434
- class_methods = Module.new do
435
- define_method :mod1_method do
436
- mod1_method_called = true
437
- end
438
- end
439
-
440
- metaclass.class_eval do
441
- define_method(:included) do |receiver|
442
- receiver.extend class_methods
443
- end
444
- end
445
- end
446
-
447
- mod2_method_called = false
448
- mod2 = Module.new do
449
- extend Spec::MetaClass
450
- class_methods = Module.new do
451
- define_method :mod2_method do
452
- mod2_method_called = true
453
- end
454
- end
455
-
456
- metaclass.class_eval do
457
- define_method(:included) do |receiver|
458
- receiver.extend class_methods
459
- end
460
- end
461
- end
462
-
463
- @example_group.include mod1, mod2
464
-
465
- @example_group.mod1_method
466
- @example_group.mod2_method
467
- mod1_method_called.should be_true
468
- mod2_method_called.should be_true
469
- end
470
- end
471
-
472
- describe "#number_of_examples" do
473
- it "should count number of specs" do
474
- proc do
475
- @example_group.it("one") {}
476
- @example_group.it("two") {}
477
- @example_group.it("three") {}
478
- @example_group.it("four") {}
479
- end.should change {@example_group.number_of_examples}.by(4)
480
- end
481
- end
482
-
483
- describe "#class_eval" do
484
- it "should allow constants to be defined" do
485
- example_group = Class.new(ExampleGroup) do
486
- describe('example')
487
- FOO = 1
488
- it "should reference FOO" do
489
- FOO.should == 1
490
- end
491
- end
492
- example_group.run
493
- Object.const_defined?(:FOO).should == false
494
- end
495
- end
496
-
497
- describe '#register' do
498
- it "should add ExampleGroup to set of ExampleGroups to be run" do
499
- options.example_groups.delete(example_group)
500
- options.example_groups.should_not include(example_group)
501
-
502
- example_group.register {}
503
- options.example_groups.should include(example_group)
504
- end
505
- end
506
-
507
- describe '#unregister' do
508
- before do
509
- options.example_groups.should include(example_group)
510
- end
511
-
512
- it "should remove ExampleGroup from set of ExampleGroups to be run" do
513
- example_group.unregister
514
- options.example_groups.should_not include(example_group)
515
- end
516
- end
517
-
518
- describe "#registration_backtrace" do
519
- it "returns the backtrace of where the ExampleGroup was registered" do
520
- example_group = Class.new(ExampleGroup)
521
- example_group.registration_backtrace.join("\n").should include("#{__FILE__}:#{__LINE__-1}")
522
- end
523
- end
524
-
525
- describe "#run" do
526
- it "should add_example_group if there are any examples to run" do
527
- example_group = Class.new(ExampleGroup) do
528
- it "should do something" do end
529
- end
530
- reporter.should_receive(:add_example_group)
531
- example_group.run
532
- end
533
-
534
- it "should NOT add_example_group if there are no examples to run" do
535
- example_group = Class.new(ExampleGroup) do end
536
- reporter.should_not_receive(:add_example_group)
537
- example_group.run
538
- end
539
- end
540
-
541
- describe "#matcher_class=" do
542
- it "should call new and matches? on the class used for matching examples" do
543
- example_group = Class.new(ExampleGroup) do
544
- it "should do something" do end
545
- class << self
546
- def specified_examples
547
- ["something"]
548
- end
549
- def to_s
550
- "TestMatcher"
551
- end
552
- end
553
- end
554
-
555
- matcher = mock("matcher")
556
- matcher.should_receive(:matches?).with(["something"]).any_number_of_times
557
-
558
- matcher_class = Class.new
559
- matcher_class.should_receive(:new).with("TestMatcher", "should do something").twice.and_return(matcher)
560
-
561
- begin
562
- ExampleGroupMethods.matcher_class = matcher_class
563
-
564
- example_group.run
565
- ensure
566
- ExampleGroupMethods.matcher_class = ExampleMatcher
567
- end
568
- end
569
- end
570
- end
571
- end
572
- end