has_finder 0.1.1

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 (432) hide show
  1. data/History.txt +4 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +431 -0
  4. data/README.txt +1 -0
  5. data/Rakefile +4 -0
  6. data/config/hoe.rb +70 -0
  7. data/config/requirements.rb +17 -0
  8. data/lib/has_finder.rb +1 -0
  9. data/lib/has_finder/has_finder.rb +84 -0
  10. data/lib/has_finder/metaid.rb +15 -0
  11. data/lib/has_finder/version.rb +9 -0
  12. data/log/debug.log +0 -0
  13. data/nbproject/private/private.xml +4 -0
  14. data/nbproject/private/rake-t.txt +1 -0
  15. data/nbproject/project.properties +4 -0
  16. data/nbproject/project.xml +15 -0
  17. data/script/destroy +14 -0
  18. data/script/generate +14 -0
  19. data/setup.rb +1585 -0
  20. data/spec/rails/README +182 -0
  21. data/spec/rails/Rakefile +10 -0
  22. data/spec/rails/app/controllers/application.rb +7 -0
  23. data/spec/rails/app/helpers/application_helper.rb +3 -0
  24. data/spec/rails/app/models/being.rb +3 -0
  25. data/spec/rails/config/boot.rb +45 -0
  26. data/spec/rails/config/database.yml +36 -0
  27. data/spec/rails/config/environment.rb +62 -0
  28. data/spec/rails/config/environments/development.rb +21 -0
  29. data/spec/rails/config/environments/production.rb +18 -0
  30. data/spec/rails/config/environments/test.rb +19 -0
  31. data/spec/rails/config/routes.rb +23 -0
  32. data/spec/rails/db/migrate/001_create_beings.rb +12 -0
  33. data/spec/rails/db/schema.rb +17 -0
  34. data/spec/rails/doc/README_FOR_APP +2 -0
  35. data/spec/rails/log/development.log +432 -0
  36. data/spec/rails/log/production.log +0 -0
  37. data/spec/rails/log/server.log +0 -0
  38. data/spec/rails/log/test.log +5820 -0
  39. data/spec/rails/nbproject/private/config.properties +0 -0
  40. data/spec/rails/nbproject/private/private.properties +1 -0
  41. data/spec/rails/nbproject/private/rake-t.txt +54 -0
  42. data/spec/rails/nbproject/project.properties +4 -0
  43. data/spec/rails/nbproject/project.xml +9 -0
  44. data/spec/rails/previous_failures.txt +0 -0
  45. data/spec/rails/public/404.html +30 -0
  46. data/spec/rails/public/500.html +30 -0
  47. data/spec/rails/public/dispatch.cgi +10 -0
  48. data/spec/rails/public/dispatch.fcgi +24 -0
  49. data/spec/rails/public/dispatch.rb +10 -0
  50. data/spec/rails/public/favicon.ico +0 -0
  51. data/spec/rails/public/images/rails.png +0 -0
  52. data/spec/rails/public/index.html +277 -0
  53. data/spec/rails/public/javascripts/application.js +2 -0
  54. data/spec/rails/public/javascripts/controls.js +833 -0
  55. data/spec/rails/public/javascripts/dragdrop.js +942 -0
  56. data/spec/rails/public/javascripts/effects.js +1088 -0
  57. data/spec/rails/public/javascripts/prototype.js +2515 -0
  58. data/spec/rails/public/robots.txt +1 -0
  59. data/spec/rails/script/about +3 -0
  60. data/spec/rails/script/breakpointer +3 -0
  61. data/spec/rails/script/console +3 -0
  62. data/spec/rails/script/destroy +3 -0
  63. data/spec/rails/script/generate +3 -0
  64. data/spec/rails/script/performance/benchmarker +3 -0
  65. data/spec/rails/script/performance/profiler +3 -0
  66. data/spec/rails/script/plugin +3 -0
  67. data/spec/rails/script/process/inspector +3 -0
  68. data/spec/rails/script/process/reaper +3 -0
  69. data/spec/rails/script/process/spawner +3 -0
  70. data/spec/rails/script/runner +3 -0
  71. data/spec/rails/script/server +3 -0
  72. data/spec/rails/script/spec +4 -0
  73. data/spec/rails/script/spec_server +45 -0
  74. data/spec/rails/spec/fixtures/beings.yml +12 -0
  75. data/spec/rails/spec/models/being_spec.rb +98 -0
  76. data/spec/rails/spec/spec.opts +6 -0
  77. data/spec/rails/spec/spec_helper.rb +15 -0
  78. data/spec/rails/test/test_helper.rb +28 -0
  79. data/spec/rails/tmp/sessions/ruby_sess.5edc9bf3b65456d0 +0 -0
  80. data/spec/rails/vendor/plugins/rspec/CHANGES +797 -0
  81. data/spec/rails/vendor/plugins/rspec/MIT-LICENSE +20 -0
  82. data/spec/rails/vendor/plugins/rspec/README +70 -0
  83. data/spec/rails/vendor/plugins/rspec/Rakefile +304 -0
  84. data/spec/rails/vendor/plugins/rspec/UPGRADE +31 -0
  85. data/spec/rails/vendor/plugins/rspec/bin/spec +3 -0
  86. data/spec/rails/vendor/plugins/rspec/bin/spec_translator +8 -0
  87. data/spec/rails/vendor/plugins/rspec/examples/auto_spec_description_example.rb +19 -0
  88. data/spec/rails/vendor/plugins/rspec/examples/before_and_after_example.rb +39 -0
  89. data/spec/rails/vendor/plugins/rspec/examples/behave_as_example.rb +45 -0
  90. data/spec/rails/vendor/plugins/rspec/examples/custom_expectation_matchers.rb +54 -0
  91. data/spec/rails/vendor/plugins/rspec/examples/custom_formatter.rb +11 -0
  92. data/spec/rails/vendor/plugins/rspec/examples/dynamic_spec.rb +9 -0
  93. data/spec/rails/vendor/plugins/rspec/examples/file_accessor.rb +18 -0
  94. data/spec/rails/vendor/plugins/rspec/examples/file_accessor_spec.rb +38 -0
  95. data/spec/rails/vendor/plugins/rspec/examples/greeter_spec.rb +30 -0
  96. data/spec/rails/vendor/plugins/rspec/examples/helper_method_example.rb +11 -0
  97. data/spec/rails/vendor/plugins/rspec/examples/io_processor.rb +8 -0
  98. data/spec/rails/vendor/plugins/rspec/examples/io_processor_spec.rb +21 -0
  99. data/spec/rails/vendor/plugins/rspec/examples/legacy_spec.rb +10 -0
  100. data/spec/rails/vendor/plugins/rspec/examples/mocking_example.rb +27 -0
  101. data/spec/rails/vendor/plugins/rspec/examples/multi_threaded_behaviour_runner.rb +25 -0
  102. data/spec/rails/vendor/plugins/rspec/examples/not_yet_implemented_spec.rb +12 -0
  103. data/spec/rails/vendor/plugins/rspec/examples/partial_mock_example.rb +28 -0
  104. data/spec/rails/vendor/plugins/rspec/examples/predicate_example.rb +27 -0
  105. data/spec/rails/vendor/plugins/rspec/examples/priority.txt +1 -0
  106. data/spec/rails/vendor/plugins/rspec/examples/shared_behaviours_example.rb +39 -0
  107. data/spec/rails/vendor/plugins/rspec/examples/spec_helper.rb +1 -0
  108. data/spec/rails/vendor/plugins/rspec/examples/stack.rb +36 -0
  109. data/spec/rails/vendor/plugins/rspec/examples/stack_spec.rb +97 -0
  110. data/spec/rails/vendor/plugins/rspec/examples/stubbing_example.rb +69 -0
  111. data/spec/rails/vendor/plugins/rspec/examples/test_case_adapter_example.rb +26 -0
  112. data/spec/rails/vendor/plugins/rspec/examples/test_case_spec.rb +65 -0
  113. data/spec/rails/vendor/plugins/rspec/failing_examples/diffing_spec.rb +36 -0
  114. data/spec/rails/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +10 -0
  115. data/spec/rails/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +10 -0
  116. data/spec/rails/vendor/plugins/rspec/failing_examples/mocking_example.rb +33 -0
  117. data/spec/rails/vendor/plugins/rspec/failing_examples/mocking_with_flexmock.rb +26 -0
  118. data/spec/rails/vendor/plugins/rspec/failing_examples/mocking_with_mocha.rb +25 -0
  119. data/spec/rails/vendor/plugins/rspec/failing_examples/partial_mock_example.rb +20 -0
  120. data/spec/rails/vendor/plugins/rspec/failing_examples/predicate_example.rb +29 -0
  121. data/spec/rails/vendor/plugins/rspec/failing_examples/raising_example.rb +47 -0
  122. data/spec/rails/vendor/plugins/rspec/failing_examples/spec_helper.rb +1 -0
  123. data/spec/rails/vendor/plugins/rspec/failing_examples/syntax_error_example.rb +7 -0
  124. data/spec/rails/vendor/plugins/rspec/failing_examples/team_spec.rb +46 -0
  125. data/spec/rails/vendor/plugins/rspec/failing_examples/timeout_behaviour.rb +7 -0
  126. data/spec/rails/vendor/plugins/rspec/init.rb +3 -0
  127. data/spec/rails/vendor/plugins/rspec/lib/autotest/discover.rb +3 -0
  128. data/spec/rails/vendor/plugins/rspec/lib/autotest/rspec.rb +67 -0
  129. data/spec/rails/vendor/plugins/rspec/lib/spec.rb +13 -0
  130. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl.rb +10 -0
  131. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour.rb +210 -0
  132. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour_callbacks.rb +78 -0
  133. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour_eval.rb +220 -0
  134. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/behaviour_factory.rb +42 -0
  135. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/composite_proc_builder.rb +28 -0
  136. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/configuration.rb +119 -0
  137. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/description.rb +69 -0
  138. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/example.rb +127 -0
  139. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/example_matcher.rb +40 -0
  140. data/spec/rails/vendor/plugins/rspec/lib/spec/dsl/example_should_raise_handler.rb +74 -0
  141. data/spec/rails/vendor/plugins/rspec/lib/spec/expectations.rb +56 -0
  142. data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +61 -0
  143. data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/errors.rb +6 -0
  144. data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/extensions.rb +2 -0
  145. data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +66 -0
  146. data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
  147. data/spec/rails/vendor/plugins/rspec/lib/spec/expectations/handler.rb +43 -0
  148. data/spec/rails/vendor/plugins/rspec/lib/spec/extensions.rb +1 -0
  149. data/spec/rails/vendor/plugins/rspec/lib/spec/extensions/object.rb +6 -0
  150. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers.rb +166 -0
  151. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/be.rb +206 -0
  152. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +37 -0
  153. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/change.rb +120 -0
  154. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/eql.rb +43 -0
  155. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/equal.rb +43 -0
  156. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/has.rb +44 -0
  157. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/have.rb +145 -0
  158. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/include.rb +70 -0
  159. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/match.rb +41 -0
  160. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +72 -0
  161. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +100 -0
  162. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +45 -0
  163. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +47 -0
  164. data/spec/rails/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +72 -0
  165. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks.rb +208 -0
  166. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +27 -0
  167. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +183 -0
  168. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +84 -0
  169. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/errors.rb +10 -0
  170. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  171. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +231 -0
  172. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/methods.rb +35 -0
  173. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/mock.rb +29 -0
  174. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/order_group.rb +29 -0
  175. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +163 -0
  176. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/space.rb +28 -0
  177. data/spec/rails/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +30 -0
  178. data/spec/rails/vendor/plugins/rspec/lib/spec/rake/spectask.rb +175 -0
  179. data/spec/rails/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  180. data/spec/rails/vendor/plugins/rspec/lib/spec/runner.rb +165 -0
  181. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +56 -0
  182. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb +102 -0
  183. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/command_line.rb +22 -0
  184. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +21 -0
  185. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/extensions/kernel.rb +50 -0
  186. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/extensions/object.rb +32 -0
  187. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter.rb +9 -0
  188. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +68 -0
  189. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +102 -0
  190. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/failing_behaviours_formatter.rb +25 -0
  191. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +22 -0
  192. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +316 -0
  193. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +30 -0
  194. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/rdoc_formatter.rb +24 -0
  195. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  196. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +28 -0
  197. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  198. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  199. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +226 -0
  200. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/options.rb +158 -0
  201. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/reporter.rb +114 -0
  202. data/spec/rails/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +50 -0
  203. data/spec/rails/vendor/plugins/rspec/lib/spec/test_case_adapter.rb +10 -0
  204. data/spec/rails/vendor/plugins/rspec/lib/spec/translator.rb +106 -0
  205. data/spec/rails/vendor/plugins/rspec/lib/spec/version.rb +22 -0
  206. data/spec/rails/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +27 -0
  207. data/spec/rails/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +21 -0
  208. data/spec/rails/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +18 -0
  209. data/spec/rails/vendor/plugins/rspec/rake_tasks/examples.rake +7 -0
  210. data/spec/rails/vendor/plugins/rspec/rake_tasks/examples_specdoc.rake +9 -0
  211. data/spec/rails/vendor/plugins/rspec/rake_tasks/examples_with_rcov.rake +9 -0
  212. data/spec/rails/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +9 -0
  213. data/spec/rails/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +7 -0
  214. data/spec/rails/vendor/plugins/rspec/spec.opts +13 -0
  215. data/spec/rails/vendor/plugins/rspec/spec/README.jruby +14 -0
  216. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/behaviour_eval_spec.rb +49 -0
  217. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/behaviour_factory_spec.rb +30 -0
  218. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/behaviour_spec.rb +624 -0
  219. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/composite_proc_builder_spec.rb +57 -0
  220. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/configuration_spec.rb +50 -0
  221. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/description_spec.rb +81 -0
  222. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/example_class_spec.rb +24 -0
  223. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/example_instance_spec.rb +162 -0
  224. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/example_should_raise_spec.rb +137 -0
  225. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/predicate_matcher_spec.rb +21 -0
  226. data/spec/rails/vendor/plugins/rspec/spec/spec/dsl/shared_behaviour_spec.rb +228 -0
  227. data/spec/rails/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +107 -0
  228. data/spec/rails/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +46 -0
  229. data/spec/rails/vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb +71 -0
  230. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +39 -0
  231. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +209 -0
  232. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +232 -0
  233. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +159 -0
  234. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +28 -0
  235. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +28 -0
  236. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb +48 -0
  237. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +88 -0
  238. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +37 -0
  239. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +272 -0
  240. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +45 -0
  241. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/match_spec.rb +37 -0
  242. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +78 -0
  243. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
  244. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +158 -0
  245. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +147 -0
  246. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +54 -0
  247. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  248. data/spec/rails/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +51 -0
  249. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +29 -0
  250. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb +19 -0
  251. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  252. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  253. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  254. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  255. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  256. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  257. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  258. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +114 -0
  259. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +84 -0
  260. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  261. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +377 -0
  262. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  263. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +40 -0
  264. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  265. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +33 -0
  266. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +52 -0
  267. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  268. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +148 -0
  269. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  270. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  271. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +159 -0
  272. data/spec/rails/vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  273. data/spec/rails/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +12 -0
  274. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/behaviour_runner_spec.rb +206 -0
  275. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +33 -0
  276. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/context_matching_spec.rb +27 -0
  277. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +81 -0
  278. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/empty_file.txt +0 -0
  279. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/example_matcher_spec.rb +127 -0
  280. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/examples.txt +2 -0
  281. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +31 -0
  282. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/extensions/kernel_spec.rb +36 -0
  283. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/failed.txt +3 -0
  284. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +27 -0
  285. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +28 -0
  286. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +333 -0
  287. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +344 -0
  288. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +338 -0
  289. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +338 -0
  290. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +56 -0
  291. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +21 -0
  292. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +36 -0
  293. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +78 -0
  294. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +19 -0
  295. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_spec.rb +46 -0
  296. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +11 -0
  297. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +21 -0
  298. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +56 -0
  299. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +63 -0
  300. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +14 -0
  301. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
  302. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/object_ext_spec.rb +11 -0
  303. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +348 -0
  304. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +142 -0
  305. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +56 -0
  306. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +153 -0
  307. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/spec.opts +2 -0
  308. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +93 -0
  309. data/spec/rails/vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  310. data/spec/rails/vendor/plugins/rspec/spec/spec/spec_classes.rb +111 -0
  311. data/spec/rails/vendor/plugins/rspec/spec/spec/translator_spec.rb +216 -0
  312. data/spec/rails/vendor/plugins/rspec/spec/spec_helper.rb +43 -0
  313. data/spec/rails/vendor/plugins/rspec_on_rails/MIT-LICENSE +31 -0
  314. data/spec/rails/vendor/plugins/rspec_on_rails/README +1 -0
  315. data/spec/rails/vendor/plugins/rspec_on_rails/Rakefile +9 -0
  316. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/CHANGES +1 -0
  317. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/rspec_generator.rb +31 -0
  318. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt +0 -0
  319. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec +4 -0
  320. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +45 -0
  321. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +6 -0
  322. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +26 -0
  323. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/USAGE +33 -0
  324. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/rspec_controller_generator.rb +42 -0
  325. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +23 -0
  326. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
  327. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +12 -0
  328. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_model/USAGE +18 -0
  329. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_model/rspec_model_generator.rb +30 -0
  330. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +11 -0
  331. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +161 -0
  332. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +303 -0
  333. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +25 -0
  334. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +4 -0
  335. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +22 -0
  336. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +26 -0
  337. data/spec/rails/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +22 -0
  338. data/spec/rails/vendor/plugins/rspec_on_rails/init.rb +9 -0
  339. data/spec/rails/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +81 -0
  340. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/dsl.rb +2 -0
  341. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/dsl/configuration.rb +23 -0
  342. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/matchers.rb +3 -0
  343. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/matchers/have.rb +12 -0
  344. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +57 -0
  345. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl.rb +40 -0
  346. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/assigns_hash_proxy.rb +42 -0
  347. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour.rb +8 -0
  348. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/base.rb +82 -0
  349. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/controller.rb +246 -0
  350. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/functional.rb +90 -0
  351. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/helper.rb +100 -0
  352. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/model.rb +21 -0
  353. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/view.rb +185 -0
  354. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/ivar_proxy.rb +62 -0
  355. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb +7 -0
  356. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +11 -0
  357. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb +10 -0
  358. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb +5 -0
  359. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb +26 -0
  360. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb +29 -0
  361. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb +5 -0
  362. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +29 -0
  363. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +131 -0
  364. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +55 -0
  365. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +106 -0
  366. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +63 -0
  367. data/spec/rails/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +26 -0
  368. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/assigns_hash_proxy_spec.rb +55 -0
  369. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/behaviour_factory_spec.rb +53 -0
  370. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_isolation_spec.rb +43 -0
  371. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_spec_spec.rb +124 -0
  372. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/helper_spec_spec.rb +62 -0
  373. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/ivar_proxy_spec.rb +64 -0
  374. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/model_spec_spec.rb +14 -0
  375. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/shared_behaviour_spec.rb +16 -0
  376. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/test_unit_assertion_accessibility_spec.rb +28 -0
  377. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/dsl/view_spec_spec.rb +165 -0
  378. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +17 -0
  379. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +718 -0
  380. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +42 -0
  381. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +183 -0
  382. data/spec/rails/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +112 -0
  383. data/spec/rails/vendor/plugins/rspec_on_rails/spec/spec_helper.rb +40 -0
  384. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +36 -0
  385. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +59 -0
  386. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +18 -0
  387. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +58 -0
  388. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +10 -0
  389. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/more_explicit_helper.rb +5 -0
  390. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/plugin_application_helper.rb +6 -0
  391. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/helpers/view_spec_helper.rb +13 -0
  392. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_a_partial.rhtml +0 -0
  393. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +1 -0
  394. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +1 -0
  395. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
  396. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +1 -0
  397. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_template.rhtml +1 -0
  398. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
  399. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.js.rjs +1 -0
  400. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
  401. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rjs +1 -0
  402. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +1 -0
  403. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_div.rjs +1 -0
  404. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_page_element.rjs +1 -0
  405. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/insert_html.rjs +1 -0
  406. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace.rjs +1 -0
  407. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html.rjs +1 -0
  408. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +1 -0
  409. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_effect.rjs +1 -0
  410. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +1 -0
  411. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/no_tags.rhtml +1 -0
  412. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +1 -0
  413. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +1 -0
  414. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_included_partial.rhtml +2 -0
  415. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_included_partial_collection_with_spacer_template.rhtml +1 -0
  416. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +1 -0
  417. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_spacer.rhtml +1 -0
  418. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +3 -0
  419. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/entry_form.rhtml +2 -0
  420. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/explicit_helper.rhtml +2 -0
  421. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/multiple_helpers.rhtml +3 -0
  422. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/partial_collection_including_template.rhtml +2 -0
  423. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/partial_including_template.rhtml +2 -0
  424. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/partial_with_array.rhtml +1 -0
  425. data/spec/rails/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/show.rhtml +2 -0
  426. data/spec/rails/vendor/plugins/rspec_on_rails/tasks/rspec.rake +90 -0
  427. data/tasks/deployment.rake +27 -0
  428. data/tasks/environment.rake +7 -0
  429. data/tasks/website.rake +9 -0
  430. data/test/test_has_finder.rb +11 -0
  431. data/test/test_helper.rb +2 -0
  432. metadata +490 -0
@@ -0,0 +1,78 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "ProgressBarFormatter" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @formatter = ProgressBarFormatter.new(@io)
10
+ end
11
+
12
+ it "should produce line break on start dump" do
13
+ @formatter.start_dump
14
+ @io.string.should eql("\n")
15
+ end
16
+
17
+ it "should produce standard summary without not implemented when not implemented has a 0 count" do
18
+ @formatter.dump_summary(3, 2, 1, 0)
19
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
20
+ end
21
+
22
+ it "should produce standard summary" do
23
+ @formatter.dump_summary(3, 2, 1, 4)
24
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure, 4 not implemented\n")
25
+ end
26
+
27
+ it "should push F for failing spec" do
28
+ @formatter.example_failed("spec", 98, Reporter::Failure.new("c s", RuntimeError.new))
29
+ @io.string.should eql("F")
30
+ end
31
+
32
+ it "should push dot for passing spec" do
33
+ @formatter.example_passed("spec")
34
+ @io.string.should eql(".")
35
+ end
36
+
37
+ it "should push nothing on start" do
38
+ @formatter.start(4)
39
+ @io.string.should eql("")
40
+ end
41
+
42
+ it "should ensure two ':' in the first backtrace" do
43
+ backtrace = ["/tmp/x.rb:1", "/tmp/x.rb:2", "/tmp/x.rb:3"]
44
+ @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip)
45
+ /tmp/x.rb:1:
46
+ /tmp/x.rb:2:
47
+ /tmp/x.rb:3:
48
+ EOE
49
+
50
+ backtrace = ["/tmp/x.rb:1: message", "/tmp/x.rb:2", "/tmp/x.rb:3"]
51
+ @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip)
52
+ /tmp/x.rb:1: message
53
+ /tmp/x.rb:2:
54
+ /tmp/x.rb:3:
55
+ EOE
56
+ end
57
+ end
58
+
59
+ describe "ProgressBarFormatter outputting to custom out" do
60
+ before(:each) do
61
+ @out = mock("out")
62
+ @out.stub!(:puts)
63
+ @formatter = ProgressBarFormatter.new(@out)
64
+ @formatter.class.send :public, :output_to_tty?
65
+ end
66
+
67
+ after(:each) do
68
+ @formatter.class.send :protected, :output_to_tty?
69
+ end
70
+
71
+ it "should not throw NoMethodError on output_to_tty?" do
72
+ @out.should_receive(:tty?).and_raise(NoMethodError)
73
+ @formatter.output_to_tty?.should be_false
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,19 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "RdocFormatterDryRun" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @formatter = RdocFormatter.new(@io)
10
+ @formatter.dry_run = true
11
+ end
12
+ it "should not produce summary on dry run" do
13
+ @formatter.dump_summary(3, 2, 1, 0)
14
+ @io.string.should == ""
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,46 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "RdocFormatter" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @formatter = RdocFormatter.new(@io)
10
+ @formatter.dry_run = true
11
+ end
12
+ it "should produce no summary" do
13
+ @formatter.dump_summary(nil, nil, nil, nil)
14
+ @io.string.should be_empty
15
+
16
+ end
17
+ it "should produce nothing on start dump" do
18
+ @formatter.start_dump
19
+ @io.string.should be_empty
20
+
21
+ end
22
+ it "should push out context" do
23
+ @formatter.add_behaviour("context")
24
+ @io.string.should eql("# context\n")
25
+
26
+ end
27
+ it "should push out failed spec" do
28
+ @formatter.example_failed("spec", 98, nil)
29
+ @io.string.should eql("# * spec [98 - FAILED]\n")
30
+
31
+ end
32
+ it "should push out spec" do
33
+ @formatter.example_passed("spec")
34
+ @io.string.should eql("# * spec\n")
35
+
36
+ end
37
+
38
+ it "should push out not implemented spec" do
39
+ @formatter.example_not_implemented("spec")
40
+ @io.string.should eql("# * spec [NOT IMPLEMENTED]\n")
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ describe Spec::Runner::Formatter::SnippetExtractor do
4
+ it "should fall back on a default message when it doesn't understand a line" do
5
+ Spec::Runner::Formatter::SnippetExtractor.new.snippet_for("blech").should == ["# Couldn't get snippet for blech", 1]
6
+ end
7
+
8
+ it "should fall back on a default message when it doesn't find the file" do
9
+ Spec::Runner::Formatter::SnippetExtractor.new.lines_around("blech", 8).should == "# Couldn't get snippet for blech"
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "SpecdocFormatterDryRun" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @formatter = SpecdocFormatter.new(@io)
10
+ @formatter.dry_run = true
11
+ end
12
+ it "should not produce summary on dry run" do
13
+ @formatter.dump_summary(3, 2, 1, 0)
14
+ @io.string.should eql("")
15
+
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,56 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "SpecdocFormatter" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @formatter = SpecdocFormatter.new(@io)
10
+ end
11
+
12
+ it "should produce standard summary without not implemented when not implemented has a 0 count" do
13
+ @formatter.dump_summary(3, 2, 1, 0)
14
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
15
+ end
16
+
17
+ it "should produce standard summary" do
18
+ @formatter.dump_summary(3, 2, 1, 4)
19
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure, 4 not implemented\n")
20
+ end
21
+
22
+ it "should push context name" do
23
+ @formatter.add_behaviour("context")
24
+ @io.string.should eql("\ncontext\n")
25
+
26
+ end
27
+ it "should push failing spec name and failure number" do
28
+ @formatter.example_failed("spec", 98, Reporter::Failure.new("c s", RuntimeError.new))
29
+ @io.string.should eql("- spec (ERROR - 98)\n")
30
+
31
+ end
32
+ it "should push nothing on start" do
33
+ @formatter.start(5)
34
+ @io.string.should eql("")
35
+
36
+ end
37
+ it "should push nothing on start dump" do
38
+ @formatter.start_dump
39
+ @io.string.should eql("")
40
+
41
+ end
42
+ it "should push passing spec name" do
43
+ @formatter.example_passed("spec")
44
+ @io.string.should eql("- spec\n")
45
+
46
+ end
47
+
48
+ it "should push not implemented spec name" do
49
+ @formatter.example_not_implemented('spec')
50
+ @io.string.should eql("- spec (NOT IMPLEMENTED)\n")
51
+ end
52
+
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,63 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+ unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
3
+ require 'spec/runner/heckle_runner'
4
+
5
+ module Foo
6
+ class Bar
7
+ def one; end
8
+ def two; end
9
+ end
10
+
11
+ class Zap
12
+ def three; end
13
+ def four; end
14
+ end
15
+ end
16
+
17
+ describe "HeckleRunner" do
18
+ before(:each) do
19
+ @heckle = mock("heckle", :null_object => true)
20
+ @behaviour_runner = mock("behaviour_runner")
21
+ @heckle_class = mock("heckle_class")
22
+ end
23
+
24
+ it "should heckle all methods in all classes in a module" do
25
+ @heckle_class.should_receive(:new).with("Foo::Bar", "one", behaviour_runner).and_return(@heckle)
26
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
27
+ @heckle_class.should_receive(:new).with("Foo::Zap", "three", behaviour_runner).and_return(@heckle)
28
+ @heckle_class.should_receive(:new).with("Foo::Zap", "four", behaviour_runner).and_return(@heckle)
29
+
30
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo", @heckle_class)
31
+ heckle_runner.heckle_with(behaviour_runner)
32
+ end
33
+
34
+ it "should heckle all methods in a class" do
35
+ @heckle_class.should_receive(:new).with("Foo::Bar", "one", behaviour_runner).and_return(@heckle)
36
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
37
+
38
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar", @heckle_class)
39
+ heckle_runner.heckle_with(behaviour_runner)
40
+ end
41
+
42
+ it "should fail heckling when the class is not found" do
43
+ lambda do
44
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bob", @heckle_class)
45
+ heckle_runner.heckle_with(behaviour_runner)
46
+ end.should raise_error(StandardError, "Heckling failed - \"Foo::Bob\" is not a known class or module")
47
+ end
48
+
49
+ it "should heckle specific method in a class (with #)" do
50
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
51
+
52
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar#two", @heckle_class)
53
+ heckle_runner.heckle_with(behaviour_runner)
54
+ end
55
+
56
+ it "should heckle specific method in a class (with .)" do
57
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", behaviour_runner).and_return(@heckle)
58
+
59
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar.two", @heckle_class)
60
+ heckle_runner.heckle_with(behaviour_runner)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+ unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
3
+ require 'spec/runner/heckle_runner'
4
+
5
+ describe "Heckler" do
6
+ it "should run behaviour_runner on tests_pass?" do
7
+ behaviour_runner = mock("behaviour_runner")
8
+ behaviour_runner.should_receive(:run).with([], false)
9
+ heckler = Spec::Runner::Heckler.new('Array', 'push', behaviour_runner)
10
+
11
+ heckler.tests_pass?
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,45 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ describe "NoisyBacktraceTweaker" do
6
+ before(:each) do
7
+ @error = RuntimeError.new
8
+ @tweaker = NoisyBacktraceTweaker.new
9
+ end
10
+
11
+ it "should leave anything in lib spec dir" do
12
+ ["expectations", "mocks", "runner", "stubs"].each do |child|
13
+ @error.set_backtrace(["/lib/spec/#{child}/anything.rb"])
14
+ @tweaker.tweak_backtrace(@error, "spec name")
15
+ @error.backtrace.should_not be_empty
16
+ end
17
+ end
18
+
19
+ it "should leave anything in spec dir" do
20
+ @error.set_backtrace(["/lib/spec/expectations/anything.rb"])
21
+ @tweaker.tweak_backtrace(@error, "spec name")
22
+ @error.backtrace.should_not be_empty
23
+ end
24
+
25
+ it "should leave bin spec" do
26
+ @error.set_backtrace(["bin/spec:"])
27
+ @tweaker.tweak_backtrace(@error, "spec name")
28
+ @error.backtrace.should_not be_empty
29
+ end
30
+
31
+ it "should not barf on nil backtrace" do
32
+ lambda do
33
+ @tweaker.tweak_backtrace(@error, "spec name")
34
+ end.should_not raise_error
35
+ end
36
+
37
+ it "should clean up double slashes" do
38
+ @error.set_backtrace(["/a//b/c//d.rb"])
39
+ @tweaker.tweak_backtrace(@error, "spec name")
40
+ @error.backtrace.should include("/a/b/c/d.rb")
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ describe "ObjectExt" do
6
+ it "should add copy_instance_variables_from to object" do
7
+ Object.new.should respond_to(:copy_instance_variables_from)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,348 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ describe "OptionParser" do
4
+ before(:each) do
5
+ @out = StringIO.new
6
+ @err = StringIO.new
7
+ @parser = Spec::Runner::OptionParser.new
8
+ end
9
+
10
+ def parse(args)
11
+ @parser.parse(args, @err, @out, true)
12
+ end
13
+
14
+ def behaviour_runner(args)
15
+ @parser.create_behaviour_runner(args, @err, @out, true)
16
+ end
17
+
18
+ it "should accept dry run option" do
19
+ options = parse(["--dry-run"])
20
+ options.dry_run.should be_true
21
+ end
22
+
23
+ it "should eval and use custom formatter when none of the builtins" do
24
+ options = parse(["--format", "Custom::Formatter"])
25
+ options.formatters[0].class.should be(Custom::Formatter)
26
+ end
27
+
28
+ it "should support formatters with relative and absolute paths, even on windows" do
29
+ options = parse([
30
+ "--format", "Custom::Formatter:C:\\foo\\bar",
31
+ "--format", "Custom::Formatter:foo/bar",
32
+ "--format", "Custom::Formatter:foo\\bar",
33
+ "--format", "Custom::Formatter:/foo/bar"
34
+ ])
35
+ options.formatters[0].where.should eql("C:\\foo\\bar")
36
+ options.formatters[1].where.should eql("foo/bar")
37
+ options.formatters[2].where.should eql("foo\\bar")
38
+ options.formatters[3].where.should eql("/foo/bar")
39
+ end
40
+
41
+ it "should not be verbose by default" do
42
+ options = parse([])
43
+ options.verbose.should be_nil
44
+ end
45
+
46
+ it "should not use colour by default" do
47
+ options = parse([])
48
+ options.colour.should == false
49
+ end
50
+
51
+ it "should print help to stdout" do
52
+ options = parse(["--help"])
53
+ @out.rewind
54
+ @out.read.should match(/Usage: spec \(FILE\|DIRECTORY\|GLOB\)\+ \[options\]/m)
55
+ end
56
+
57
+ it "should print instructions about how to fix bad formatter" do
58
+ options = parse(["--format", "Custom::BadFormatter"])
59
+ @err.string.should match(/Couldn't find formatter class Custom::BadFormatter/n)
60
+ end
61
+
62
+ it "should print usage to err if no dir specified" do
63
+ options = parse([])
64
+ @err.string.should match(/Usage: spec/)
65
+ end
66
+
67
+ it "should print version to stdout" do
68
+ options = parse(["--version"])
69
+ @out.rewind
70
+ @out.read.should match(/RSpec-\d+\.\d+\.\d+.*\(r\d+\) - BDD for Ruby\nhttp:\/\/rspec.rubyforge.org\/\n/n)
71
+ end
72
+
73
+ it "should require file when require specified" do
74
+ lambda do
75
+ parse(["--require", "whatever"])
76
+ end.should raise_error(LoadError)
77
+ end
78
+
79
+ it "should support c option" do
80
+ options = parse(["-c"])
81
+ options.colour.should be_true
82
+ end
83
+
84
+ it "should support queens colour option" do
85
+ options = parse(["--colour"])
86
+ options.colour.should be_true
87
+ end
88
+
89
+ it "should support us color option" do
90
+ options = parse(["--color"])
91
+ options.colour.should be_true
92
+ end
93
+
94
+ it "should support single example with -e option" do
95
+ options = parse(["-e", "something or other"])
96
+ options.examples.should eql(["something or other"])
97
+ end
98
+
99
+ it "should support single example with -s option (will be removed when autotest supports -e)" do
100
+ options = parse(["-s", "something or other"])
101
+ options.examples.should eql(["something or other"])
102
+ end
103
+
104
+ it "should support single example with --example option" do
105
+ options = parse(["--example", "something or other"])
106
+ options.examples.should eql(["something or other"])
107
+ end
108
+
109
+ it "should read several example names from file if --example is given an existing file name" do
110
+ options = parse(["--example", File.dirname(__FILE__) + '/examples.txt'])
111
+ options.examples.should eql([
112
+ "Sir, if you were my husband, I would poison your drink.",
113
+ "Madam, if you were my wife, I would drink it."])
114
+ end
115
+
116
+ it "should read no examples if given an empty file" do
117
+ options = parse(["--example", File.dirname(__FILE__) + '/empty_file.txt'])
118
+ options.examples.should eql([])
119
+ end
120
+
121
+ it "should use html formatter when format is h" do
122
+ options = parse(["--format", "h"])
123
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
124
+ end
125
+
126
+ it "should use html formatter when format is html" do
127
+ options = parse(["--format", "html"])
128
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
129
+ end
130
+
131
+ it "should use html formatter with explicit output when format is html:test.html" do
132
+ FileUtils.rm 'test.html' if File.exist?('test.html')
133
+ options = parse(["--format", "html:test.html"])
134
+ File.should be_exist('test.html')
135
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
136
+ FileUtils.rm 'test.html' #rescue nil # Help windows
137
+ end
138
+
139
+ it "should use noisy backtrace tweaker with b option" do
140
+ options = parse(["-b"])
141
+ options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
142
+ end
143
+
144
+ it "should use noisy backtrace tweaker with backtrace option" do
145
+ options = parse(["--backtrace"])
146
+ options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
147
+ end
148
+
149
+ it "should use quiet backtrace tweaker by default" do
150
+ options = parse([])
151
+ options.backtrace_tweaker.should be_instance_of(Spec::Runner::QuietBacktraceTweaker)
152
+ end
153
+
154
+ it "should use progress bar formatter by default" do
155
+ options = parse([])
156
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter)
157
+ end
158
+
159
+ it "should use rdoc formatter when format is r" do
160
+ options = parse(["--format", "r"])
161
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::RdocFormatter)
162
+ end
163
+
164
+ it "should use rdoc formatter when format is rdoc" do
165
+ options = parse(["--format", "rdoc"])
166
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::RdocFormatter)
167
+ end
168
+
169
+ it "should use specdoc formatter when format is s" do
170
+ options = parse(["--format", "s"])
171
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
172
+ end
173
+
174
+ it "should use specdoc formatter when format is specdoc" do
175
+ options = parse(["--format", "specdoc"])
176
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
177
+ end
178
+
179
+ it "should support diff option when format is not specified" do
180
+ options = parse(["--diff"])
181
+ options.diff_format.should == :unified
182
+ end
183
+
184
+ it "should use unified diff format option when format is unified" do
185
+ options = parse(["--diff", "unified"])
186
+ options.diff_format.should == :unified
187
+ options.differ_class.should equal(Spec::Expectations::Differs::Default)
188
+ end
189
+
190
+ it "should use context diff format option when format is context" do
191
+ options = parse(["--diff", "context"])
192
+ options.diff_format.should == :context
193
+ options.differ_class.should == Spec::Expectations::Differs::Default
194
+ end
195
+
196
+ it "should use custom diff format option when format is a custom format" do
197
+ options = parse(["--diff", "Custom::Formatter"])
198
+ options.diff_format.should == :custom
199
+ options.differ_class.should == Custom::Formatter
200
+ end
201
+
202
+ it "should print instructions about how to fix bad differ" do
203
+ options = parse(["--diff", "Custom::BadFormatter"])
204
+ @err.string.should match(/Couldn't find differ class Custom::BadFormatter/n)
205
+ end
206
+
207
+ it "should support --line to identify spec" do
208
+ spec_parser = mock("spec_parser")
209
+ @parser.instance_variable_set('@spec_parser', spec_parser)
210
+
211
+ file_factory = mock("File")
212
+ file_factory.should_receive(:file?).and_return(true)
213
+ file_factory.should_receive(:open).and_return("fake_io")
214
+ @parser.instance_variable_set('@file_factory', file_factory)
215
+
216
+ spec_parser.should_receive(:spec_name_for).with("fake_io", 169).and_return("some spec")
217
+
218
+ options = parse(["some file", "--line", "169"])
219
+ options.examples.should eql(["some spec"])
220
+ File.rspec_verify
221
+ end
222
+
223
+ it "should fail with error message if file is dir along with --line" do
224
+ spec_parser = mock("spec_parser")
225
+ @parser.instance_variable_set('@spec_parser', spec_parser)
226
+
227
+ file_factory = mock("File")
228
+ file_factory.should_receive(:file?).and_return(false)
229
+ file_factory.should_receive(:directory?).and_return(true)
230
+ @parser.instance_variable_set('@file_factory', file_factory)
231
+
232
+ options = parse(["some file", "--line", "169"])
233
+ @err.string.should match(/You must specify one file, not a directory when using the --line option/n)
234
+ end
235
+
236
+ it "should fail with error message if file is dir along with --line" do
237
+ spec_parser = mock("spec_parser")
238
+ @parser.instance_variable_set('@spec_parser', spec_parser)
239
+
240
+ file_factory = mock("File")
241
+ file_factory.should_receive(:file?).and_return(false)
242
+ file_factory.should_receive(:directory?).and_return(false)
243
+ @parser.instance_variable_set('@file_factory', file_factory)
244
+
245
+ options = parse(["some file", "--line", "169"])
246
+ @err.string.should match(/some file does not exist/n)
247
+ end
248
+
249
+ it "should fail with error message if more than one files are specified along with --line" do
250
+ spec_parser = mock("spec_parser")
251
+ @parser.instance_variable_set('@spec_parser', spec_parser)
252
+
253
+ options = parse(["some file", "some other file", "--line", "169"])
254
+ @err.string.should match(/Only one file can be specified when using the --line option/n)
255
+ end
256
+
257
+ it "should fail with error message if --example and --line are used simultaneously" do
258
+ spec_parser = mock("spec_parser")
259
+ @parser.instance_variable_set('@spec_parser', spec_parser)
260
+
261
+ options = parse(["some file", "--example", "some example", "--line", "169"])
262
+ @err.string.should match(/You cannot use both --line and --example/n)
263
+ end
264
+
265
+ if [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
266
+ it "should barf when --heckle is specified (and platform is windows)" do
267
+ lambda do
268
+ options = parse(["--heckle", "Spec"])
269
+ end.should raise_error(StandardError, "Heckle not supported on Windows")
270
+ end
271
+ else
272
+ it "should heckle when --heckle is specified (and platform is not windows)" do
273
+ options = parse(["--heckle", "Spec"])
274
+ options.heckle_runner.should be_instance_of(Spec::Runner::HeckleRunner)
275
+ end
276
+ end
277
+
278
+ it "should read options from file when --options is specified" do
279
+ Spec::Runner::CommandLine.should_receive(:run).with(["--diff", "--colour"], @err, @out, true, true)
280
+ options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
281
+ end
282
+
283
+ it "should append options from file when --options is specified" do
284
+ Spec::Runner::CommandLine.should_receive(:run).with(["some/spec.rb", "--diff", "--colour"], @err, @out, true, true)
285
+ options = parse(["some/spec.rb", "--options", File.dirname(__FILE__) + "/spec.opts"])
286
+ end
287
+
288
+ it "should read spaced and multi-line options from file when --options is specified" do
289
+ Spec::Runner::CommandLine.should_receive(:run).with(["--diff", "--colour", "--format", "s"], @err, @out, true, true)
290
+ options = parse(["--options", File.dirname(__FILE__) + "/spec_spaced.opts"])
291
+ end
292
+
293
+ it "should save config to file when --generate-options is specified" do
294
+ FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
295
+ options = parse(["--colour", "--generate-options", "test.spec.opts", "--diff"])
296
+ File.open('test.spec.opts').read.should == "--colour\n--diff\n"
297
+ FileUtils.rm 'test.spec.opts' #rescue nil # Help windows
298
+ end
299
+
300
+ it "should call DrbCommandLine when --drb is specified" do
301
+ Spec::Runner::DrbCommandLine.should_receive(:run).with(["some/spec.rb", "--diff", "--colour"], @err, @out, true, true)
302
+ options = parse(["some/spec.rb", "--diff", "--drb", "--colour"])
303
+ end
304
+
305
+ it "should not return an Options object when --drb is specified" do
306
+ Spec::Runner::DrbCommandLine.stub!(:run)
307
+ parse(["some/spec.rb", "--drb"]).should be_nil
308
+ end
309
+
310
+ it "should reverse spec order when --reverse is specified" do
311
+ options = parse(["some/spec.rb", "--reverse"])
312
+ end
313
+
314
+ it "should set an mtime comparator when --loadby mtime" do
315
+ behaviour_runner = behaviour_runner(["--loadby", 'mtime'])
316
+ Dir.chdir(File.dirname(__FILE__)) do
317
+ FileUtils.touch "most_recent_spec.rb"
318
+ all_files = ['command_line_spec.rb', 'most_recent_spec.rb']
319
+ sorted_files = behaviour_runner.sort_paths(all_files)
320
+ sorted_files.should == ["most_recent_spec.rb", "command_line_spec.rb"]
321
+ FileUtils.rm "most_recent_spec.rb"
322
+ end
323
+ end
324
+
325
+ it "should not use a runner by default" do
326
+ options = parse([])
327
+ options.runner_type.should be_nil
328
+ end
329
+
330
+ it "should use a custom runner when given" do
331
+ options = parse(["--runner", "Custom::BehaviourRunner"])
332
+ options.runner_type.should equal(Custom::BehaviourRunner)
333
+ end
334
+
335
+ it "should fail when custom runner not found" do
336
+ parse(["--runner", "whatever"])
337
+ @err.string.should match(/Couldn't find behaviour runner class/)
338
+ end
339
+
340
+ it "should return the correct default behaviour runner" do
341
+ @parser.create_behaviour_runner([], @err, @out, true).should be_instance_of(Spec::Runner::BehaviourRunner)
342
+ end
343
+
344
+ it "should return the correct default behaviour runner" do
345
+ @parser.create_behaviour_runner(["--runner", "Custom::BehaviourRunner"], @err, @out, true).should be_instance_of(Custom::BehaviourRunner)
346
+ end
347
+
348
+ end