hubbub 0.0.6

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 (661) hide show
  1. data/LICENSE +1 -0
  2. data/README +1 -0
  3. data/lib/app/controllers/application_controller.rb +71 -0
  4. data/lib/app/controllers/articles_controller.rb +64 -0
  5. data/lib/app/controllers/home_controller.rb +7 -0
  6. data/lib/app/controllers/pages_controller.rb +17 -0
  7. data/lib/app/controllers/tags_controller.rb +31 -0
  8. data/lib/app/controllers/user_sessions_controller.rb +32 -0
  9. data/lib/app/helpers/application_helper.rb +14 -0
  10. data/lib/app/helpers/articles_helper.rb +2 -0
  11. data/lib/app/helpers/home_helper.rb +2 -0
  12. data/lib/app/helpers/logins_helper.rb +2 -0
  13. data/lib/app/helpers/pages_helper.rb +2 -0
  14. data/lib/app/helpers/tags_helper.rb +2 -0
  15. data/lib/app/models/article.rb +63 -0
  16. data/lib/app/models/page.rb +11 -0
  17. data/lib/app/models/tag.rb +31 -0
  18. data/lib/app/models/tagging.rb +7 -0
  19. data/lib/app/models/user.rb +3 -0
  20. data/lib/app/models/user_session.rb +3 -0
  21. data/lib/app/views/articles/_article.html.erb +37 -0
  22. data/lib/app/views/articles/_comments.html.erb +20 -0
  23. data/lib/app/views/articles/_form.html.erb +8 -0
  24. data/lib/app/views/articles/_item.html.erb +25 -0
  25. data/lib/app/views/articles/_pagination.html.erb +5 -0
  26. data/lib/app/views/articles/create.html.erb +2 -0
  27. data/lib/app/views/articles/destroy.html.erb +2 -0
  28. data/lib/app/views/articles/edit.html.erb +12 -0
  29. data/lib/app/views/articles/head/_show.html.erb +2 -0
  30. data/lib/app/views/articles/index.atom.builder +16 -0
  31. data/lib/app/views/articles/index.html.erb +52 -0
  32. data/lib/app/views/articles/new.html.erb +11 -0
  33. data/lib/app/views/articles/scripts/_show.html.erb +5 -0
  34. data/lib/app/views/articles/show.html.erb +21 -0
  35. data/lib/app/views/articles/update.html.erb +2 -0
  36. data/lib/app/views/errors/error_404.html.erb +10 -0
  37. data/lib/app/views/home/head/_index.html.erb +2 -0
  38. data/lib/app/views/home/index.html.erb +27 -0
  39. data/lib/app/views/home/scripts/_index.html.erb +5 -0
  40. data/lib/app/views/layouts/application.html.erb +50 -0
  41. data/lib/app/views/layouts/login.html.erb +24 -0
  42. data/lib/app/views/pages/_form.html.erb +7 -0
  43. data/lib/app/views/pages/_item.html.erb +13 -0
  44. data/lib/app/views/pages/_page.html.erb +17 -0
  45. data/lib/app/views/pages/create.html.erb +2 -0
  46. data/lib/app/views/pages/destroy.html.erb +2 -0
  47. data/lib/app/views/pages/edit.html.erb +13 -0
  48. data/lib/app/views/pages/head/_show.html.erb +2 -0
  49. data/lib/app/views/pages/index.html.erb +30 -0
  50. data/lib/app/views/pages/new.html.erb +12 -0
  51. data/lib/app/views/pages/scripts/_show.html.erb +5 -0
  52. data/lib/app/views/pages/show.html.erb +28 -0
  53. data/lib/app/views/pages/update.html.erb +2 -0
  54. data/lib/app/views/shared/_analytics.html.erb +1 -0
  55. data/lib/app/views/shared/_copyright.html.erb +1 -0
  56. data/lib/app/views/shared/_disqus.html.erb +16 -0
  57. data/lib/app/views/shared/_footer.html.erb +8 -0
  58. data/lib/app/views/shared/_header.html.erb +11 -0
  59. data/lib/app/views/shared/_meetup.html.erb +12 -0
  60. data/lib/app/views/shared/_navigation.html.erb +32 -0
  61. data/lib/app/views/shared/_site_id.html.erb +2 -0
  62. data/lib/app/views/shared/_sitesearch.html.erb +7 -0
  63. data/lib/app/views/shared/extend/_head.html.erb +0 -0
  64. data/lib/app/views/shared/extend/_scripts.html.erb +3 -0
  65. data/lib/app/views/tags/_form.html.erb +6 -0
  66. data/lib/app/views/tags/_tag.html.erb +3 -0
  67. data/lib/app/views/tags/destroy.html.erb +2 -0
  68. data/lib/app/views/tags/edit.html.erb +12 -0
  69. data/lib/app/views/tags/index.html.erb +23 -0
  70. data/lib/app/views/tags/show.atom.builder +16 -0
  71. data/lib/app/views/tags/show.html.erb +39 -0
  72. data/lib/app/views/tags/update.html.erb +2 -0
  73. data/lib/app/views/user_sessions/new.html.erb +8 -0
  74. data/lib/config/database.yml +22 -0
  75. data/lib/config/environments/development.rb +17 -0
  76. data/lib/config/environments/production.rb +28 -0
  77. data/lib/config/environments/test.rb +28 -0
  78. data/lib/config/hubbub.yml +25 -0
  79. data/lib/config/hubbub.yml.example +25 -0
  80. data/lib/config/initializers/backtrace_silencers.rb +7 -0
  81. data/lib/config/initializers/formtastic.rb +51 -0
  82. data/lib/config/initializers/inflections.rb +10 -0
  83. data/lib/config/initializers/mime_types.rb +5 -0
  84. data/lib/config/initializers/new_rails_defaults.rb +21 -0
  85. data/lib/config/initializers/session_store.rb +15 -0
  86. data/lib/config/locales/en.yml +5 -0
  87. data/lib/config/routes.rb +12 -0
  88. data/lib/db/migrate/20091226230412_create_articles.rb +20 -0
  89. data/lib/db/migrate/20091227003405_create_tags.rb +17 -0
  90. data/lib/db/migrate/20091227004351_create_taggings.rb +20 -0
  91. data/lib/db/migrate/20091227213928_add_open_id_authentication_tables.rb +20 -0
  92. data/lib/db/migrate/20091227214245_create_users.rb +23 -0
  93. data/lib/db/migrate/20091229164415_create_pages.rb +19 -0
  94. data/lib/db/schema.rb +95 -0
  95. data/lib/db/seeds.rb +7 -0
  96. data/lib/hubbub/boot.rb +2 -0
  97. data/lib/hubbub/tasks.rb +12 -0
  98. data/lib/hubbub.rb +5 -0
  99. data/lib/lib/hubbub.rb +12 -0
  100. data/lib/lib/tasks/rspec.rake +144 -0
  101. data/lib/public/warp_drive/rails.png +0 -0
  102. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/resourceful_scaffold_generator.rb +87 -0
  103. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/controller.rb +5 -0
  104. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/fixtures.yml +10 -0
  105. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/functional_test.rb +57 -0
  106. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/helper.rb +2 -0
  107. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/migration.rb +13 -0
  108. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/model.rb +2 -0
  109. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/unit_test.rb +7 -0
  110. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/view__form.haml +5 -0
  111. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/view_edit.haml +11 -0
  112. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/view_index.haml +5 -0
  113. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/view_new.haml +9 -0
  114. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/view_partial.haml +12 -0
  115. data/lib/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/view_show.haml +14 -0
  116. data/lib/vendor/plugins/make_resourceful/init.rb +3 -0
  117. data/lib/vendor/plugins/make_resourceful/lib/resourceful/base.rb +63 -0
  118. data/lib/vendor/plugins/make_resourceful/lib/resourceful/builder.rb +385 -0
  119. data/lib/vendor/plugins/make_resourceful/lib/resourceful/default/accessors.rb +402 -0
  120. data/lib/vendor/plugins/make_resourceful/lib/resourceful/default/actions.rb +101 -0
  121. data/lib/vendor/plugins/make_resourceful/lib/resourceful/default/callbacks.rb +51 -0
  122. data/lib/vendor/plugins/make_resourceful/lib/resourceful/default/responses.rb +118 -0
  123. data/lib/vendor/plugins/make_resourceful/lib/resourceful/default/urls.rb +137 -0
  124. data/lib/vendor/plugins/make_resourceful/lib/resourceful/maker.rb +84 -0
  125. data/lib/vendor/plugins/make_resourceful/lib/resourceful/response.rb +33 -0
  126. data/lib/vendor/plugins/make_resourceful/lib/resourceful/serialize.rb +181 -0
  127. data/lib/vendor/plugins/make_resourceful/spec/accessors_spec.rb +474 -0
  128. data/lib/vendor/plugins/make_resourceful/spec/actions_spec.rb +310 -0
  129. data/lib/vendor/plugins/make_resourceful/spec/base_spec.rb +12 -0
  130. data/lib/vendor/plugins/make_resourceful/spec/builder_spec.rb +332 -0
  131. data/lib/vendor/plugins/make_resourceful/spec/callbacks_spec.rb +71 -0
  132. data/lib/vendor/plugins/make_resourceful/spec/integration_spec.rb +393 -0
  133. data/lib/vendor/plugins/make_resourceful/spec/maker_spec.rb +91 -0
  134. data/lib/vendor/plugins/make_resourceful/spec/response_spec.rb +37 -0
  135. data/lib/vendor/plugins/make_resourceful/spec/responses_spec.rb +314 -0
  136. data/lib/vendor/plugins/make_resourceful/spec/rspec-rails/redirect_to.rb +113 -0
  137. data/lib/vendor/plugins/make_resourceful/spec/rspec-rails/render_template.rb +90 -0
  138. data/lib/vendor/plugins/make_resourceful/spec/serialize_spec.rb +133 -0
  139. data/lib/vendor/plugins/make_resourceful/spec/spec_helper.rb +307 -0
  140. data/lib/vendor/plugins/make_resourceful/spec/urls_spec.rb +278 -0
  141. data/lib/vendor/plugins/open_id_authentication/generators/open_id_authentication_tables/open_id_authentication_tables_generator.rb +11 -0
  142. data/lib/vendor/plugins/open_id_authentication/generators/open_id_authentication_tables/templates/migration.rb +20 -0
  143. data/lib/vendor/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables/templates/migration.rb +26 -0
  144. data/lib/vendor/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables/upgrade_open_id_authentication_tables_generator.rb +11 -0
  145. data/lib/vendor/plugins/open_id_authentication/init.rb +18 -0
  146. data/lib/vendor/plugins/open_id_authentication/lib/open_id_authentication/association.rb +9 -0
  147. data/lib/vendor/plugins/open_id_authentication/lib/open_id_authentication/db_store.rb +55 -0
  148. data/lib/vendor/plugins/open_id_authentication/lib/open_id_authentication/nonce.rb +5 -0
  149. data/lib/vendor/plugins/open_id_authentication/lib/open_id_authentication/request.rb +23 -0
  150. data/lib/vendor/plugins/open_id_authentication/lib/open_id_authentication/timeout_fixes.rb +20 -0
  151. data/lib/vendor/plugins/open_id_authentication/lib/open_id_authentication.rb +240 -0
  152. data/lib/vendor/plugins/open_id_authentication/tasks/open_id_authentication_tasks.rake +30 -0
  153. data/lib/vendor/plugins/open_id_authentication/test/normalize_test.rb +32 -0
  154. data/lib/vendor/plugins/open_id_authentication/test/open_id_authentication_test.rb +46 -0
  155. data/lib/vendor/plugins/open_id_authentication/test/status_test.rb +14 -0
  156. data/lib/vendor/plugins/open_id_authentication/test/test_helper.rb +17 -0
  157. data/lib/vendor/plugins/postable/init.rb +1 -0
  158. data/lib/vendor/plugins/postable/install.rb +1 -0
  159. data/lib/vendor/plugins/postable/lib/postable.rb +59 -0
  160. data/lib/vendor/plugins/postable/tasks/postable_tasks.rake +4 -0
  161. data/lib/vendor/plugins/postable/test/postable_test.rb +8 -0
  162. data/lib/vendor/plugins/postable/test/test_helper.rb +3 -0
  163. data/lib/vendor/plugins/postable/uninstall.rb +1 -0
  164. data/lib/vendor/plugins/rspec/History.rdoc +1496 -0
  165. data/lib/vendor/plugins/rspec/License.txt +22 -0
  166. data/lib/vendor/plugins/rspec/Manifest.txt +377 -0
  167. data/lib/vendor/plugins/rspec/README.rdoc +55 -0
  168. data/lib/vendor/plugins/rspec/Ruby1.9.rdoc +31 -0
  169. data/lib/vendor/plugins/rspec/TODO.txt +17 -0
  170. data/lib/vendor/plugins/rspec/Upgrade.rdoc +199 -0
  171. data/lib/vendor/plugins/rspec/cucumber.yml +5 -0
  172. data/lib/vendor/plugins/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  173. data/lib/vendor/plugins/rspec/features/command_line/line_number_option.feature +56 -0
  174. data/lib/vendor/plugins/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  175. data/lib/vendor/plugins/rspec/features/example_groups/define_example_attribute.feature +41 -0
  176. data/lib/vendor/plugins/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
  177. data/lib/vendor/plugins/rspec/features/example_groups/implicit_docstrings.feature +59 -0
  178. data/lib/vendor/plugins/rspec/features/example_groups/nested_groups.feature +32 -0
  179. data/lib/vendor/plugins/rspec/features/expectations/customized_message.feature +54 -0
  180. data/lib/vendor/plugins/rspec/features/expectations/expect_change.feature +65 -0
  181. data/lib/vendor/plugins/rspec/features/expectations/expect_error.feature +44 -0
  182. data/lib/vendor/plugins/rspec/features/extensions/custom_example_group.feature +19 -0
  183. data/lib/vendor/plugins/rspec/features/formatters/custom_formatter.feature +30 -0
  184. data/lib/vendor/plugins/rspec/features/interop/examples_and_tests_together.feature +84 -0
  185. data/lib/vendor/plugins/rspec/features/interop/rspec_output.feature +25 -0
  186. data/lib/vendor/plugins/rspec/features/interop/test_but_not_test_unit.feature +26 -0
  187. data/lib/vendor/plugins/rspec/features/interop/test_case_with_should_methods.feature +46 -0
  188. data/lib/vendor/plugins/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
  189. data/lib/vendor/plugins/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
  190. data/lib/vendor/plugins/rspec/features/matchers/define_diffable_matcher.feature +26 -0
  191. data/lib/vendor/plugins/rspec/features/matchers/define_matcher.feature +179 -0
  192. data/lib/vendor/plugins/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
  193. data/lib/vendor/plugins/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  194. data/lib/vendor/plugins/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
  195. data/lib/vendor/plugins/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
  196. data/lib/vendor/plugins/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
  197. data/lib/vendor/plugins/rspec/features/mock_framework_integration/use_rr.feature +27 -0
  198. data/lib/vendor/plugins/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
  199. data/lib/vendor/plugins/rspec/features/mocks/stub_implementation.feature +26 -0
  200. data/lib/vendor/plugins/rspec/features/pending/pending_examples.feature +81 -0
  201. data/lib/vendor/plugins/rspec/features/runner/specify_line_number.feature +32 -0
  202. data/lib/vendor/plugins/rspec/features/spec_helper/spec_helper.feature +25 -0
  203. data/lib/vendor/plugins/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
  204. data/lib/vendor/plugins/rspec/features/subject/explicit_subject.feature +31 -0
  205. data/lib/vendor/plugins/rspec/features/subject/implicit_subject.feature +43 -0
  206. data/lib/vendor/plugins/rspec/features/support/env.rb +82 -0
  207. data/lib/vendor/plugins/rspec/features/support/matchers/smart_match.rb +12 -0
  208. data/lib/vendor/plugins/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
  209. data/lib/vendor/plugins/rspec/features-pending/heckle/heckle.feature +56 -0
  210. data/lib/vendor/plugins/rspec/geminstaller.yml +28 -0
  211. data/lib/vendor/plugins/rspec/init.rb +9 -0
  212. data/lib/vendor/plugins/rspec/lib/autotest/discover.rb +3 -0
  213. data/lib/vendor/plugins/rspec/lib/autotest/rspec.rb +47 -0
  214. data/lib/vendor/plugins/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  215. data/lib/vendor/plugins/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  216. data/lib/vendor/plugins/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  217. data/lib/vendor/plugins/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  218. data/lib/vendor/plugins/rspec/lib/spec/autorun.rb +3 -0
  219. data/lib/vendor/plugins/rspec/lib/spec/deprecation.rb +40 -0
  220. data/lib/vendor/plugins/rspec/lib/spec/dsl/main.rb +92 -0
  221. data/lib/vendor/plugins/rspec/lib/spec/dsl.rb +1 -0
  222. data/lib/vendor/plugins/rspec/lib/spec/example/args_and_options.rb +27 -0
  223. data/lib/vendor/plugins/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
  224. data/lib/vendor/plugins/rspec/lib/spec/example/errors.rb +25 -0
  225. data/lib/vendor/plugins/rspec/lib/spec/example/example_group.rb +10 -0
  226. data/lib/vendor/plugins/rspec/lib/spec/example/example_group_factory.rb +82 -0
  227. data/lib/vendor/plugins/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
  228. data/lib/vendor/plugins/rspec/lib/spec/example/example_group_methods.rb +282 -0
  229. data/lib/vendor/plugins/rspec/lib/spec/example/example_group_proxy.rb +61 -0
  230. data/lib/vendor/plugins/rspec/lib/spec/example/example_matcher.rb +43 -0
  231. data/lib/vendor/plugins/rspec/lib/spec/example/example_methods.rb +148 -0
  232. data/lib/vendor/plugins/rspec/lib/spec/example/example_proxy.rb +41 -0
  233. data/lib/vendor/plugins/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
  234. data/lib/vendor/plugins/rspec/lib/spec/example/pending.rb +18 -0
  235. data/lib/vendor/plugins/rspec/lib/spec/example/predicate_matchers.rb +46 -0
  236. data/lib/vendor/plugins/rspec/lib/spec/example/shared_example_group.rb +59 -0
  237. data/lib/vendor/plugins/rspec/lib/spec/example/subject.rb +108 -0
  238. data/lib/vendor/plugins/rspec/lib/spec/example.rb +164 -0
  239. data/lib/vendor/plugins/rspec/lib/spec/expectations/errors.rb +12 -0
  240. data/lib/vendor/plugins/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
  241. data/lib/vendor/plugins/rspec/lib/spec/expectations/extensions.rb +1 -0
  242. data/lib/vendor/plugins/rspec/lib/spec/expectations/fail_with.rb +45 -0
  243. data/lib/vendor/plugins/rspec/lib/spec/expectations/handler.rb +50 -0
  244. data/lib/vendor/plugins/rspec/lib/spec/expectations.rb +35 -0
  245. data/lib/vendor/plugins/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
  246. data/lib/vendor/plugins/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
  247. data/lib/vendor/plugins/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
  248. data/lib/vendor/plugins/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  249. data/lib/vendor/plugins/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  250. data/lib/vendor/plugins/rspec/lib/spec/interop/test.rb +44 -0
  251. data/lib/vendor/plugins/rspec/lib/spec/matchers/be.rb +210 -0
  252. data/lib/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +32 -0
  253. data/lib/vendor/plugins/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
  254. data/lib/vendor/plugins/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
  255. data/lib/vendor/plugins/rspec/lib/spec/matchers/change.rb +151 -0
  256. data/lib/vendor/plugins/rspec/lib/spec/matchers/compatibility.rb +14 -0
  257. data/lib/vendor/plugins/rspec/lib/spec/matchers/dsl.rb +20 -0
  258. data/lib/vendor/plugins/rspec/lib/spec/matchers/eql.rb +42 -0
  259. data/lib/vendor/plugins/rspec/lib/spec/matchers/equal.rb +53 -0
  260. data/lib/vendor/plugins/rspec/lib/spec/matchers/errors.rb +5 -0
  261. data/lib/vendor/plugins/rspec/lib/spec/matchers/exist.rb +16 -0
  262. data/lib/vendor/plugins/rspec/lib/spec/matchers/extensions/instance_exec.rb +31 -0
  263. data/lib/vendor/plugins/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
  264. data/lib/vendor/plugins/rspec/lib/spec/matchers/has.rb +35 -0
  265. data/lib/vendor/plugins/rspec/lib/spec/matchers/have.rb +151 -0
  266. data/lib/vendor/plugins/rspec/lib/spec/matchers/include.rb +44 -0
  267. data/lib/vendor/plugins/rspec/lib/spec/matchers/match.rb +21 -0
  268. data/lib/vendor/plugins/rspec/lib/spec/matchers/match_array.rb +71 -0
  269. data/lib/vendor/plugins/rspec/lib/spec/matchers/matcher.rb +87 -0
  270. data/lib/vendor/plugins/rspec/lib/spec/matchers/method_missing.rb +9 -0
  271. data/lib/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
  272. data/lib/vendor/plugins/rspec/lib/spec/matchers/pretty.rb +37 -0
  273. data/lib/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +129 -0
  274. data/lib/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +71 -0
  275. data/lib/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +47 -0
  276. data/lib/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
  277. data/lib/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
  278. data/lib/vendor/plugins/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
  279. data/lib/vendor/plugins/rspec/lib/spec/matchers.rb +195 -0
  280. data/lib/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
  281. data/lib/vendor/plugins/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
  282. data/lib/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +92 -0
  283. data/lib/vendor/plugins/rspec/lib/spec/mocks/errors.rb +10 -0
  284. data/lib/vendor/plugins/rspec/lib/spec/mocks/example_methods.rb +69 -0
  285. data/lib/vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  286. data/lib/vendor/plugins/rspec/lib/spec/mocks/extensions.rb +1 -0
  287. data/lib/vendor/plugins/rspec/lib/spec/mocks/framework.rb +15 -0
  288. data/lib/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +329 -0
  289. data/lib/vendor/plugins/rspec/lib/spec/mocks/methods.rb +89 -0
  290. data/lib/vendor/plugins/rspec/lib/spec/mocks/mock.rb +71 -0
  291. data/lib/vendor/plugins/rspec/lib/spec/mocks/order_group.rb +29 -0
  292. data/lib/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +245 -0
  293. data/lib/vendor/plugins/rspec/lib/spec/mocks/space.rb +28 -0
  294. data/lib/vendor/plugins/rspec/lib/spec/mocks.rb +200 -0
  295. data/lib/vendor/plugins/rspec/lib/spec/rake/spectask.rb +230 -0
  296. data/lib/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  297. data/lib/vendor/plugins/rspec/lib/spec/ruby.rb +9 -0
  298. data/lib/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
  299. data/lib/vendor/plugins/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  300. data/lib/vendor/plugins/rspec/lib/spec/runner/command_line.rb +15 -0
  301. data/lib/vendor/plugins/rspec/lib/spec/runner/configuration.rb +194 -0
  302. data/lib/vendor/plugins/rspec/lib/spec/runner/differs/default.rb +93 -0
  303. data/lib/vendor/plugins/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  304. data/lib/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +26 -0
  305. data/lib/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb +59 -0
  306. data/lib/vendor/plugins/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
  307. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
  308. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  309. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  310. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  311. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
  312. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  313. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  314. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  315. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  316. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  317. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  318. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  319. data/lib/vendor/plugins/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  320. data/lib/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  321. data/lib/vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  322. data/lib/vendor/plugins/rspec/lib/spec/runner/line_number_query.rb +78 -0
  323. data/lib/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +223 -0
  324. data/lib/vendor/plugins/rspec/lib/spec/runner/options.rb +400 -0
  325. data/lib/vendor/plugins/rspec/lib/spec/runner/reporter.rb +171 -0
  326. data/lib/vendor/plugins/rspec/lib/spec/runner.rb +66 -0
  327. data/lib/vendor/plugins/rspec/lib/spec/stubs/cucumber.rb +5 -0
  328. data/lib/vendor/plugins/rspec/lib/spec/test/unit.rb +10 -0
  329. data/lib/vendor/plugins/rspec/lib/spec/version.rb +14 -0
  330. data/lib/vendor/plugins/rspec/lib/spec.rb +8 -0
  331. data/lib/vendor/plugins/rspec/resources/helpers/cmdline.rb +8 -0
  332. data/lib/vendor/plugins/rspec/resources/rake/examples.rake +7 -0
  333. data/lib/vendor/plugins/rspec/resources/rake/examples_with_rcov.rake +9 -0
  334. data/lib/vendor/plugins/rspec/resources/rake/failing_examples_with_html.rake +9 -0
  335. data/lib/vendor/plugins/rspec/resources/rake/verify_rcov.rake +7 -0
  336. data/lib/vendor/plugins/rspec/spec/README.jruby +15 -0
  337. data/lib/vendor/plugins/rspec/spec/autotest/autotest_helper.rb +8 -0
  338. data/lib/vendor/plugins/rspec/spec/autotest/autotest_matchers.rb +38 -0
  339. data/lib/vendor/plugins/rspec/spec/autotest/discover_spec.rb +8 -0
  340. data/lib/vendor/plugins/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
  341. data/lib/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +111 -0
  342. data/lib/vendor/plugins/rspec/spec/ruby_forker.rb +13 -0
  343. data/lib/vendor/plugins/rspec/spec/spec/dsl/main_spec.rb +95 -0
  344. data/lib/vendor/plugins/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  345. data/lib/vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
  346. data/lib/vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb +758 -0
  347. data/lib/vendor/plugins/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
  348. data/lib/vendor/plugins/rspec/spec/spec/example/example_group_spec.rb +643 -0
  349. data/lib/vendor/plugins/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
  350. data/lib/vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb +162 -0
  351. data/lib/vendor/plugins/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
  352. data/lib/vendor/plugins/rspec/spec/spec/example/helper_method_spec.rb +24 -0
  353. data/lib/vendor/plugins/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
  354. data/lib/vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb +58 -0
  355. data/lib/vendor/plugins/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
  356. data/lib/vendor/plugins/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
  357. data/lib/vendor/plugins/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  358. data/lib/vendor/plugins/rspec/spec/spec/example/subject_spec.rb +103 -0
  359. data/lib/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
  360. data/lib/vendor/plugins/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  361. data/lib/vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
  362. data/lib/vendor/plugins/rspec/spec/spec/expectations/handler_spec.rb +206 -0
  363. data/lib/vendor/plugins/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  364. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  365. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  366. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  367. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  368. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  369. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  370. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  371. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  372. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  373. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  374. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  375. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  376. data/lib/vendor/plugins/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  377. data/lib/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
  378. data/lib/vendor/plugins/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  379. data/lib/vendor/plugins/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  380. data/lib/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +311 -0
  381. data/lib/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +349 -0
  382. data/lib/vendor/plugins/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
  383. data/lib/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
  384. data/lib/vendor/plugins/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
  385. data/lib/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +33 -0
  386. data/lib/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +57 -0
  387. data/lib/vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb +65 -0
  388. data/lib/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +81 -0
  389. data/lib/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +396 -0
  390. data/lib/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +88 -0
  391. data/lib/vendor/plugins/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
  392. data/lib/vendor/plugins/rspec/spec/spec/matchers/match_spec.rb +57 -0
  393. data/lib/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  394. data/lib/vendor/plugins/rspec/spec/spec/matchers/matcher_spec.rb +228 -0
  395. data/lib/vendor/plugins/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
  396. data/lib/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  397. data/lib/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
  398. data/lib/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
  399. data/lib/vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  400. data/lib/vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  401. data/lib/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  402. data/lib/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  403. data/lib/vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  404. data/lib/vendor/plugins/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  405. data/lib/vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  406. data/lib/vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  407. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  408. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  409. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  410. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  411. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  412. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  413. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  414. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  415. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  416. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  417. data/lib/vendor/plugins/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  418. data/lib/vendor/plugins/rspec/spec/spec/mocks/double_spec.rb +12 -0
  419. data/lib/vendor/plugins/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  420. data/lib/vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  421. data/lib/vendor/plugins/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  422. data/lib/vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  423. data/lib/vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  424. data/lib/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +594 -0
  425. data/lib/vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  426. data/lib/vendor/plugins/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  427. data/lib/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  428. data/lib/vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  429. data/lib/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
  430. data/lib/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
  431. data/lib/vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  432. data/lib/vendor/plugins/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  433. data/lib/vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  434. data/lib/vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  435. data/lib/vendor/plugins/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
  436. data/lib/vendor/plugins/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  437. data/lib/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +203 -0
  438. data/lib/vendor/plugins/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  439. data/lib/vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  440. data/lib/vendor/plugins/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
  441. data/lib/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
  442. data/lib/vendor/plugins/rspec/spec/spec/rake/spectask_spec.rb +150 -0
  443. data/lib/vendor/plugins/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  444. data/lib/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +141 -0
  445. data/lib/vendor/plugins/rspec/spec/spec/runner/configuration_spec.rb +320 -0
  446. data/lib/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +107 -0
  447. data/lib/vendor/plugins/rspec/spec/spec/runner/empty_file.txt +0 -0
  448. data/lib/vendor/plugins/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
  449. data/lib/vendor/plugins/rspec/spec/spec/runner/examples.txt +2 -0
  450. data/lib/vendor/plugins/rspec/spec/spec/runner/failed.txt +3 -0
  451. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  452. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  453. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  454. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  455. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  456. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  457. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  458. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  459. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  460. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  461. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  462. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  463. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  464. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  465. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  466. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  467. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  468. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  469. data/lib/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  470. data/lib/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
  471. data/lib/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +20 -0
  472. data/lib/vendor/plugins/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  473. data/lib/vendor/plugins/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
  474. data/lib/vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  475. data/lib/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +545 -0
  476. data/lib/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +547 -0
  477. data/lib/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
  478. data/lib/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  479. data/lib/vendor/plugins/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
  480. data/lib/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +105 -0
  481. data/lib/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +244 -0
  482. data/lib/vendor/plugins/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  483. data/lib/vendor/plugins/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  484. data/lib/vendor/plugins/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
  485. data/lib/vendor/plugins/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  486. data/lib/vendor/plugins/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  487. data/lib/vendor/plugins/rspec/spec/spec/runner/spec.opts +2 -0
  488. data/lib/vendor/plugins/rspec/spec/spec/runner/spec_drb.opts +2 -0
  489. data/lib/vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  490. data/lib/vendor/plugins/rspec/spec/spec/runner_spec.rb +13 -0
  491. data/lib/vendor/plugins/rspec/spec/spec.opts +6 -0
  492. data/lib/vendor/plugins/rspec/spec/spec_helper.rb +112 -0
  493. data/lib/vendor/plugins/rspec/spec/support/macros.rb +29 -0
  494. data/lib/vendor/plugins/rspec/spec/support/spec_classes.rb +133 -0
  495. data/lib/vendor/plugins/rspec-rails/Contribute.rdoc +4 -0
  496. data/lib/vendor/plugins/rspec-rails/History.rdoc +283 -0
  497. data/lib/vendor/plugins/rspec-rails/License.txt +33 -0
  498. data/lib/vendor/plugins/rspec-rails/Manifest.txt +165 -0
  499. data/lib/vendor/plugins/rspec-rails/README.rdoc +45 -0
  500. data/lib/vendor/plugins/rspec-rails/TODO.txt +17 -0
  501. data/lib/vendor/plugins/rspec-rails/Upgrade.rdoc +148 -0
  502. data/lib/vendor/plugins/rspec-rails/generators/integration_spec/integration_spec_generator.rb +10 -0
  503. data/lib/vendor/plugins/rspec-rails/generators/integration_spec/templates/integration_spec.rb +4 -0
  504. data/lib/vendor/plugins/rspec-rails/generators/rspec/rspec_generator.rb +53 -0
  505. data/lib/vendor/plugins/rspec-rails/generators/rspec/templates/previous_failures.txt +0 -0
  506. data/lib/vendor/plugins/rspec-rails/generators/rspec/templates/rcov.opts +2 -0
  507. data/lib/vendor/plugins/rspec-rails/generators/rspec/templates/rspec.rake +144 -0
  508. data/lib/vendor/plugins/rspec-rails/generators/rspec/templates/spec.opts +4 -0
  509. data/lib/vendor/plugins/rspec-rails/generators/rspec/templates/spec_helper.rb +54 -0
  510. data/lib/vendor/plugins/rspec-rails/generators/rspec_controller/rspec_controller_generator.rb +47 -0
  511. data/lib/vendor/plugins/rspec-rails/generators/rspec_controller/templates/controller_spec.rb +25 -0
  512. data/lib/vendor/plugins/rspec-rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
  513. data/lib/vendor/plugins/rspec-rails/generators/rspec_controller/templates/view_spec.rb +12 -0
  514. data/lib/vendor/plugins/rspec-rails/generators/rspec_default_values.rb +28 -0
  515. data/lib/vendor/plugins/rspec-rails/generators/rspec_model/rspec_model_generator.rb +35 -0
  516. data/lib/vendor/plugins/rspec-rails/generators/rspec_model/templates/model_spec.rb +13 -0
  517. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +154 -0
  518. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/controller_spec.rb +131 -0
  519. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +25 -0
  520. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/helper_spec.rb +11 -0
  521. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/index_erb_spec.rb +27 -0
  522. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/new_erb_spec.rb +25 -0
  523. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/routing_spec.rb +33 -0
  524. data/lib/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb +22 -0
  525. data/lib/vendor/plugins/rspec-rails/init.rb +9 -0
  526. data/lib/vendor/plugins/rspec-rails/lib/autotest/discover.rb +5 -0
  527. data/lib/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb +76 -0
  528. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb +39 -0
  529. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb +278 -0
  530. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/cookies_proxy.rb +29 -0
  531. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb +106 -0
  532. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb +153 -0
  533. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/integration_example_group.rb +16 -0
  534. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/model_example_group.rb +14 -0
  535. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb +80 -0
  536. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/routing_example_group.rb +13 -0
  537. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/routing_helpers.rb +66 -0
  538. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb +199 -0
  539. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/example.rb +48 -0
  540. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb +42 -0
  541. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_case.rb +16 -0
  542. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb +21 -0
  543. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb +33 -0
  544. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb +45 -0
  545. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_support/test_case.rb +7 -0
  546. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb +23 -0
  547. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/runner/configuration.rb +44 -0
  548. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb +11 -0
  549. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/interop/testcase.rb +14 -0
  550. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/ar_be_valid.rb +46 -0
  551. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb +180 -0
  552. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/change.rb +13 -0
  553. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb +57 -0
  554. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb +54 -0
  555. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb +126 -0
  556. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb +129 -0
  557. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers/route_to.rb +149 -0
  558. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb +33 -0
  559. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb +135 -0
  560. data/lib/vendor/plugins/rspec-rails/lib/spec/rails/version.rb +16 -0
  561. data/lib/vendor/plugins/rspec-rails/lib/spec/rails.rb +26 -0
  562. data/lib/vendor/plugins/rspec-rails/spec/autotest/mappings_spec.rb +86 -0
  563. data/lib/vendor/plugins/rspec-rails/spec/rails_suite.rb +7 -0
  564. data/lib/vendor/plugins/rspec-rails/spec/resources/controllers/action_view_base_spec_controller.rb +2 -0
  565. data/lib/vendor/plugins/rspec-rails/spec/resources/controllers/application.rb +9 -0
  566. data/lib/vendor/plugins/rspec-rails/spec/resources/controllers/controller_spec_controller.rb +127 -0
  567. data/lib/vendor/plugins/rspec-rails/spec/resources/controllers/example.txt +1 -0
  568. data/lib/vendor/plugins/rspec-rails/spec/resources/controllers/redirect_spec_controller.rb +70 -0
  569. data/lib/vendor/plugins/rspec-rails/spec/resources/controllers/render_spec_controller.rb +34 -0
  570. data/lib/vendor/plugins/rspec-rails/spec/resources/controllers/rjs_spec_controller.rb +58 -0
  571. data/lib/vendor/plugins/rspec-rails/spec/resources/helpers/addition_helper.rb +5 -0
  572. data/lib/vendor/plugins/rspec-rails/spec/resources/helpers/explicit_helper.rb +46 -0
  573. data/lib/vendor/plugins/rspec-rails/spec/resources/helpers/more_explicit_helper.rb +5 -0
  574. data/lib/vendor/plugins/rspec-rails/spec/resources/helpers/plugin_application_helper.rb +6 -0
  575. data/lib/vendor/plugins/rspec-rails/spec/resources/helpers/view_spec_helper.rb +13 -0
  576. data/lib/vendor/plugins/rspec-rails/spec/resources/models/animal.rb +4 -0
  577. data/lib/vendor/plugins/rspec-rails/spec/resources/models/person.rb +18 -0
  578. data/lib/vendor/plugins/rspec-rails/spec/resources/models/thing.rb +3 -0
  579. data/lib/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/_partial.html.erb +0 -0
  580. data/lib/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/action_setting_flash_after_session_reset.html.erb +1 -0
  581. data/lib/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/action_setting_flash_before_session_reset.html.erb +1 -0
  582. data/lib/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/action_setting_the_assigns_hash.html.erb +0 -0
  583. data/lib/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/action_with_errors_in_template.html.erb +1 -0
  584. data/lib/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/action_with_template.html.erb +1 -0
  585. data/lib/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/non_existent_action_with_existent_template.html.erb +0 -0
  586. data/lib/vendor/plugins/rspec-rails/spec/resources/views/layouts/application.html.erb +0 -0
  587. data/lib/vendor/plugins/rspec-rails/spec/resources/views/layouts/simple.html.erb +0 -0
  588. data/lib/vendor/plugins/rspec-rails/spec/resources/views/objects/_object.html.erb +1 -0
  589. data/lib/vendor/plugins/rspec-rails/spec/resources/views/render_spec/_a_partial.html.erb +0 -0
  590. data/lib/vendor/plugins/rspec-rails/spec/resources/views/render_spec/action_with_alternate_layout.html.erb +0 -0
  591. data/lib/vendor/plugins/rspec-rails/spec/resources/views/render_spec/some_action.html.erb +0 -0
  592. data/lib/vendor/plugins/rspec-rails/spec/resources/views/render_spec/some_action.js.rjs +1 -0
  593. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/_replacement_partial.html.erb +1 -0
  594. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/hide_div.js.rjs +1 -0
  595. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/hide_page_element.js.rjs +1 -0
  596. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/insert_html.js.rjs +1 -0
  597. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/replace.js.rjs +1 -0
  598. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/replace_html.js.rjs +1 -0
  599. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/replace_html_with_partial.js.rjs +1 -0
  600. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/visual_effect.js.rjs +1 -0
  601. data/lib/vendor/plugins/rspec-rails/spec/resources/views/rjs_spec/visual_toggle_effect.js.rjs +1 -0
  602. data/lib/vendor/plugins/rspec-rails/spec/resources/views/tag_spec/no_tags.html.erb +1 -0
  603. data/lib/vendor/plugins/rspec-rails/spec/resources/views/tag_spec/single_div_with_no_attributes.html.erb +1 -0
  604. data/lib/vendor/plugins/rspec-rails/spec/resources/views/tag_spec/single_div_with_one_attribute.html.erb +1 -0
  605. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/_partial.html.erb +2 -0
  606. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/_partial_used_twice.html.erb +0 -0
  607. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/_partial_with_local_variable.html.erb +1 -0
  608. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/_partial_with_sub_partial.html.erb +1 -0
  609. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/_spacer.html.erb +1 -0
  610. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/accessor.html.erb +5 -0
  611. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/block_helper.html.erb +3 -0
  612. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/entry_form.html.erb +2 -0
  613. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/explicit_helper.html.erb +2 -0
  614. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/foo/show.html.erb +1 -0
  615. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/implicit_helper.html.erb +2 -0
  616. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/multiple_helpers.html.erb +3 -0
  617. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/path_params.html.erb +1 -0
  618. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/should_not_receive.html.erb +3 -0
  619. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/template_with_partial.html.erb +5 -0
  620. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/template_with_partial_using_collection.html.erb +3 -0
  621. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/template_with_partial_with_array.html.erb +1 -0
  622. data/lib/vendor/plugins/rspec-rails/spec/resources/views/view_spec/view_helpers.html.erb +1 -0
  623. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/assigns_hash_proxy_spec.rb +109 -0
  624. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/configuration_spec.rb +65 -0
  625. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/controller_example_group_spec.rb +307 -0
  626. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/controller_isolation_spec.rb +75 -0
  627. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/cookies_proxy_spec.rb +87 -0
  628. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/error_handling_spec.rb +90 -0
  629. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/example_group_factory_spec.rb +112 -0
  630. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/helper_example_group_spec.rb +233 -0
  631. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/model_example_group_spec.rb +20 -0
  632. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/routing_example_group_spec.rb +10 -0
  633. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/shared_routing_example_group_examples.rb +237 -0
  634. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb +33 -0
  635. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/example/view_example_group_spec.rb +349 -0
  636. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/extensions/action_view_base_spec.rb +74 -0
  637. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/extensions/active_record_spec.rb +14 -0
  638. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/interop/testcase_spec.rb +70 -0
  639. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/ar_be_valid_spec.rb +19 -0
  640. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/assert_select_spec.rb +835 -0
  641. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/errors_on_spec.rb +37 -0
  642. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/have_text_spec.rb +69 -0
  643. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb +62 -0
  644. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/redirect_to_spec.rb +253 -0
  645. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/render_template_spec.rb +208 -0
  646. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/should_change_spec.rb +15 -0
  647. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/mocks/ar_classes.rb +10 -0
  648. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/mocks/mock_model_spec.rb +106 -0
  649. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/mocks/stub_model_spec.rb +80 -0
  650. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/sample_modified_fixture.rb +8 -0
  651. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/sample_spec.rb +8 -0
  652. data/lib/vendor/plugins/rspec-rails/spec/spec/rails/spec_spec.rb +11 -0
  653. data/lib/vendor/plugins/rspec-rails/spec/spec_helper.rb +78 -0
  654. data/lib/vendor/plugins/validation_reflection/VERSION.yml +4 -0
  655. data/lib/vendor/plugins/validation_reflection/about.yml +7 -0
  656. data/lib/vendor/plugins/validation_reflection/lib/validation_reflection.rb +148 -0
  657. data/lib/vendor/plugins/validation_reflection/rails/init.rb +2 -0
  658. data/lib/vendor/plugins/validation_reflection/test/test_helper.rb +19 -0
  659. data/lib/vendor/plugins/validation_reflection/test/validation_reflection_test.rb +123 -0
  660. data/lib/vendor/plugins/validation_reflection/validation_reflection.gemspec +52 -0
  661. metadata +724 -0
@@ -0,0 +1,52 @@
1
+ module RCov
2
+ # A task that can verify that the RCov coverage doesn't
3
+ # drop below a certain threshold. It should be run after
4
+ # running Spec::Rake::SpecTask.
5
+ class VerifyTask < Rake::TaskLib
6
+ # Name of the task. Defaults to :verify_rcov
7
+ attr_accessor :name
8
+
9
+ # Path to the index.html file generated by RCov, which
10
+ # is the file containing the total coverage.
11
+ # Defaults to 'coverage/index.html'
12
+ attr_accessor :index_html
13
+
14
+ # Whether or not to output details. Defaults to true.
15
+ attr_accessor :verbose
16
+
17
+ # The threshold value (in percent) for coverage. If the
18
+ # actual coverage is not equal to this value, the task will raise an
19
+ # exception.
20
+ attr_accessor :threshold
21
+
22
+ # Require the threshold value be met exactly. This is the default.
23
+ attr_accessor :require_exact_threshold
24
+
25
+ def initialize(name=:verify_rcov)
26
+ @name = name
27
+ @index_html = 'coverage/index.html'
28
+ @verbose = true
29
+ @require_exact_threshold = true
30
+ yield self if block_given?
31
+ raise "Threshold must be set" if @threshold.nil?
32
+ define
33
+ end
34
+
35
+ def define
36
+ desc "Verify that rcov coverage is at least #{threshold}%"
37
+ task @name do
38
+ total_coverage = 0
39
+
40
+ File.open(index_html).each_line do |line|
41
+ if line =~ /<tt class='coverage_total'>\s*(\d+\.\d+)%\s*<\/tt>/
42
+ total_coverage = $1.to_f
43
+ break
44
+ end
45
+ end
46
+ puts "Coverage: #{total_coverage}% (threshold: #{threshold}%)" if verbose
47
+ raise "Coverage must be at least #{threshold}% but was #{total_coverage}%" if total_coverage < threshold
48
+ raise "Coverage has increased above the threshold of #{threshold}% to #{total_coverage}%. You should update your threshold value." if (total_coverage > threshold) and require_exact_threshold
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,9 @@
1
+ module Spec
2
+ module Ruby
3
+ class << self
4
+ def version
5
+ RUBY_VERSION
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,77 @@
1
+ module Spec
2
+ module Runner
3
+ class BacktraceTweaker
4
+ def initialize(*patterns)
5
+ @ignore_patterns = []
6
+ end
7
+
8
+ def clean_up_double_slashes(line)
9
+ line.gsub!('//','/')
10
+ end
11
+
12
+ def ignore_patterns(*patterns)
13
+ # do nothing. Only QuietBacktraceTweaker ignores patterns.
14
+ end
15
+
16
+ def ignored_patterns
17
+ []
18
+ end
19
+
20
+ def tweak_backtrace(error)
21
+ return if error.backtrace.nil?
22
+ tweaked = error.backtrace.collect do |message|
23
+ clean_up_double_slashes(message)
24
+ kept_lines = message.split("\n").select do |line|
25
+ ignored_patterns.each do |ignore|
26
+ break if line =~ ignore
27
+ end
28
+ end
29
+ kept_lines.empty?? nil : kept_lines.join("\n")
30
+ end
31
+ error.set_backtrace(tweaked.select {|line| line})
32
+ end
33
+ end
34
+
35
+ class NoisyBacktraceTweaker < BacktraceTweaker
36
+ end
37
+
38
+ # Tweaks raised Exceptions to mask noisy (unneeded) parts of the backtrace
39
+ class QuietBacktraceTweaker < BacktraceTweaker
40
+ unless defined?(IGNORE_PATTERNS)
41
+ spec_files = Dir["lib/*"].map do |path|
42
+ subpath = path[1..-1]
43
+ /#{subpath}/
44
+ end
45
+ IGNORE_PATTERNS = spec_files + [
46
+ /\/rspec-[^\/]*\/lib\/spec\//,
47
+ /\/spork-[^\/]*\/lib\/spork\//,
48
+ /\/lib\/ruby\//,
49
+ /bin\/spec:/,
50
+ /bin\/spork:/,
51
+ /bin\/rcov:/,
52
+ /lib\/rspec-rails/,
53
+ /vendor\/rails/,
54
+ # TextMate's Ruby and RSpec plugins
55
+ /Ruby\.tmbundle\/Support\/tmruby.rb:/,
56
+ /RSpec\.tmbundle\/Support\/lib/,
57
+ /temp_textmate\./,
58
+ /mock_frameworks\/rspec/,
59
+ /spec_server/
60
+ ]
61
+ end
62
+
63
+ def initialize(*patterns)
64
+ super
65
+ ignore_patterns(*patterns)
66
+ end
67
+
68
+ def ignore_patterns(*patterns)
69
+ @ignore_patterns += patterns.flatten.map { |pattern| Regexp.new(pattern) }
70
+ end
71
+
72
+ def ignored_patterns
73
+ IGNORE_PATTERNS + @ignore_patterns
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,14 @@
1
+ module Spec
2
+ module Runner
3
+ class ClassAndArgumentsParser
4
+ def self.parse(s)
5
+ if s =~ /([a-zA-Z_]+(?:::[a-zA-Z_]+)*):?(.*)/
6
+ arg = $2 == "" ? nil : $2
7
+ [$1, arg]
8
+ else
9
+ raise "Couldn't parse #{s.inspect}"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec/runner/option_parser'
2
+
3
+ module Spec
4
+ module Runner
5
+ class CommandLine
6
+ def self.run(tmp_options=Spec::Runner.options)
7
+ orig_options = Spec::Runner.options
8
+ Spec::Runner.use tmp_options
9
+ tmp_options.run_examples
10
+ ensure
11
+ Spec::Runner.use orig_options
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,194 @@
1
+ module Spec
2
+ module Runner
3
+ class Configuration
4
+ include Spec::Example::ArgsAndOptions
5
+
6
+ # Chooses what mock framework to use. Example:
7
+ #
8
+ # Spec::Runner.configure do |config|
9
+ # config.mock_with :rspec, :mocha, :flexmock, or :rr
10
+ # end
11
+ #
12
+ # To use any other mock framework, you'll have to provide your own
13
+ # adapter. This is simply a module that responds to the following
14
+ # methods:
15
+ #
16
+ # setup_mocks_for_rspec
17
+ # verify_mocks_for_rspec
18
+ # teardown_mocks_for_rspec.
19
+ #
20
+ # These are your hooks into the lifecycle of a given example. RSpec will
21
+ # call setup_mocks_for_rspec before running anything else in each
22
+ # Example. After executing the #after methods, RSpec will then call
23
+ # verify_mocks_for_rspec and teardown_mocks_for_rspec (this is
24
+ # guaranteed to run even if there are failures in
25
+ # verify_mocks_for_rspec).
26
+ #
27
+ # Once you've defined this module, you can pass that to mock_with:
28
+ #
29
+ # Spec::Runner.configure do |config|
30
+ # config.mock_with MyMockFrameworkAdapter
31
+ # end
32
+ #
33
+ def mock_with(mock_framework)
34
+ @mock_framework = case mock_framework
35
+ when Symbol
36
+ mock_framework_path(mock_framework.to_s)
37
+ else
38
+ mock_framework
39
+ end
40
+ end
41
+
42
+ def mock_framework # :nodoc:
43
+ @mock_framework ||= mock_framework_path("rspec")
44
+ end
45
+
46
+ # :call-seq:
47
+ # include(Some::Helpers)
48
+ # include(Some::Helpers, More::Helpers)
49
+ # include(My::Helpers, :type => :key)
50
+ #
51
+ # Declares modules to be included in multiple example groups
52
+ # (<tt>describe</tt> blocks). With no <tt>:type</tt>, the modules listed
53
+ # will be included in all example groups.
54
+ #
55
+ # Use <tt>:type</tt> to restrict
56
+ # the inclusion to a subset of example groups. The value assigned to
57
+ # <tt>:type</tt> should be a key that maps to a class that is either a
58
+ # subclass of Spec::Example::ExampleGroup or extends
59
+ # Spec::Example::ExampleGroupMethods and includes
60
+ # Spec::Example::ExampleMethods.
61
+ #
62
+ # For example, the rspec-rails gem/plugin extends Test::Unit::TestCase
63
+ # with Spec::Example::ExampleGroupMethods and includes
64
+ # Spec::Example::ExampleMethods in it. So if you have a module of helper
65
+ # methods for controller examples, you could do this:
66
+ #
67
+ # config.include(ControllerExampleHelpers, :type => :controller)
68
+ #
69
+ # Only example groups that have that type will get the modules included:
70
+ #
71
+ # describe Account, :type => :model do
72
+ # # Will *not* include ControllerExampleHelpers
73
+ # end
74
+ #
75
+ # describe AccountsController, :type => :controller do
76
+ # # *Will* include ControllerExampleHelpers
77
+ # end
78
+ #
79
+ def include(*modules_and_options)
80
+ include_or_extend(:include, *modules_and_options)
81
+ end
82
+
83
+ # :call-seq:
84
+ # extend(Some::Helpers)
85
+ # extend(Some::Helpers, More::Helpers)
86
+ # extend(My::Helpers, :type => :key)
87
+ #
88
+ # Works just like #include, but extends the example groups
89
+ # with the modules rather than including them.
90
+ def extend(*modules_and_options)
91
+ include_or_extend(:extend, *modules_and_options)
92
+ end
93
+
94
+ # Appends a global <tt>before</tt> block to all example groups.
95
+ # <tt>scope</tt> can be any of <tt>:each</tt> (default), <tt>:all</tt>, or
96
+ # <tt>:suite</tt>. When <tt>:each</tt>, the block is executed before each
97
+ # example. When <tt>:all</tt>, the block is executed once per example
98
+ # group, before any of its examples are run. When <tt>:suite</tt> the
99
+ # block is run once before the entire suite is run.
100
+ def append_before(scope = :each, options={}, &proc)
101
+ add_callback(:append_before, scope, options, &proc)
102
+ end
103
+ alias_method :before, :append_before
104
+
105
+ # Prepends a global <tt>before</tt> block to all example groups.
106
+ #
107
+ # See <tt>append_before</tt> for scoping semantics.
108
+ def prepend_before(scope = :each, options={}, &proc)
109
+ add_callback(:prepend_before, scope, options, &proc)
110
+ end
111
+
112
+ # Prepends a global <tt>after</tt> block to all example groups.
113
+ #
114
+ # See <tt>append_before</tt> for scoping semantics.
115
+ def prepend_after(scope = :each, options={}, &proc)
116
+ add_callback(:prepend_after, scope, options, &proc)
117
+ end
118
+ alias_method :after, :prepend_after
119
+
120
+ # Appends a global <tt>after</tt> block to all example groups.
121
+ #
122
+ # See <tt>append_before</tt> for scoping semantics.
123
+ def append_after(scope = :each, options={}, &proc)
124
+ add_callback(:append_after, scope, options, &proc)
125
+ end
126
+
127
+ # DEPRECATED - use Spec::Matchers::DSL instead
128
+ #
129
+ # Defines global predicate matchers. Example:
130
+ #
131
+ # config.predicate_matchers[:swim] = :can_swim?
132
+ #
133
+ # This makes it possible to say:
134
+ #
135
+ # person.should swim # passes if person.can_swim? returns true
136
+ #
137
+ def predicate_matchers
138
+ @predicate_matchers ||= Spec::HashWithDeprecationNotice.new("predicate_matchers", "the new Matcher DSL")
139
+ end
140
+
141
+ # Adds patterns to the list of patterns ignored in the backtrace when a
142
+ # failure is output by rspec. Example:
143
+ #
144
+ # config.ignore_backtrace_patterns /spork/, /shoulda/, "/some/weird/path/"
145
+ #
146
+ # When quiet backtraces are turned on (default), this will exclude any
147
+ # lines that match any of the Regexps and Strings passed.
148
+ #
149
+ def ignore_backtrace_patterns(*patterns)
150
+ @ignored_backtrace_patterns ||= []
151
+ @ignored_backtrace_patterns += patterns
152
+ end
153
+
154
+ def ignored_backtrace_patterns # :nodoc:
155
+ @ignored_backtrace_patterns ||= []
156
+ end
157
+
158
+ private
159
+
160
+ def include_or_extend(action, *args)
161
+ modules, options = args_and_options(*args)
162
+ [get_type_from_options(options)].flatten.each do |required_example_group|
163
+ required_example_group = required_example_group.to_sym if required_example_group
164
+ modules.each do |mod|
165
+ Spec::Example::ExampleGroupFactory[required_example_group].__send__(action, mod)
166
+ end
167
+ end
168
+ end
169
+
170
+ def add_callback(sym, *args, &proc)
171
+ scope, options = scope_and_options(*args)
172
+ example_group = Spec::Example::ExampleGroupFactory[get_type_from_options(options)]
173
+ example_group.__send__(sym, scope, &proc)
174
+ end
175
+
176
+ def get_type_from_options(options)
177
+ options[:type] || options[:behaviour_type]
178
+ end
179
+
180
+ def mock_framework_path(framework_name)
181
+ "spec/adapters/mock_frameworks/#{framework_name}"
182
+ end
183
+
184
+ def scope_and_options(*args) # :nodoc:
185
+ args, options = args_and_options(*args)
186
+ return scope_from(*args), options
187
+ end
188
+
189
+ def scope_from(*args) # :nodoc:
190
+ args[0] || :each
191
+ end
192
+ end
193
+ end
194
+ end
@@ -0,0 +1,93 @@
1
+ require 'spec/runner/differs/load-diff-lcs'
2
+ require 'pp'
3
+
4
+ module Spec
5
+ module Expectations
6
+ module Differs
7
+ unless defined?(Default)
8
+ class Default
9
+ def initialize(options)
10
+ @options = options
11
+ end
12
+
13
+ # This is snagged from diff/lcs/ldiff.rb (which is a commandline tool)
14
+ def diff_as_string(data_new, data_old)
15
+ data_old = data_old.split(/\n/).map! { |e| e.chomp }
16
+ data_new = data_new.split(/\n/).map! { |e| e.chomp }
17
+ output = ""
18
+ diffs = Diff::LCS.diff(data_old, data_new)
19
+ return output if diffs.empty?
20
+ oldhunk = hunk = nil
21
+ file_length_difference = 0
22
+ diffs.each do |piece|
23
+ begin
24
+ hunk = Diff::LCS::Hunk.new(data_old, data_new, piece, context_lines,
25
+ file_length_difference)
26
+ file_length_difference = hunk.file_length_difference
27
+ next unless oldhunk
28
+ # Hunks may overlap, which is why we need to be careful when our
29
+ # diff includes lines of context. Otherwise, we might print
30
+ # redundant lines.
31
+ if (context_lines > 0) and hunk.overlaps?(oldhunk)
32
+ hunk.unshift(oldhunk)
33
+ else
34
+ output << oldhunk.diff(format)
35
+ end
36
+ ensure
37
+ oldhunk = hunk
38
+ output << "\n"
39
+ end
40
+ end
41
+ #Handle the last remaining hunk
42
+ output << oldhunk.diff(format) << "\n"
43
+ end
44
+
45
+ def diff_as_object(target,expected)
46
+ diff_as_string(PP.pp(target,""), PP.pp(expected,""))
47
+ end
48
+
49
+ def diff_as_hash(target, expected)
50
+ contains_hash = false
51
+ contains_array = false
52
+
53
+ extra_expected_keys = expected.keys - target.keys
54
+ extra_target_keys = target.keys - expected.keys
55
+
56
+ o = "\n"
57
+
58
+ o << "Expected hash contains keys that target hash does not: " << extra_expected_keys.inspect << "\n" if !extra_expected_keys.empty?
59
+ o << "Target hash contains keys that expected hash does not: " << extra_target_keys.inspect << "\n" if !extra_target_keys.empty?
60
+
61
+ expected.delete_if do |key, value|
62
+ contains_hash = true if value.is_a?(Hash)
63
+ contains_array = true if value.is_a?(Array)
64
+ target[key] == value
65
+ end
66
+
67
+ expected.keys.sort { |a,b| a.to_s <=> b.to_s }.each do |key|
68
+ o << "Expected the key #{key.inspect} to be #{expected[key].inspect}, but was #{target[key].inspect}\n"
69
+ end
70
+
71
+ o << "\n"
72
+
73
+ if contains_hash || contains_array
74
+ o << diff_as_object(target, expected)
75
+ else
76
+ o
77
+ end
78
+ end
79
+
80
+ protected
81
+ def format
82
+ @options.diff_format
83
+ end
84
+
85
+ def context_lines
86
+ @options.context_lines
87
+ end
88
+ end
89
+
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,12 @@
1
+ begin
2
+ require 'diff/lcs'
3
+ rescue LoadError
4
+ begin
5
+ require 'rubygems' unless ENV['NO_RUBYGEMS']
6
+ require 'diff/lcs'
7
+ rescue LoadError
8
+ raise "You must gem install diff-lcs to use diffing"
9
+ end
10
+ end
11
+
12
+ require 'diff/lcs/hunk'
@@ -0,0 +1,26 @@
1
+ require "drb/drb"
2
+
3
+ module Spec
4
+ module Runner
5
+ # Facade to run specs by connecting to a DRB server
6
+ class DrbCommandLine
7
+ # Runs specs on a DRB server. Note that this API is similar to that of
8
+ # CommandLine - making it possible for clients to use both interchangeably.
9
+ def self.run(options)
10
+ begin
11
+ begin; \
12
+ DRb.start_service("druby://localhost:0"); \
13
+ rescue SocketError; \
14
+ DRb.start_service("druby://:0"); \
15
+ end
16
+ spec_server = DRbObject.new_with_uri("druby://127.0.0.1:8989")
17
+ spec_server.run(options.argv, options.error_stream, options.output_stream)
18
+ true
19
+ rescue DRb::DRbConnError
20
+ options.error_stream.puts "No server is running"
21
+ false
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,59 @@
1
+ module Spec
2
+ module Runner
3
+ class ExampleGroupRunner
4
+ def initialize(options)
5
+ @options = options
6
+ end
7
+
8
+ def load_files(files)
9
+ $KCODE = 'u' if RUBY_VERSION.to_f < 1.9
10
+ # It's important that loading files (or choosing not to) stays the
11
+ # responsibility of the ExampleGroupRunner. Some implementations (like)
12
+ # the one using DRb may choose *not* to load files, but instead tell
13
+ # someone else to do it over the wire.
14
+ files.each do |file|
15
+ load file
16
+ end
17
+ end
18
+
19
+ def run
20
+ prepare
21
+ success = true
22
+ example_groups.each do |example_group|
23
+ success = success & example_group.run(@options)
24
+ end
25
+ return success
26
+ ensure
27
+ finish
28
+ end
29
+
30
+ protected
31
+
32
+ def prepare
33
+ reporter.start(number_of_examples)
34
+ example_groups.reverse! if reverse
35
+ end
36
+
37
+ def finish
38
+ reporter.end
39
+ reporter.dump
40
+ end
41
+
42
+ def reporter
43
+ @options.reporter
44
+ end
45
+
46
+ def reverse
47
+ @options.reverse
48
+ end
49
+
50
+ def example_groups
51
+ @options.example_groups
52
+ end
53
+
54
+ def number_of_examples
55
+ @options.number_of_examples
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,9 @@
1
+ module Kernel
2
+ unless respond_to?(:debugger)
3
+ # Start a debugging session if ruby-debug is loaded with the -u/--debugger option
4
+ def debugger(steps=1)
5
+ # If not then just comment and proceed
6
+ $stderr.puts "debugger statement ignored, use -u or --debugger option on rspec to enable debugging"
7
+ end
8
+ end
9
+ end