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,33 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ describe "CommandLine" do
4
+ it "should run directory" do
5
+ file = File.dirname(__FILE__) + '/../../../examples'
6
+ err = StringIO.new
7
+ out = StringIO.new
8
+ Spec::Runner::CommandLine.run([file], err, out, false, true)
9
+
10
+ out.rewind
11
+ out.read.should =~ /77 examples, 0 failures/n
12
+ end
13
+
14
+ it "should run file" do
15
+ file = File.dirname(__FILE__) + '/../../../failing_examples/predicate_example.rb'
16
+ err = StringIO.new
17
+ out = StringIO.new
18
+ Spec::Runner::CommandLine.run([file], err, out, false, true)
19
+
20
+ out.rewind
21
+ out.read.should =~ /2 examples, 1 failure/n
22
+ end
23
+
24
+ it "should raise when file does not exist" do
25
+ file = File.dirname(__FILE__) + '/doesntexist'
26
+ err = StringIO.new
27
+ out = StringIO.new
28
+
29
+ lambda {
30
+ Spec::Runner::CommandLine.run([file], err, out, false, true)
31
+ }.should raise_error
32
+ end
33
+ end
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module DSL
5
+ describe "ContextMatching" do
6
+
7
+ before(:each) do
8
+ @formatter = Spec::Mocks::Mock.new("formatter")
9
+ @behaviour = Behaviour.new("context") {}
10
+ end
11
+
12
+ it "run all specs when spec is not specified" do
13
+ @behaviour.it("spec1") {}
14
+ @behaviour.it("spec2") {}
15
+ @behaviour.retain_examples_matching!(["context"])
16
+ @behaviour.number_of_examples.should == 2
17
+ end
18
+
19
+ it "should only run specified examples when specified" do
20
+ @behaviour.it("spec1") {}
21
+ @behaviour.it("spec2") {}
22
+ @behaviour.retain_examples_matching!(["context spec1"])
23
+ @behaviour.number_of_examples.should == 1
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,81 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ describe "DrbCommandLine without running local server" do
4
+
5
+ unless Config::CONFIG['ruby_install_name'] == 'jruby'
6
+ it "should print error when there is no running local server" do
7
+ err = StringIO.new
8
+ out = StringIO.new
9
+ Spec::Runner::DrbCommandLine.run(['--version'], err, out, false)
10
+
11
+ err.rewind
12
+ err.read.should =~ /No server is running/
13
+ end
14
+ end
15
+ end
16
+
17
+ describe "DrbCommandLine with local server" do
18
+
19
+ unless Config::CONFIG['ruby_install_name'] == 'jruby'
20
+ before(:all) do
21
+ DRb.start_service("druby://localhost:8989", Spec::Runner::CommandLine)
22
+ $drb_example_file_counter = 0
23
+ end
24
+
25
+ before(:each) do
26
+ create_dummy_spec_file
27
+ $drb_example_file_counter = $drb_example_file_counter + 1
28
+ end
29
+
30
+ after(:each) do
31
+ File.delete(@dummy_spec_filename)
32
+ end
33
+
34
+ after(:all) do
35
+ DRb.stop_service
36
+ end
37
+
38
+ it "should run against local server" do
39
+ out = run_spec_via_druby(['--version'])
40
+ out.should =~ /RSpec/n
41
+ end
42
+
43
+ it "should output green colorized text when running with --colour option" do
44
+ out = run_spec_via_druby(["--colour", @dummy_spec_filename])
45
+ out.should =~ /\e\[32m/n
46
+ end
47
+
48
+ it "should output red colorized text when running with -c option" do
49
+ out = run_spec_via_druby(["-c", @dummy_spec_filename])
50
+ out.should =~ /\e\[31m/n
51
+ end
52
+
53
+ def create_dummy_spec_file
54
+ @dummy_spec_filename = File.expand_path(File.dirname(__FILE__)) + "/_dummy_spec#{$drb_example_file_counter}.rb"
55
+ File.open(@dummy_spec_filename, 'w') do |f|
56
+ f.write %{
57
+ describe "DUMMY CONTEXT for 'DrbCommandLine with -c option'" do
58
+ it "should be output with green bar" do
59
+ true.should be_true
60
+ end
61
+
62
+ it "should be output with red bar" do
63
+ violated("I want to see a red bar!")
64
+ end
65
+ end
66
+ }
67
+ end
68
+ end
69
+
70
+ def run_spec_via_druby(args)
71
+ err, out = StringIO.new, StringIO.new
72
+ out.instance_eval do
73
+ def tty?; true end
74
+ end
75
+ Spec::Runner::DrbCommandLine.run(args, err, out, false, true)
76
+ out.rewind; out.read
77
+ end
78
+ end
79
+
80
+ end
81
+
@@ -0,0 +1,127 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module DSL
5
+ module ExampleMatcherSpecHelper
6
+ class MatchDescription
7
+ def initialize(description)
8
+ @description = description
9
+ end
10
+
11
+ def matches?(matcher)
12
+ matcher.matches?(@description)
13
+ end
14
+
15
+ def failure_message
16
+ "expected matcher.matches?(#{@description.inspect}) to return true, got false"
17
+ end
18
+
19
+ def negative_failure_message
20
+ "expected matcher.matches?(#{@description.inspect}) to return false, got true"
21
+ end
22
+ end
23
+ def match_description(description)
24
+ MatchDescription.new(description)
25
+ end
26
+ end
27
+
28
+ describe ExampleMatcher do
29
+ include ExampleMatcherSpecHelper
30
+
31
+ it "should match correct behaviour and example" do
32
+ matcher=ExampleMatcher.new("behaviour", "example")
33
+ matcher.should match_description("behaviour example")
34
+ end
35
+
36
+ it "should not match wrong example" do
37
+ matcher=ExampleMatcher.new("behaviour", "other example")
38
+ matcher.should_not match_description("behaviour example")
39
+ end
40
+
41
+ it "should not match wrong behaviour" do
42
+ matcher=ExampleMatcher.new("other behaviour", "example")
43
+ matcher.should_not match_description("behaviour example")
44
+ end
45
+
46
+ it "should match example only" do
47
+ matcher=ExampleMatcher.new("behaviour", "example")
48
+ matcher.should match_description("example")
49
+ end
50
+
51
+ it "should match behaviour only" do
52
+ matcher=ExampleMatcher.new("behaviour", "example")
53
+ matcher.should match_description("behaviour")
54
+ end
55
+
56
+ it "should escape regexp chars" do
57
+ matcher=ExampleMatcher.new("(con|text)", "[example]")
58
+ matcher.should_not match_description("con p")
59
+ end
60
+
61
+ it "should match when behaviour is modularized" do
62
+ matcher=ExampleMatcher.new("MyModule::MyClass", "example")
63
+ matcher.should match_description("MyClass example")
64
+ end
65
+
66
+ # it "should match with regexp reserved (characters) in the example" do
67
+ # matcher=ExampleMatcher.new("with ([#]) an example", "a context")
68
+ # matcher.should match_description("a context")
69
+ # matcher.should match_description("with ([#]) an example")
70
+ # matcher.should match_description("a context with ([#]) an example")
71
+ # end
72
+ #
73
+ # it "should match with regexp reserved (characters) in the context" do
74
+ # matcher=ExampleMatcher.new("with an example", "a ([#]) context")
75
+ # matcher.should match_description("a ([#]) context with an example")
76
+ # matcher.should match_description("a ([#]) context with an example")
77
+ # matcher.should match_description("a ([#]) context with an example")
78
+ # end
79
+
80
+ # it "should not match wrong example only" do
81
+ # matcher=ExampleMatcher.new("with another example", "a context")
82
+ # matcher.should_not match_description("with an example")
83
+ # end
84
+ #
85
+ # it "should not match wrong context" do
86
+ # matcher=ExampleMatcher.new("another context with an example", "a context")
87
+ # matcher.should_not match_description("with an example")
88
+ # end
89
+ #
90
+ # it "should not match wrong context only" do
91
+ # matcher=ExampleMatcher.new("another context", "a context")
92
+ # matcher.should_not match_description("with an example")
93
+ # end
94
+ #
95
+ # it "should not match wrong example" do
96
+ # matcher=ExampleMatcher.new("a context with another example", "a context")
97
+ # matcher.should_not match_description("with an example")
98
+ # end
99
+
100
+ end
101
+
102
+ describe ExampleMatcher, "normal case" do
103
+ it "matches when passed in example matches" do
104
+ @matcher = ExampleMatcher.new("Foo", "bar")
105
+ @matcher.matches?(["no match", "Foo bar"]).should == true
106
+ end
107
+
108
+ it "does not match when no passed in examples match" do
109
+ @matcher = ExampleMatcher.new("Foo", "bar")
110
+ @matcher.matches?(["no match1", "no match2"]).should == false
111
+ end
112
+ end
113
+
114
+ describe ExampleMatcher, "where description has '::' in it" do
115
+ it "matches when passed in example matches" do
116
+ @matcher = ExampleMatcher.new("Foo::Bar", "baz")
117
+ @matcher.matches?(["no match", "Foo::Bar baz"]).should == true
118
+ end
119
+
120
+ it "does not match when no passed in examples match" do
121
+ @matcher = ExampleMatcher.new("Foo::Bar", "baz")
122
+ @matcher.matches?(["no match1", "no match2"]).should == false
123
+ end
124
+ end
125
+
126
+ end
127
+ end
@@ -0,0 +1,2 @@
1
+ Sir, if you were my husband, I would poison your drink.
2
+ Madam, if you were my wife, I would drink it.
@@ -0,0 +1,31 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ describe "ExecutionContext" do
4
+
5
+ it "should provide duck_type()" do
6
+ dt = duck_type(:length)
7
+ dt.should be_an_instance_of(Spec::Mocks::DuckTypeArgConstraint)
8
+ dt.matches?([]).should be_true
9
+ end
10
+
11
+ it "should violate when violated()" do
12
+ lambda do
13
+ violated
14
+ end.should raise_error(Spec::Expectations::ExpectationNotMetError)
15
+ end
16
+
17
+ it "should provide mock()" do
18
+ mock("thing").should be_an_instance_of(Spec::Mocks::Mock)
19
+ end
20
+
21
+ it "should provide stub()" do
22
+ thing_stub = stub("thing").should be_an_instance_of(Spec::Mocks::Mock)
23
+ end
24
+
25
+ it "should add method stubs to stub()" do
26
+ thing_stub = stub("thing", :a => "A", :b => "B")
27
+ thing_stub.a.should == "A"
28
+ thing_stub.b.should == "B"
29
+ end
30
+
31
+ end
@@ -0,0 +1,36 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ describe Kernel, "when extended by rspec" do
4
+ it "should respond to :describe" do
5
+ Object.new.should respond_to(:describe)
6
+ Object.new.should respond_to(:context)
7
+ end
8
+ end
9
+
10
+ describe Kernel, " when creating behaviours with describe" do
11
+
12
+ it "should fail when no block given" do
13
+ lambda { describe "foo" }.should raise_error(ArgumentError)
14
+ end
15
+
16
+ it "should fail when no description given" do
17
+ lambda { describe do; end }.should raise_error(ArgumentError)
18
+ end
19
+ end
20
+
21
+ describe Kernel, "#respond_to" do
22
+ before(:each) do
23
+ @kernel_impersonator = Class.new do
24
+ include Kernel
25
+ end.new
26
+ end
27
+
28
+ it "should return a Spec::Matchers::RespondTo" do
29
+ @kernel_impersonator.respond_to.should be_an_instance_of(Spec::Matchers::RespondTo)
30
+ end
31
+
32
+ it "should pass the submitted names to the RespondTo instance" do
33
+ Spec::Matchers::RespondTo.should_receive(:new).with(:a,'b','c?')
34
+ @kernel_impersonator.respond_to(:a,'b','c?')
35
+ end
36
+ end
@@ -0,0 +1,3 @@
1
+ heckler_spec.rb
2
+ command_line_spec.rb
3
+ reporter_spec.rb
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "FailingBehavioursFormatter" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @formatter = FailingBehavioursFormatter.new(@io)
10
+ end
11
+
12
+ it "should add example name for each failure" do
13
+ @formatter.add_behaviour("b 1")
14
+ @formatter.example_failed("e 1", nil, Reporter::Failure.new(nil, RuntimeError.new))
15
+ @formatter.add_behaviour("b 2")
16
+ @formatter.example_failed("e 2", nil, Reporter::Failure.new(nil, RuntimeError.new))
17
+ @formatter.example_failed("e 3", nil, Reporter::Failure.new(nil, RuntimeError.new))
18
+ @io.string.should eql(<<-EOF
19
+ b 1
20
+ b 2
21
+ EOF
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "FailingExamplesFormatter" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @formatter = FailingExamplesFormatter.new(@io)
10
+ end
11
+
12
+ it "should add example name for each failure" do
13
+ @formatter.add_behaviour("b 1")
14
+ @formatter.example_failed("e 1", nil, Reporter::Failure.new(nil, RuntimeError.new))
15
+ @formatter.add_behaviour("b 2")
16
+ @formatter.example_failed("e 2", nil, Reporter::Failure.new(nil, RuntimeError.new))
17
+ @formatter.example_failed("e 3", nil, Reporter::Failure.new(nil, RuntimeError.new))
18
+ @io.string.should eql(<<-EOF
19
+ b 1 e 1
20
+ b 2 e 2
21
+ b 2 e 3
22
+ EOF
23
+ )
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,333 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>RSpec results</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Expires" content="-1" />
11
+ <meta http-equiv="Pragma" content="no-cache" />
12
+ <style type="text/css">
13
+ body {
14
+ margin: 0;
15
+ padding: 0;
16
+ background: #fff;
17
+ font-size: 80%;
18
+ }
19
+ </style>
20
+ </head>
21
+ <body>
22
+ <div class="rspec-report">
23
+ <script type="text/javascript">
24
+ // <![CDATA[
25
+ function moveProgressBar(percentDone) {
26
+ document.getElementById("rspec-header").style.width = percentDone +"%";
27
+ }
28
+ function makeRed(element_id) {
29
+ document.getElementById(element_id).style.background = '#C40D0D';
30
+ document.getElementById(element_id).style.color = '#FFFFFF';
31
+ }
32
+
33
+ function makeYellow(element_id) {
34
+ if (element_id == "rspec-header" && document.getElementById(element_id).style.background != '#C40D0D')
35
+ {
36
+ document.getElementById(element_id).style.background = '#FAF834';
37
+ document.getElementById(element_id).style.color = '#000000';
38
+ }
39
+ else
40
+ {
41
+ document.getElementById(element_id).style.background = '#FAF834';
42
+ document.getElementById(element_id).style.color = '#000000';
43
+ }
44
+ }
45
+
46
+ // ]]>
47
+ </script>
48
+ <style type="text/css">
49
+ #rspec-header {
50
+ background: #65C400; color: #fff;
51
+ }
52
+
53
+ .rspec-report h1 {
54
+ margin: 0px 10px 0px 10px;
55
+ padding: 10px;
56
+ font-family: "Lucida Grande", Helvetica, sans-serif;
57
+ font-size: 1.8em;
58
+ }
59
+
60
+ #summary {
61
+ margin: 0; padding: 5px 10px;
62
+ font-family: "Lucida Grande", Helvetica, sans-serif;
63
+ text-align: right;
64
+ position: absolute;
65
+ top: 0px;
66
+ right: 0px;
67
+ }
68
+
69
+ #summary p {
70
+ margin: 0 0 0 2px;
71
+ }
72
+
73
+ #summary #totals {
74
+ font-size: 1.2em;
75
+ }
76
+
77
+ .behaviour {
78
+ margin: 0 10px 5px;
79
+ background: #fff;
80
+ }
81
+
82
+ dl {
83
+ margin: 0; padding: 0 0 5px;
84
+ font: normal 11px "Lucida Grande", Helvetica, sans-serif;
85
+ }
86
+
87
+ dt {
88
+ padding: 3px;
89
+ background: #65C400;
90
+ color: #fff;
91
+ font-weight: bold;
92
+ }
93
+
94
+ dd {
95
+ margin: 5px 0 5px 5px;
96
+ padding: 3px 3px 3px 18px;
97
+ }
98
+
99
+ dd.spec.passed {
100
+ border-left: 5px solid #65C400;
101
+ border-bottom: 1px solid #65C400;
102
+ background: #DBFFB4; color: #3D7700;
103
+ }
104
+
105
+ dd.spec.failed {
106
+ border-left: 5px solid #C20000;
107
+ border-bottom: 1px solid #C20000;
108
+ color: #C20000; background: #FFFBD3;
109
+ }
110
+
111
+ dd.spec.not_implemented {
112
+ border-left: 5px solid #FAF834;
113
+ border-bottom: 1px solid #FAF834;
114
+ background: #FCFB98; color: #131313;
115
+ }
116
+
117
+ .backtrace {
118
+ color: #000;
119
+ font-size: 12px;
120
+ }
121
+
122
+ a {
123
+ color: #BE5C00;
124
+ }
125
+
126
+ /* Ruby code, style similar to vibrant ink */
127
+ .ruby {
128
+ font-size: 12px;
129
+ font-family: monospace;
130
+ color: white;
131
+ background-color: black;
132
+ padding: 0.1em 0 0.2em 0;
133
+ }
134
+
135
+ .ruby .keyword { color: #FF6600; }
136
+ .ruby .constant { color: #339999; }
137
+ .ruby .attribute { color: white; }
138
+ .ruby .global { color: white; }
139
+ .ruby .module { color: white; }
140
+ .ruby .class { color: white; }
141
+ .ruby .string { color: #66FF00; }
142
+ .ruby .ident { color: white; }
143
+ .ruby .method { color: #FFCC00; }
144
+ .ruby .number { color: white; }
145
+ .ruby .char { color: white; }
146
+ .ruby .comment { color: #9933CC; }
147
+ .ruby .symbol { color: white; }
148
+ .ruby .regex { color: #44B4CC; }
149
+ .ruby .punct { color: white; }
150
+ .ruby .escape { color: white; }
151
+ .ruby .interp { color: white; }
152
+ .ruby .expr { color: white; }
153
+
154
+ .ruby .offending { background-color: gray; }
155
+ .ruby .linenum {
156
+ width: 75px;
157
+ padding: 0.1em 1em 0.2em 0;
158
+ color: #000000;
159
+ background-color: #FFFBD3;
160
+ }
161
+
162
+ </style>
163
+
164
+ <div id="rspec-header">
165
+ <h1>RSpec Results</h1>
166
+
167
+ <div id="summary">
168
+ <p id="totals">&nbsp;</p>
169
+ <p id="duration">&nbsp;</p>
170
+ </div>
171
+ </div>
172
+
173
+ <div class="results">
174
+ <div class="behaviour">
175
+ <dl>
176
+ <dt id="behaviour_1">Mocker</dt>
177
+ <script type="text/javascript">moveProgressBar('6.2');</script>
178
+ <dd class="spec passed"><span class="passed_spec_name">should be able to call mock()</span></dd>
179
+ <script type="text/javascript">makeRed('rspec-header');</script>
180
+ <script type="text/javascript">makeRed('behaviour_1');</script>
181
+ <script type="text/javascript">moveProgressBar('12.5');</script>
182
+ <dd class="spec failed">
183
+ <span class="failed_spec_name">should fail when expected message not received</span>
184
+ <div class="failure" id="failure_1">
185
+ <div class="message"><pre>Mock 'poke me' expected :poke with (any args) once, but received it 0 times</pre></div>
186
+ <div class="backtrace"><pre>./failing_examples/mocking_example.rb:13:
187
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:19:
188
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:15:</pre></div>
189
+ <pre class="ruby"><code><span class="linenum">11</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">should fail when expected message not received</span><span class="punct">&quot;</span> <span class="keyword">do</span>
190
+ <span class="linenum">12</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">poke me</span><span class="punct">&quot;)</span>
191
+ <span class="offending"><span class="linenum">13</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span>
192
+ <span class="linenum">14</span> <span class="keyword">end</span>
193
+ <span class="linenum">15</span> </code></pre>
194
+ </div>
195
+ </dd>
196
+ <script type="text/javascript">moveProgressBar('18.7');</script>
197
+ <dd class="spec failed">
198
+ <span class="failed_spec_name">should fail when messages are received out of order</span>
199
+ <div class="failure" id="failure_2">
200
+ <div class="message"><pre>Mock 'one two three' received :three out of order</pre></div>
201
+ <div class="backtrace"><pre>./failing_examples/mocking_example.rb:22:
202
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:19:
203
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:15:</pre></div>
204
+ <pre class="ruby"><code><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span>
205
+ <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span>
206
+ <span class="offending"><span class="linenum">22</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span>
207
+ <span class="linenum">23</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">two</span>
208
+ <span class="linenum">24</span> <span class="keyword">end</span></code></pre>
209
+ </div>
210
+ </dd>
211
+ <script type="text/javascript">moveProgressBar('25.0');</script>
212
+ <dd class="spec failed">
213
+ <span class="failed_spec_name">should get yelled at when sending unexpected messages</span>
214
+ <div class="failure" id="failure_3">
215
+ <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (any args) 0 times, but received it once</pre></div>
216
+ <div class="backtrace"><pre>./failing_examples/mocking_example.rb:28:
217
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:19:
218
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:15:</pre></div>
219
+ <pre class="ruby"><code><span class="linenum">26</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">should get yelled at when sending unexpected messages</span><span class="punct">&quot;</span> <span class="keyword">do</span>
220
+ <span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">don't talk to me</span><span class="punct">&quot;)</span>
221
+ <span class="offending"><span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span></span>
222
+ <span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span>
223
+ <span class="linenum">30</span> <span class="keyword">end</span></code></pre>
224
+ </div>
225
+ </dd>
226
+ <script type="text/javascript">moveProgressBar('31.2');</script>
227
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should mage eggs and bacon</span></dd>
228
+ </dl>
229
+ </div>
230
+ <div class="behaviour">
231
+ <dl>
232
+ <dt id="behaviour_2">Running specs with --diff</dt>
233
+ <script type="text/javascript">makeRed('behaviour_2');</script>
234
+ <script type="text/javascript">moveProgressBar('37.5');</script>
235
+ <dd class="spec failed">
236
+ <span class="failed_spec_name">should print diff of different strings</span>
237
+ <div class="failure" id="failure_4">
238
+ <div class="message"><pre>expected &quot;RSpec is a\nbehaviour driven development\nframework for Ruby\n&quot;, got &quot;RSpec is a\nbehavior driven development\nframework for Ruby\n&quot; (using ==)
239
+ Diff:
240
+ @@ -1,4 +1,4 @@
241
+ RSpec is a
242
+ -behavior driven development
243
+ +behaviour driven development
244
+ framework for Ruby
245
+ </pre></div>
246
+ <div class="backtrace"><pre>./failing_examples/diffing_spec.rb:13:
247
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:19:
248
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:15:</pre></div>
249
+ <pre class="ruby"><code><span class="linenum">11</span><span class="ident">framework</span> <span class="keyword">for</span> <span class="constant">Ruby</span>
250
+ <span class="linenum">12</span><span class="constant">EOF</span>
251
+ <span class="offending"><span class="linenum">13</span> <span class="ident">usa</span><span class="punct">.</span><span class="ident">should</span> <span class="punct">==</span> <span class="ident">uk</span></span>
252
+ <span class="linenum">14</span> <span class="keyword">end</span></code></pre>
253
+ </div>
254
+ </dd>
255
+ <script type="text/javascript">moveProgressBar('43.7');</script>
256
+ <dd class="spec failed">
257
+ <span class="failed_spec_name">should print diff of different objects' pretty representation</span>
258
+ <div class="failure" id="failure_5">
259
+ <div class="message"><pre>expected &lt;Animal
260
+ name=bob,
261
+ species=tortoise
262
+ &gt;
263
+ , got &lt;Animal
264
+ name=bob,
265
+ species=giraffe
266
+ &gt;
267
+ (using .eql?)
268
+ Diff:
269
+ @@ -1,5 +1,5 @@
270
+ &lt;Animal
271
+ name=bob,
272
+ -species=giraffe
273
+ +species=tortoise
274
+ &gt;
275
+ </pre></div>
276
+ <div class="backtrace"><pre>./failing_examples/diffing_spec.rb:34:
277
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:19:
278
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:15:</pre></div>
279
+ <pre class="ruby"><code><span class="linenum">32</span> <span class="ident">expected</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">giraffe</span><span class="punct">&quot;</span>
280
+ <span class="linenum">33</span> <span class="ident">actual</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">tortoise</span><span class="punct">&quot;</span>
281
+ <span class="offending"><span class="linenum">34</span> <span class="ident">expected</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eql</span><span class="punct">(</span><span class="ident">actual</span><span class="punct">)</span></span>
282
+ <span class="linenum">35</span> <span class="keyword">end</span>
283
+ <span class="linenum">36</span><span class="keyword">end</span></code></pre>
284
+ </div>
285
+ </dd>
286
+ </dl>
287
+ </div>
288
+ <div class="behaviour">
289
+ <dl>
290
+ <dt id="behaviour_3">A consumer of a stub</dt>
291
+ <script type="text/javascript">moveProgressBar('50.0');</script>
292
+ <dd class="spec passed"><span class="passed_spec_name">should be able to stub methods on any Object</span></dd>
293
+ </dl>
294
+ </div>
295
+ <div class="behaviour">
296
+ <dl>
297
+ <dt id="behaviour_4">A stubbed method on a class</dt>
298
+ <script type="text/javascript">moveProgressBar('56.2');</script>
299
+ <dd class="spec passed"><span class="passed_spec_name">should return the stubbed value</span></dd>
300
+ <script type="text/javascript">moveProgressBar('62.5');</script>
301
+ <dd class="spec passed"><span class="passed_spec_name">should revert to the original method after each spec</span></dd>
302
+ <script type="text/javascript">moveProgressBar('68.7');</script>
303
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock the same message</span></dd>
304
+ </dl>
305
+ </div>
306
+ <div class="behaviour">
307
+ <dl>
308
+ <dt id="behaviour_5">A mock</dt>
309
+ <script type="text/javascript">moveProgressBar('75.0');</script>
310
+ <dd class="spec passed"><span class="passed_spec_name">can stub!</span></dd>
311
+ <script type="text/javascript">moveProgressBar('81.2');</script>
312
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock</span></dd>
313
+ <script type="text/javascript">moveProgressBar('87.5');</script>
314
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock the same message</span></dd>
315
+ </dl>
316
+ </div>
317
+ <div class="behaviour">
318
+ <dl>
319
+ <dt id="behaviour_6">Stack (not implemented features)</dt>
320
+ <script type="text/javascript">makeYellow('behaviour_6');</script>
321
+ <script type="text/javascript">moveProgressBar('93.7');</script>
322
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should transform to xml using #to_xml</span></dd>
323
+ <script type="text/javascript">makeYellow('behaviour_6');</script>
324
+ <script type="text/javascript">moveProgressBar('100.0');</script>
325
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should convert from xml using #from_xml</span></dd>
326
+ </dl>
327
+ </div>
328
+ <script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>x seconds</strong>";</script>
329
+ <script type="text/javascript">document.getElementById('totals').innerHTML = "16 examples, 5 failures, 3 not implemented";</script>
330
+ </div>
331
+ </div>
332
+ </body>
333
+ </html>