pictrails 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (944) hide show
  1. data/.autotest +8 -0
  2. data/History.txt +80 -0
  3. data/MIT-LICENSE +21 -0
  4. data/Manifest.txt +943 -0
  5. data/README.txt +88 -0
  6. data/Rakefile +10 -0
  7. data/app/controllers/admin/base_controller.rb +12 -0
  8. data/app/controllers/admin/comments_controller.rb +49 -0
  9. data/app/controllers/admin/galleries_controller.rb +110 -0
  10. data/app/controllers/admin/pictures_controller.rb +85 -0
  11. data/app/controllers/admin/sessions_controller.rb +26 -0
  12. data/app/controllers/admin/settings_controller.rb +44 -0
  13. data/app/controllers/admin/users_controller.rb +40 -0
  14. data/app/controllers/application.rb +54 -0
  15. data/app/controllers/galleries_controller.rb +61 -0
  16. data/app/controllers/pictures_controller.rb +57 -0
  17. data/app/controllers/tags_controller.rb +12 -0
  18. data/app/helpers/admin/base_helper.rb +36 -0
  19. data/app/helpers/admin/comments_helper.rb +2 -0
  20. data/app/helpers/admin/galleries_helper.rb +2 -0
  21. data/app/helpers/admin/pictures_helper.rb +2 -0
  22. data/app/helpers/admin/sessions_helper.rb +2 -0
  23. data/app/helpers/admin/users_helper.rb +2 -0
  24. data/app/helpers/application_helper.rb +87 -0
  25. data/app/helpers/galleries_helper.rb +2 -0
  26. data/app/helpers/pictures_helper.rb +12 -0
  27. data/app/models/comment.rb +6 -0
  28. data/app/models/gallery.rb +173 -0
  29. data/app/models/import.rb +25 -0
  30. data/app/models/picture.rb +104 -0
  31. data/app/models/setting.rb +102 -0
  32. data/app/models/tag.rb +30 -0
  33. data/app/models/thumbnail.rb +8 -0
  34. data/app/models/user.rb +52 -0
  35. data/app/sweepers/gallery_sweeper.rb +25 -0
  36. data/app/sweepers/page_cache.rb +66 -0
  37. data/app/sweepers/picture_sweeper.rb +26 -0
  38. data/app/sweepers/setting_sweeper.rb +11 -0
  39. data/app/views/admin/comments/edit.html.erb +35 -0
  40. data/app/views/admin/comments/index.html.erb +38 -0
  41. data/app/views/admin/comments/show.html.erb +16 -0
  42. data/app/views/admin/galleries/_follow_import.html.erb +17 -0
  43. data/app/views/admin/galleries/edit.html.erb +90 -0
  44. data/app/views/admin/galleries/follow_import.html.erb +7 -0
  45. data/app/views/admin/galleries/follow_import.js.rjs +6 -0
  46. data/app/views/admin/galleries/index.html.erb +43 -0
  47. data/app/views/admin/galleries/new.html.erb +44 -0
  48. data/app/views/admin/galleries/new_by_mass_upload.html.erb +28 -0
  49. data/app/views/admin/galleries/show.html.erb +54 -0
  50. data/app/views/admin/pictures/_picture.html.erb +12 -0
  51. data/app/views/admin/pictures/edit.html.erb +59 -0
  52. data/app/views/admin/pictures/index.html.erb +17 -0
  53. data/app/views/admin/pictures/new.html.erb +56 -0
  54. data/app/views/admin/pictures/show.html.erb +55 -0
  55. data/app/views/admin/sessions/new.html.erb +28 -0
  56. data/app/views/admin/settings/_follow_setting_update.html.erb +16 -0
  57. data/app/views/admin/settings/follow_setting_update.html.erb +7 -0
  58. data/app/views/admin/settings/follow_setting_update.js.rjs +6 -0
  59. data/app/views/admin/settings/index.html.erb +65 -0
  60. data/app/views/admin/users/new.html.erb +32 -0
  61. data/app/views/comments/_comment.html.erb +6 -0
  62. data/app/views/galleries/_gallery.html.erb +6 -0
  63. data/app/views/galleries/_list_pictures.html.erb +22 -0
  64. data/app/views/galleries/_sidebar_gallery.html.erb +13 -0
  65. data/app/views/galleries/_top_show.html.erb +10 -0
  66. data/app/views/galleries/index.html.erb +11 -0
  67. data/app/views/galleries/show.atom.builder +22 -0
  68. data/app/views/galleries/show.html.erb +28 -0
  69. data/app/views/layouts/administration.html.erb +48 -0
  70. data/app/views/layouts/application.html.erb +38 -0
  71. data/app/views/pictures/_picture.html.erb +13 -0
  72. data/app/views/pictures/index.html.erb +11 -0
  73. data/app/views/pictures/show.html.erb +51 -0
  74. data/app/views/tags/_sidebar_tag.html.erb +20 -0
  75. data/app/views/tags/show.html.erb +14 -0
  76. data/config/boot.rb +109 -0
  77. data/config/database.yml.example +25 -0
  78. data/config/environment.rb +63 -0
  79. data/config/environments/development.rb +19 -0
  80. data/config/environments/production.rb +18 -0
  81. data/config/environments/stories.rb +19 -0
  82. data/config/environments/test.rb +22 -0
  83. data/config/initializers/inflections.rb +10 -0
  84. data/config/initializers/mime_types.rb +5 -0
  85. data/config/initializers/new_rails_defaults.rb +15 -0
  86. data/config/routes.rb +66 -0
  87. data/db/migrate/001_create_galleries.rb +20 -0
  88. data/db/migrate/002_create_pictures.rb +28 -0
  89. data/db/migrate/003_create_thumbnails_table.rb +17 -0
  90. data/db/migrate/004_create_users.rb +20 -0
  91. data/db/migrate/005_create_settings.rb +12 -0
  92. data/db/migrate/006_add_permalink_to_galleries.rb +15 -0
  93. data/db/migrate/007_add_permalink_to_picture.rb +15 -0
  94. data/db/migrate/008_create_imports.rb +15 -0
  95. data/db/migrate/009_delete_timestamp_and_add_number.rb +13 -0
  96. data/db/migrate/010_add_parent_id_for_gallery.rb +9 -0
  97. data/db/migrate/20080618220812_acts_as_taggable_migration.rb +26 -0
  98. data/db/migrate/20080824170446_add_picture_id_in_import.rb +11 -0
  99. data/db/migrate/20080910173454_create_comments.rb +19 -0
  100. data/db/schema.rb +110 -0
  101. data/lib/authenticated_system.rb +116 -0
  102. data/lib/authenticated_test_helper.rb +10 -0
  103. data/lib/config_manager.rb +96 -0
  104. data/lib/pictrails/caching_methods.rb +15 -0
  105. data/lib/pictrails/import_system.rb +37 -0
  106. data/lib/pictrails/mass_upload.rb +29 -0
  107. data/lib/pictrails/version.rb +9 -0
  108. data/lib/tasks/cache.rake +6 -0
  109. data/lib/tasks/rspec.rake +132 -0
  110. data/lib/tasks/story.rake +12 -0
  111. data/log/keep +0 -0
  112. data/public/.htaccess +40 -0
  113. data/public/404.html +30 -0
  114. data/public/422.html +30 -0
  115. data/public/500.html +30 -0
  116. data/public/dispatch.cgi +10 -0
  117. data/public/dispatch.fcgi +24 -0
  118. data/public/dispatch.rb +10 -0
  119. data/public/favicon.ico +0 -0
  120. data/public/images/README +2 -0
  121. data/public/images/accept.png +0 -0
  122. data/public/images/accept50.png +0 -0
  123. data/public/images/admin/bc-bg.gif +0 -0
  124. data/public/images/admin/bgdivider.gif +0 -0
  125. data/public/images/admin/bgdivider.png +0 -0
  126. data/public/images/admin/bgoff.png +0 -0
  127. data/public/images/admin/bgoff2.png +0 -0
  128. data/public/images/admin/bgon.png +0 -0
  129. data/public/images/admin/bgover.png +0 -0
  130. data/public/images/admin/bgselected.png +0 -0
  131. data/public/images/admin/cancel.png +0 -0
  132. data/public/images/admin/checked.png +0 -0
  133. data/public/images/admin/delete.png +0 -0
  134. data/public/images/admin/edit.png +0 -0
  135. data/public/images/admin/error.png +0 -0
  136. data/public/images/admin/foot.jpg +0 -0
  137. data/public/images/admin/help.png +0 -0
  138. data/public/images/admin/loginformbg.png +0 -0
  139. data/public/images/admin/remove.png +0 -0
  140. data/public/images/admin/show.png +0 -0
  141. data/public/images/admin/table-header-first.png +0 -0
  142. data/public/images/admin/table-header-last.png +0 -0
  143. data/public/images/admin/table-header.png +0 -0
  144. data/public/images/admin/top.gif +0 -0
  145. data/public/images/bg_white.png +0 -0
  146. data/public/images/email_open.png +0 -0
  147. data/public/images/email_open50.png +0 -0
  148. data/public/images/page_edit50.png +0 -0
  149. data/public/images/user.png +0 -0
  150. data/public/images/user50.png +0 -0
  151. data/public/images/world_link.png +0 -0
  152. data/public/images/world_link50.png +0 -0
  153. data/public/javascripts/application.js +2 -0
  154. data/public/javascripts/controls.js +963 -0
  155. data/public/javascripts/dragdrop.js +972 -0
  156. data/public/javascripts/effects.js +1120 -0
  157. data/public/javascripts/follow_import.js +7 -0
  158. data/public/javascripts/follow_setting_update.js +7 -0
  159. data/public/javascripts/prototype.js +4225 -0
  160. data/public/no_picture.png +0 -0
  161. data/public/robots.txt +5 -0
  162. data/public/stylesheets/administration.css +998 -0
  163. data/public/stylesheets/pictrails.css +260 -0
  164. data/script/about +3 -0
  165. data/script/autospec +3 -0
  166. data/script/console +3 -0
  167. data/script/dbconsole +3 -0
  168. data/script/destroy +3 -0
  169. data/script/generate +3 -0
  170. data/script/performance/benchmarker +3 -0
  171. data/script/performance/profiler +3 -0
  172. data/script/performance/request +3 -0
  173. data/script/plugin +3 -0
  174. data/script/process/inspector +3 -0
  175. data/script/process/reaper +3 -0
  176. data/script/process/spawner +3 -0
  177. data/script/runner +3 -0
  178. data/script/server +3 -0
  179. data/script/spec +4 -0
  180. data/script/spec_server +116 -0
  181. data/spec/controllers/admin/comments_controller_spec.rb +117 -0
  182. data/spec/controllers/admin/galleries_controller_spec.rb +247 -0
  183. data/spec/controllers/admin/pictures_controller_spec.rb +114 -0
  184. data/spec/controllers/admin/sessions_controller_spec.rb +36 -0
  185. data/spec/controllers/admin/settings_controller_spec.rb +54 -0
  186. data/spec/controllers/admin/users_controller_spec.rb +48 -0
  187. data/spec/controllers/galleries_controller_spec.rb +138 -0
  188. data/spec/controllers/pictures_controller_spec.rb +78 -0
  189. data/spec/fixtures/files/foo-2.PNG +0 -0
  190. data/spec/fixtures/files/foo.png +0 -0
  191. data/spec/fixtures/files/rails-2.png +0 -0
  192. data/spec/fixtures/files/rails-3.png +0 -0
  193. data/spec/fixtures/files/rails.png +0 -0
  194. data/spec/fixtures/galleries.yml +38 -0
  195. data/spec/fixtures/imports.yml +19 -0
  196. data/spec/fixtures/pictures.yml +108 -0
  197. data/spec/fixtures/settings.yml +8 -0
  198. data/spec/fixtures/taggings.yml +17 -0
  199. data/spec/fixtures/tags.yml +6 -0
  200. data/spec/fixtures/thumbnails.yml +30 -0
  201. data/spec/fixtures/users.yml +15 -0
  202. data/spec/helpers/admin/admin_base_helper_spec.rb +15 -0
  203. data/spec/helpers/admin/comments_helper_spec.rb +11 -0
  204. data/spec/helpers/admin/pictures_helper_spec.rb +5 -0
  205. data/spec/helpers/application_helper_spec.rb +37 -0
  206. data/spec/lib/import_spec.rb +115 -0
  207. data/spec/lib/mass_upload_spec.rb +35 -0
  208. data/spec/models/comment_spec.rb +24 -0
  209. data/spec/models/gallery_spec.rb +256 -0
  210. data/spec/models/import_spec.rb +11 -0
  211. data/spec/models/picture_spec.rb +139 -0
  212. data/spec/models/setting_spec.rb +74 -0
  213. data/spec/models/user_spec.rb +52 -0
  214. data/spec/rcov.opts +2 -0
  215. data/spec/spec.opts +4 -0
  216. data/spec/spec_helper.rb +39 -0
  217. data/stories/add_gallery_story +29 -0
  218. data/stories/all.rb +18 -0
  219. data/stories/helper.rb +16 -0
  220. data/stories/integration_test_file_upload_deep.rb +60 -0
  221. data/stories/signup_story +37 -0
  222. data/stories/steps/admin_steps.rb +6 -0
  223. data/stories/steps/gallery_steps.rb +38 -0
  224. data/stories/steps/general_steps.rb +71 -0
  225. data/stories/steps/signup_steps.rb +25 -0
  226. data/stories/view_gallery_story +37 -0
  227. data/test/fixtures/comments.yml +15 -0
  228. data/test/functional/comment_controller_test.rb +8 -0
  229. data/test/functional/comments_controller_test.rb +8 -0
  230. data/test/unit/comment_test.rb +8 -0
  231. data/vendor/plugins/acts_as_taggable_on_steroids/CHANGELOG +167 -0
  232. data/vendor/plugins/acts_as_taggable_on_steroids/MIT-LICENSE +20 -0
  233. data/vendor/plugins/acts_as_taggable_on_steroids/README +148 -0
  234. data/vendor/plugins/acts_as_taggable_on_steroids/Rakefile +22 -0
  235. data/vendor/plugins/acts_as_taggable_on_steroids/generators/acts_as_taggable_migration/acts_as_taggable_migration_generator.rb +11 -0
  236. data/vendor/plugins/acts_as_taggable_on_steroids/generators/acts_as_taggable_migration/templates/migration.rb +26 -0
  237. data/vendor/plugins/acts_as_taggable_on_steroids/init.rb +1 -0
  238. data/vendor/plugins/acts_as_taggable_on_steroids/lib/acts_as_taggable.rb +214 -0
  239. data/vendor/plugins/acts_as_taggable_on_steroids/lib/tag.rb +26 -0
  240. data/vendor/plugins/acts_as_taggable_on_steroids/lib/tag_counts_extension.rb +3 -0
  241. data/vendor/plugins/acts_as_taggable_on_steroids/lib/tag_list.rb +91 -0
  242. data/vendor/plugins/acts_as_taggable_on_steroids/lib/tagging.rb +12 -0
  243. data/vendor/plugins/acts_as_taggable_on_steroids/lib/tags_helper.rb +13 -0
  244. data/vendor/plugins/acts_as_taggable_on_steroids/test/abstract_unit.rb +97 -0
  245. data/vendor/plugins/acts_as_taggable_on_steroids/test/acts_as_taggable_test.rb +347 -0
  246. data/vendor/plugins/acts_as_taggable_on_steroids/test/database.yml +10 -0
  247. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/magazine.rb +3 -0
  248. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/magazines.yml +7 -0
  249. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/photo.rb +8 -0
  250. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/photos.yml +24 -0
  251. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/post.rb +7 -0
  252. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/posts.yml +34 -0
  253. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/special_post.rb +2 -0
  254. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/subscription.rb +4 -0
  255. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/subscriptions.yml +3 -0
  256. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/taggings.yml +149 -0
  257. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/tags.yml +19 -0
  258. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/user.rb +7 -0
  259. data/vendor/plugins/acts_as_taggable_on_steroids/test/fixtures/users.yml +7 -0
  260. data/vendor/plugins/acts_as_taggable_on_steroids/test/schema.rb +37 -0
  261. data/vendor/plugins/acts_as_taggable_on_steroids/test/tag_list_test.rb +106 -0
  262. data/vendor/plugins/acts_as_taggable_on_steroids/test/tag_test.rb +34 -0
  263. data/vendor/plugins/acts_as_taggable_on_steroids/test/tagging_test.rb +13 -0
  264. data/vendor/plugins/acts_as_taggable_on_steroids/test/tags_helper_test.rb +28 -0
  265. data/vendor/plugins/acts_as_tree/README +26 -0
  266. data/vendor/plugins/acts_as_tree/Rakefile +22 -0
  267. data/vendor/plugins/acts_as_tree/init.rb +1 -0
  268. data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +96 -0
  269. data/vendor/plugins/atom_feed_helper/CHANGELOG +5 -0
  270. data/vendor/plugins/atom_feed_helper/MIT-LICENSE +20 -0
  271. data/vendor/plugins/atom_feed_helper/README +72 -0
  272. data/vendor/plugins/atom_feed_helper/Rakefile +22 -0
  273. data/vendor/plugins/atom_feed_helper/init.rb +2 -0
  274. data/vendor/plugins/atom_feed_helper/lib/atom_feed_helper.rb +111 -0
  275. data/vendor/plugins/atom_feed_helper/test/atom_feed_helper_test.rb +8 -0
  276. data/vendor/plugins/attachment_fu/CHANGELOG +35 -0
  277. data/vendor/plugins/attachment_fu/README +186 -0
  278. data/vendor/plugins/attachment_fu/Rakefile +22 -0
  279. data/vendor/plugins/attachment_fu/amazon_s3.yml.tpl +14 -0
  280. data/vendor/plugins/attachment_fu/init.rb +16 -0
  281. data/vendor/plugins/attachment_fu/install.rb +5 -0
  282. data/vendor/plugins/attachment_fu/lib/geometry.rb +93 -0
  283. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb +473 -0
  284. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/db_file_backend.rb +39 -0
  285. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb +101 -0
  286. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb +303 -0
  287. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/core_image_processor.rb +59 -0
  288. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/gd2_processor.rb +54 -0
  289. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb +61 -0
  290. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/mini_magick_processor.rb +59 -0
  291. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb +54 -0
  292. data/vendor/plugins/attachment_fu/test/backends/db_file_test.rb +16 -0
  293. data/vendor/plugins/attachment_fu/test/backends/file_system_test.rb +80 -0
  294. data/vendor/plugins/attachment_fu/test/backends/remote/s3_test.rb +107 -0
  295. data/vendor/plugins/attachment_fu/test/base_attachment_tests.rb +77 -0
  296. data/vendor/plugins/attachment_fu/test/basic_test.rb +70 -0
  297. data/vendor/plugins/attachment_fu/test/database.yml +18 -0
  298. data/vendor/plugins/attachment_fu/test/extra_attachment_test.rb +67 -0
  299. data/vendor/plugins/attachment_fu/test/fixtures/attachment.rb +148 -0
  300. data/vendor/plugins/attachment_fu/test/fixtures/files/fake/rails.png +0 -0
  301. data/vendor/plugins/attachment_fu/test/fixtures/files/foo.txt +1 -0
  302. data/vendor/plugins/attachment_fu/test/fixtures/files/rails.png +0 -0
  303. data/vendor/plugins/attachment_fu/test/geometry_test.rb +101 -0
  304. data/vendor/plugins/attachment_fu/test/processors/core_image_test.rb +37 -0
  305. data/vendor/plugins/attachment_fu/test/processors/gd2_test.rb +31 -0
  306. data/vendor/plugins/attachment_fu/test/processors/image_science_test.rb +31 -0
  307. data/vendor/plugins/attachment_fu/test/processors/mini_magick_test.rb +31 -0
  308. data/vendor/plugins/attachment_fu/test/processors/rmagick_test.rb +255 -0
  309. data/vendor/plugins/attachment_fu/test/schema.rb +108 -0
  310. data/vendor/plugins/attachment_fu/test/test_helper.rb +150 -0
  311. data/vendor/plugins/attachment_fu/test/validation_test.rb +55 -0
  312. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/color.rb +27 -0
  313. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/effects.rb +31 -0
  314. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/perspective.rb +25 -0
  315. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/quality.rb +25 -0
  316. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/scale.rb +47 -0
  317. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/watermark.rb +32 -0
  318. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/processor.rb +123 -0
  319. data/vendor/plugins/mimetype-fu/MIT-LICENSE +20 -0
  320. data/vendor/plugins/mimetype-fu/README +16 -0
  321. data/vendor/plugins/mimetype-fu/Rakefile +22 -0
  322. data/vendor/plugins/mimetype-fu/init.rb +2 -0
  323. data/vendor/plugins/mimetype-fu/install.rb +1 -0
  324. data/vendor/plugins/mimetype-fu/lib/extensions_const.rb +1 -0
  325. data/vendor/plugins/mimetype-fu/lib/mime_types.yml +776 -0
  326. data/vendor/plugins/mimetype-fu/lib/mimetype_fu.rb +35 -0
  327. data/vendor/plugins/mimetype-fu/spec/fixtures/file.jpg +0 -0
  328. data/vendor/plugins/mimetype-fu/spec/fixtures/file.rb +0 -0
  329. data/vendor/plugins/mimetype-fu/spec/fixtures/file.unknown +0 -0
  330. data/vendor/plugins/mimetype-fu/spec/mime_type_spec.rb +57 -0
  331. data/vendor/plugins/mimetype-fu/spec/spec_helper.rb +4 -0
  332. data/vendor/plugins/mimetype-fu/tasks/mimetype_fu_tasks.rake +4 -0
  333. data/vendor/plugins/mimetype-fu/test/mimetype_fu_test.rb +8 -0
  334. data/vendor/plugins/mimetype-fu/uninstall.rb +1 -0
  335. data/vendor/plugins/rspec-rails/History.txt +57 -0
  336. data/vendor/plugins/rspec-rails/Manifest.txt +158 -0
  337. data/vendor/plugins/rspec-rails/README.txt +81 -0
  338. data/vendor/plugins/rspec-rails/Rakefile +39 -0
  339. data/vendor/plugins/rspec-rails/UPGRADE +7 -0
  340. data/vendor/plugins/rspec-rails/generators/rspec/CHANGES +1 -0
  341. data/vendor/plugins/rspec-rails/generators/rspec/rspec_generator.rb +40 -0
  342. data/vendor/plugins/rspec-rails/generators/rspec/templates/all_stories.rb +4 -0
  343. data/vendor/plugins/rspec-rails/generators/rspec/templates/previous_failures.txt +0 -0
  344. data/vendor/plugins/rspec-rails/generators/rspec/templates/rcov.opts +2 -0
  345. data/vendor/plugins/rspec-rails/generators/rspec/templates/rspec.rake +132 -0
  346. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/autospec +3 -0
  347. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/spec +4 -0
  348. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/spec_server +116 -0
  349. data/vendor/plugins/rspec-rails/generators/rspec/templates/spec.opts +4 -0
  350. data/vendor/plugins/rspec-rails/generators/rspec/templates/spec_helper.rb +47 -0
  351. data/vendor/plugins/rspec-rails/generators/rspec/templates/stories_helper.rb +3 -0
  352. data/vendor/plugins/rspec-rails/generators/rspec_controller/USAGE +33 -0
  353. data/vendor/plugins/rspec-rails/generators/rspec_controller/rspec_controller_generator.rb +49 -0
  354. data/vendor/plugins/rspec-rails/generators/rspec_controller/templates/controller_spec.rb +25 -0
  355. data/vendor/plugins/rspec-rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
  356. data/vendor/plugins/rspec-rails/generators/rspec_controller/templates/view_spec.rb +12 -0
  357. data/vendor/plugins/rspec-rails/generators/rspec_default_values.rb +19 -0
  358. data/vendor/plugins/rspec-rails/generators/rspec_model/USAGE +18 -0
  359. data/vendor/plugins/rspec-rails/generators/rspec_model/rspec_model_generator.rb +35 -0
  360. data/vendor/plugins/rspec-rails/generators/rspec_model/templates/model_spec.rb +15 -0
  361. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +154 -0
  362. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/controller_spec.rb +173 -0
  363. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +26 -0
  364. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/helper_spec.rb +11 -0
  365. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/index_erb_spec.rb +27 -0
  366. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/new_erb_spec.rb +26 -0
  367. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/routing_spec.rb +59 -0
  368. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb +23 -0
  369. data/vendor/plugins/rspec-rails/init.rb +9 -0
  370. data/vendor/plugins/rspec-rails/lib/autotest/discover.rb +1 -0
  371. data/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb +76 -0
  372. data/vendor/plugins/rspec-rails/lib/spec/rails.rb +15 -0
  373. data/vendor/plugins/rspec-rails/lib/spec/rails/example.rb +47 -0
  374. data/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb +43 -0
  375. data/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb +256 -0
  376. data/vendor/plugins/rspec-rails/lib/spec/rails/example/cookies_proxy.rb +25 -0
  377. data/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb +87 -0
  378. data/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb +166 -0
  379. data/vendor/plugins/rspec-rails/lib/spec/rails/example/model_example_group.rb +14 -0
  380. data/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb +33 -0
  381. data/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb +93 -0
  382. data/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb +183 -0
  383. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb +12 -0
  384. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb +14 -0
  385. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb +21 -0
  386. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb +11 -0
  387. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb +31 -0
  388. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb +30 -0
  389. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/object.rb +5 -0
  390. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb +71 -0
  391. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb +21 -0
  392. data/vendor/plugins/rspec-rails/lib/spec/rails/interop/testcase.rb +14 -0
  393. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb +31 -0
  394. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb +131 -0
  395. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/change.rb +11 -0
  396. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb +57 -0
  397. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb +54 -0
  398. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb +113 -0
  399. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb +90 -0
  400. data/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb +132 -0
  401. data/vendor/plugins/rspec-rails/lib/spec/rails/story_adapter.rb +79 -0
  402. data/vendor/plugins/rspec-rails/lib/spec/rails/version.rb +15 -0
  403. data/vendor/plugins/rspec-rails/output_buffer_fix.diff +34 -0
  404. data/vendor/plugins/rspec-rails/rspec-rails.gemspec +35 -0
  405. data/vendor/plugins/rspec-rails/spec/rails/autotest/mappings_spec.rb +36 -0
  406. data/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb +65 -0
  407. data/vendor/plugins/rspec-rails/spec/rails/example/configuration_spec.rb +83 -0
  408. data/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb +62 -0
  409. data/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb +272 -0
  410. data/vendor/plugins/rspec-rails/spec/rails/example/cookies_proxy_spec.rb +74 -0
  411. data/vendor/plugins/rspec-rails/spec/rails/example/example_group_factory_spec.rb +112 -0
  412. data/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb +161 -0
  413. data/vendor/plugins/rspec-rails/spec/rails/example/model_spec_spec.rb +18 -0
  414. data/vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb +16 -0
  415. data/vendor/plugins/rspec-rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb +33 -0
  416. data/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb +280 -0
  417. data/vendor/plugins/rspec-rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +54 -0
  418. data/vendor/plugins/rspec-rails/spec/rails/extensions/action_view_base_spec.rb +48 -0
  419. data/vendor/plugins/rspec-rails/spec/rails/extensions/active_record_spec.rb +14 -0
  420. data/vendor/plugins/rspec-rails/spec/rails/interop/testcase_spec.rb +66 -0
  421. data/vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb +814 -0
  422. data/vendor/plugins/rspec-rails/spec/rails/matchers/description_generation_spec.rb +37 -0
  423. data/vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb +13 -0
  424. data/vendor/plugins/rspec-rails/spec/rails/matchers/have_text_spec.rb +62 -0
  425. data/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb +64 -0
  426. data/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb +209 -0
  427. data/vendor/plugins/rspec-rails/spec/rails/matchers/render_template_spec.rb +176 -0
  428. data/vendor/plugins/rspec-rails/spec/rails/matchers/should_change_spec.rb +15 -0
  429. data/vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb +10 -0
  430. data/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb +106 -0
  431. data/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb +80 -0
  432. data/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb +8 -0
  433. data/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb +8 -0
  434. data/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb +96 -0
  435. data/vendor/plugins/rspec-rails/spec/rails/spec_spec.rb +11 -0
  436. data/vendor/plugins/rspec-rails/spec/rails_suite.rb +7 -0
  437. data/vendor/plugins/rspec-rails/spec/spec_helper.rb +57 -0
  438. data/vendor/plugins/rspec-rails/spec_resources/controllers/action_view_base_spec_controller.rb +2 -0
  439. data/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb +94 -0
  440. data/vendor/plugins/rspec-rails/spec_resources/controllers/redirect_spec_controller.rb +59 -0
  441. data/vendor/plugins/rspec-rails/spec_resources/controllers/render_spec_controller.rb +30 -0
  442. data/vendor/plugins/rspec-rails/spec_resources/controllers/rjs_spec_controller.rb +58 -0
  443. data/vendor/plugins/rspec-rails/spec_resources/helpers/explicit_helper.rb +38 -0
  444. data/vendor/plugins/rspec-rails/spec_resources/helpers/more_explicit_helper.rb +5 -0
  445. data/vendor/plugins/rspec-rails/spec_resources/helpers/plugin_application_helper.rb +6 -0
  446. data/vendor/plugins/rspec-rails/spec_resources/helpers/view_spec_helper.rb +13 -0
  447. data/vendor/plugins/rspec-rails/spec_resources/views/controller_spec/_partial.rhtml +0 -0
  448. data/vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +1 -0
  449. data/vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +1 -0
  450. data/vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
  451. data/vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +1 -0
  452. data/vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_with_template.rhtml +1 -0
  453. data/vendor/plugins/rspec-rails/spec_resources/views/layouts/application.rhtml +0 -0
  454. data/vendor/plugins/rspec-rails/spec_resources/views/layouts/simple.rhtml +0 -0
  455. data/vendor/plugins/rspec-rails/spec_resources/views/objects/_object.html.erb +1 -0
  456. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
  457. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/action_with_alternate_layout.rhtml +0 -0
  458. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/some_action.js.rjs +1 -0
  459. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
  460. data/vendor/plugins/rspec-rails/spec_resources/views/render_spec/some_action.rjs +1 -0
  461. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +1 -0
  462. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/hide_div.rjs +1 -0
  463. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/hide_page_element.rjs +1 -0
  464. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/insert_html.rjs +1 -0
  465. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/replace.rjs +1 -0
  466. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/replace_html.rjs +1 -0
  467. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +1 -0
  468. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/visual_effect.rjs +1 -0
  469. data/vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +1 -0
  470. data/vendor/plugins/rspec-rails/spec_resources/views/tag_spec/no_tags.rhtml +1 -0
  471. data/vendor/plugins/rspec-rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +1 -0
  472. data/vendor/plugins/rspec-rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +1 -0
  473. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial.rhtml +2 -0
  474. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
  475. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +1 -0
  476. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +1 -0
  477. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/_spacer.rhtml +1 -0
  478. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/accessor.rhtml +5 -0
  479. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/block_helper.rhtml +3 -0
  480. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/entry_form.rhtml +2 -0
  481. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/explicit_helper.rhtml +2 -0
  482. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/foo/show.rhtml +1 -0
  483. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/implicit_helper.rhtml +2 -0
  484. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/multiple_helpers.rhtml +3 -0
  485. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/should_not_receive.rhtml +3 -0
  486. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/template_with_partial.rhtml +5 -0
  487. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +3 -0
  488. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +1 -0
  489. data/vendor/plugins/rspec-rails/stories/all.rb +10 -0
  490. data/vendor/plugins/rspec-rails/stories/configuration/stories.rb +5 -0
  491. data/vendor/plugins/rspec-rails/stories/helper.rb +6 -0
  492. data/vendor/plugins/rspec-rails/stories/steps/people.rb +8 -0
  493. data/vendor/plugins/rspec-rails/stories/transactions_should_rollback +15 -0
  494. data/vendor/plugins/rspec-rails/stories/transactions_should_rollback.rb +25 -0
  495. data/vendor/plugins/rspec/.autotest +3 -0
  496. data/vendor/plugins/rspec/History.txt +1132 -0
  497. data/vendor/plugins/rspec/Manifest.txt +403 -0
  498. data/vendor/plugins/rspec/README.txt +63 -0
  499. data/vendor/plugins/rspec/Rakefile +89 -0
  500. data/vendor/plugins/rspec/TODO.txt +1 -0
  501. data/vendor/plugins/rspec/bin/autospec +4 -0
  502. data/vendor/plugins/rspec/bin/spec +4 -0
  503. data/vendor/plugins/rspec/examples/pure/autogenerated_docstrings_example.rb +19 -0
  504. data/vendor/plugins/rspec/examples/pure/before_and_after_example.rb +40 -0
  505. data/vendor/plugins/rspec/examples/pure/behave_as_example.rb +45 -0
  506. data/vendor/plugins/rspec/examples/pure/custom_expectation_matchers.rb +54 -0
  507. data/vendor/plugins/rspec/examples/pure/custom_formatter.rb +12 -0
  508. data/vendor/plugins/rspec/examples/pure/dynamic_spec.rb +9 -0
  509. data/vendor/plugins/rspec/examples/pure/file_accessor.rb +19 -0
  510. data/vendor/plugins/rspec/examples/pure/file_accessor_spec.rb +38 -0
  511. data/vendor/plugins/rspec/examples/pure/greeter_spec.rb +31 -0
  512. data/vendor/plugins/rspec/examples/pure/helper_method_example.rb +14 -0
  513. data/vendor/plugins/rspec/examples/pure/io_processor.rb +8 -0
  514. data/vendor/plugins/rspec/examples/pure/io_processor_spec.rb +21 -0
  515. data/vendor/plugins/rspec/examples/pure/legacy_spec.rb +11 -0
  516. data/vendor/plugins/rspec/examples/pure/mocking_example.rb +27 -0
  517. data/vendor/plugins/rspec/examples/pure/multi_threaded_behaviour_runner.rb +28 -0
  518. data/vendor/plugins/rspec/examples/pure/nested_classes_example.rb +36 -0
  519. data/vendor/plugins/rspec/examples/pure/partial_mock_example.rb +29 -0
  520. data/vendor/plugins/rspec/examples/pure/pending_example.rb +20 -0
  521. data/vendor/plugins/rspec/examples/pure/predicate_example.rb +27 -0
  522. data/vendor/plugins/rspec/examples/pure/priority.txt +1 -0
  523. data/vendor/plugins/rspec/examples/pure/shared_example_group_example.rb +81 -0
  524. data/vendor/plugins/rspec/examples/pure/shared_stack_examples.rb +38 -0
  525. data/vendor/plugins/rspec/examples/pure/spec_helper.rb +3 -0
  526. data/vendor/plugins/rspec/examples/pure/stack.rb +36 -0
  527. data/vendor/plugins/rspec/examples/pure/stack_spec.rb +63 -0
  528. data/vendor/plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb +67 -0
  529. data/vendor/plugins/rspec/examples/pure/stubbing_example.rb +69 -0
  530. data/vendor/plugins/rspec/examples/pure/yielding_example.rb +33 -0
  531. data/vendor/plugins/rspec/examples/stories/adder.rb +13 -0
  532. data/vendor/plugins/rspec/examples/stories/addition +34 -0
  533. data/vendor/plugins/rspec/examples/stories/addition.rb +9 -0
  534. data/vendor/plugins/rspec/examples/stories/calculator.rb +65 -0
  535. data/vendor/plugins/rspec/examples/stories/game-of-life/.loadpath +5 -0
  536. data/vendor/plugins/rspec/examples/stories/game-of-life/README.txt +21 -0
  537. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/everything.rb +6 -0
  538. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/examples.rb +3 -0
  539. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +35 -0
  540. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +66 -0
  541. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +21 -0
  542. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +21 -0
  543. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +42 -0
  544. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +42 -0
  545. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +17 -0
  546. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +53 -0
  547. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +52 -0
  548. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/helper.rb +6 -0
  549. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +26 -0
  550. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/steps.rb +5 -0
  551. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.rb +3 -0
  552. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.txt +22 -0
  553. data/vendor/plugins/rspec/examples/stories/game-of-life/life.rb +3 -0
  554. data/vendor/plugins/rspec/examples/stories/game-of-life/life/game.rb +23 -0
  555. data/vendor/plugins/rspec/examples/stories/game-of-life/life/grid.rb +43 -0
  556. data/vendor/plugins/rspec/examples/stories/helper.rb +9 -0
  557. data/vendor/plugins/rspec/examples/stories/steps/addition_steps.rb +18 -0
  558. data/vendor/plugins/rspec/failing_examples/README.txt +7 -0
  559. data/vendor/plugins/rspec/failing_examples/diffing_spec.rb +36 -0
  560. data/vendor/plugins/rspec/failing_examples/failing_autogenerated_docstrings_example.rb +19 -0
  561. data/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +10 -0
  562. data/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +10 -0
  563. data/vendor/plugins/rspec/failing_examples/mocking_example.rb +40 -0
  564. data/vendor/plugins/rspec/failing_examples/mocking_with_flexmock.rb +26 -0
  565. data/vendor/plugins/rspec/failing_examples/mocking_with_mocha.rb +25 -0
  566. data/vendor/plugins/rspec/failing_examples/mocking_with_rr.rb +27 -0
  567. data/vendor/plugins/rspec/failing_examples/partial_mock_example.rb +20 -0
  568. data/vendor/plugins/rspec/failing_examples/predicate_example.rb +29 -0
  569. data/vendor/plugins/rspec/failing_examples/raising_example.rb +47 -0
  570. data/vendor/plugins/rspec/failing_examples/spec_helper.rb +3 -0
  571. data/vendor/plugins/rspec/failing_examples/syntax_error_example.rb +7 -0
  572. data/vendor/plugins/rspec/failing_examples/team_spec.rb +44 -0
  573. data/vendor/plugins/rspec/failing_examples/timeout_behaviour.rb +7 -0
  574. data/vendor/plugins/rspec/init.rb +9 -0
  575. data/vendor/plugins/rspec/lib/autotest/discover.rb +3 -0
  576. data/vendor/plugins/rspec/lib/autotest/rspec.rb +46 -0
  577. data/vendor/plugins/rspec/lib/spec.rb +28 -0
  578. data/vendor/plugins/rspec/lib/spec/adapters.rb +1 -0
  579. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine.rb +26 -0
  580. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/mri.rb +8 -0
  581. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/rubinius.rb +8 -0
  582. data/vendor/plugins/rspec/lib/spec/example.rb +12 -0
  583. data/vendor/plugins/rspec/lib/spec/example/configuration.rb +158 -0
  584. data/vendor/plugins/rspec/lib/spec/example/errors.rb +15 -0
  585. data/vendor/plugins/rspec/lib/spec/example/example_group.rb +17 -0
  586. data/vendor/plugins/rspec/lib/spec/example/example_group_factory.rb +64 -0
  587. data/vendor/plugins/rspec/lib/spec/example/example_group_methods.rb +440 -0
  588. data/vendor/plugins/rspec/lib/spec/example/example_matcher.rb +44 -0
  589. data/vendor/plugins/rspec/lib/spec/example/example_methods.rb +107 -0
  590. data/vendor/plugins/rspec/lib/spec/example/module_inclusion_warnings.rb +38 -0
  591. data/vendor/plugins/rspec/lib/spec/example/module_reopening_fix.rb +21 -0
  592. data/vendor/plugins/rspec/lib/spec/example/pending.rb +18 -0
  593. data/vendor/plugins/rspec/lib/spec/example/shared_example_group.rb +58 -0
  594. data/vendor/plugins/rspec/lib/spec/expectations.rb +56 -0
  595. data/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +66 -0
  596. data/vendor/plugins/rspec/lib/spec/expectations/errors.rb +12 -0
  597. data/vendor/plugins/rspec/lib/spec/expectations/extensions.rb +2 -0
  598. data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +63 -0
  599. data/vendor/plugins/rspec/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
  600. data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +52 -0
  601. data/vendor/plugins/rspec/lib/spec/extensions.rb +4 -0
  602. data/vendor/plugins/rspec/lib/spec/extensions/class.rb +24 -0
  603. data/vendor/plugins/rspec/lib/spec/extensions/main.rb +87 -0
  604. data/vendor/plugins/rspec/lib/spec/extensions/metaclass.rb +7 -0
  605. data/vendor/plugins/rspec/lib/spec/extensions/object.rb +6 -0
  606. data/vendor/plugins/rspec/lib/spec/interop/test.rb +12 -0
  607. data/vendor/plugins/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
  608. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testcase.rb +61 -0
  609. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
  610. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  611. data/vendor/plugins/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  612. data/vendor/plugins/rspec/lib/spec/matchers.rb +162 -0
  613. data/vendor/plugins/rspec/lib/spec/matchers/be.rb +221 -0
  614. data/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +37 -0
  615. data/vendor/plugins/rspec/lib/spec/matchers/change.rb +148 -0
  616. data/vendor/plugins/rspec/lib/spec/matchers/eql.rb +43 -0
  617. data/vendor/plugins/rspec/lib/spec/matchers/equal.rb +43 -0
  618. data/vendor/plugins/rspec/lib/spec/matchers/exist.rb +17 -0
  619. data/vendor/plugins/rspec/lib/spec/matchers/has.rb +34 -0
  620. data/vendor/plugins/rspec/lib/spec/matchers/have.rb +150 -0
  621. data/vendor/plugins/rspec/lib/spec/matchers/include.rb +70 -0
  622. data/vendor/plugins/rspec/lib/spec/matchers/match.rb +41 -0
  623. data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +79 -0
  624. data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +132 -0
  625. data/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +45 -0
  626. data/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +47 -0
  627. data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +132 -0
  628. data/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +74 -0
  629. data/vendor/plugins/rspec/lib/spec/mocks.rb +211 -0
  630. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraints.rb +185 -0
  631. data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +71 -0
  632. data/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +84 -0
  633. data/vendor/plugins/rspec/lib/spec/mocks/errors.rb +10 -0
  634. data/vendor/plugins/rspec/lib/spec/mocks/extensions.rb +1 -0
  635. data/vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  636. data/vendor/plugins/rspec/lib/spec/mocks/framework.rb +15 -0
  637. data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +316 -0
  638. data/vendor/plugins/rspec/lib/spec/mocks/methods.rb +51 -0
  639. data/vendor/plugins/rspec/lib/spec/mocks/mock.rb +56 -0
  640. data/vendor/plugins/rspec/lib/spec/mocks/order_group.rb +29 -0
  641. data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +225 -0
  642. data/vendor/plugins/rspec/lib/spec/mocks/space.rb +28 -0
  643. data/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +46 -0
  644. data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +227 -0
  645. data/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  646. data/vendor/plugins/rspec/lib/spec/runner.rb +214 -0
  647. data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +56 -0
  648. data/vendor/plugins/rspec/lib/spec/runner/class_and_arguments_parser.rb +16 -0
  649. data/vendor/plugins/rspec/lib/spec/runner/command_line.rb +17 -0
  650. data/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +20 -0
  651. data/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb +59 -0
  652. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +79 -0
  653. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +126 -0
  654. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +27 -0
  655. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  656. data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +337 -0
  657. data/vendor/plugins/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +65 -0
  658. data/vendor/plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb +51 -0
  659. data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +34 -0
  660. data/vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  661. data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +39 -0
  662. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb +174 -0
  663. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb +194 -0
  664. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
  665. data/vendor/plugins/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  666. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  667. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  668. data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +204 -0
  669. data/vendor/plugins/rspec/lib/spec/runner/options.rb +318 -0
  670. data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +167 -0
  671. data/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +71 -0
  672. data/vendor/plugins/rspec/lib/spec/story.rb +10 -0
  673. data/vendor/plugins/rspec/lib/spec/story/extensions.rb +3 -0
  674. data/vendor/plugins/rspec/lib/spec/story/extensions/main.rb +86 -0
  675. data/vendor/plugins/rspec/lib/spec/story/extensions/regexp.rb +9 -0
  676. data/vendor/plugins/rspec/lib/spec/story/extensions/string.rb +9 -0
  677. data/vendor/plugins/rspec/lib/spec/story/given_scenario.rb +14 -0
  678. data/vendor/plugins/rspec/lib/spec/story/runner.rb +59 -0
  679. data/vendor/plugins/rspec/lib/spec/story/runner/plain_text_story_runner.rb +48 -0
  680. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_collector.rb +18 -0
  681. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_runner.rb +54 -0
  682. data/vendor/plugins/rspec/lib/spec/story/runner/story_mediator.rb +137 -0
  683. data/vendor/plugins/rspec/lib/spec/story/runner/story_parser.rb +247 -0
  684. data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +70 -0
  685. data/vendor/plugins/rspec/lib/spec/story/scenario.rb +14 -0
  686. data/vendor/plugins/rspec/lib/spec/story/step.rb +70 -0
  687. data/vendor/plugins/rspec/lib/spec/story/step_group.rb +89 -0
  688. data/vendor/plugins/rspec/lib/spec/story/step_mother.rb +38 -0
  689. data/vendor/plugins/rspec/lib/spec/story/story.rb +39 -0
  690. data/vendor/plugins/rspec/lib/spec/story/world.rb +128 -0
  691. data/vendor/plugins/rspec/lib/spec/version.rb +13 -0
  692. data/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +23 -0
  693. data/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +19 -0
  694. data/vendor/plugins/rspec/plugins/mock_frameworks/rr.rb +21 -0
  695. data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +20 -0
  696. data/vendor/plugins/rspec/rake_tasks/examples.rake +7 -0
  697. data/vendor/plugins/rspec/rake_tasks/examples_with_rcov.rake +9 -0
  698. data/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +9 -0
  699. data/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +7 -0
  700. data/vendor/plugins/rspec/rspec.gemspec +33 -0
  701. data/vendor/plugins/rspec/spec/README.jruby +15 -0
  702. data/vendor/plugins/rspec/spec/autotest/discover_spec.rb +19 -0
  703. data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +146 -0
  704. data/vendor/plugins/rspec/spec/autotest_helper.rb +6 -0
  705. data/vendor/plugins/rspec/spec/autotest_matchers.rb +47 -0
  706. data/vendor/plugins/rspec/spec/rspec_suite.rb +7 -0
  707. data/vendor/plugins/rspec/spec/ruby_forker.rb +13 -0
  708. data/vendor/plugins/rspec/spec/spec.opts +6 -0
  709. data/vendor/plugins/rspec/spec/spec/adapters/ruby_engine_spec.rb +16 -0
  710. data/vendor/plugins/rspec/spec/spec/example/base_formatter_spec.rb +112 -0
  711. data/vendor/plugins/rspec/spec/spec/example/configuration_spec.rb +282 -0
  712. data/vendor/plugins/rspec/spec/spec/example/example_group/described_module_spec.rb +20 -0
  713. data/vendor/plugins/rspec/spec/spec/example/example_group/warning_messages_spec.rb +76 -0
  714. data/vendor/plugins/rspec/spec/spec/example/example_group_class_definition_spec.rb +48 -0
  715. data/vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb +144 -0
  716. data/vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb +574 -0
  717. data/vendor/plugins/rspec/spec/spec/example/example_group_spec.rb +724 -0
  718. data/vendor/plugins/rspec/spec/spec/example/example_matcher_spec.rb +96 -0
  719. data/vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb +130 -0
  720. data/vendor/plugins/rspec/spec/spec/example/example_runner_spec.rb +194 -0
  721. data/vendor/plugins/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
  722. data/vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb +69 -0
  723. data/vendor/plugins/rspec/spec/spec/example/predicate_matcher_spec.rb +21 -0
  724. data/vendor/plugins/rspec/spec/spec/example/shared_example_group_spec.rb +265 -0
  725. data/vendor/plugins/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  726. data/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +127 -0
  727. data/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +95 -0
  728. data/vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb +71 -0
  729. data/vendor/plugins/rspec/spec/spec/extensions/main_spec.rb +71 -0
  730. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  731. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  732. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  733. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  734. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  735. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  736. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  737. data/vendor/plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb +45 -0
  738. data/vendor/plugins/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +14 -0
  739. data/vendor/plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb +45 -0
  740. data/vendor/plugins/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  741. data/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +39 -0
  742. data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +248 -0
  743. data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +329 -0
  744. data/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +153 -0
  745. data/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +28 -0
  746. data/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +28 -0
  747. data/vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb +57 -0
  748. data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +150 -0
  749. data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +63 -0
  750. data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +394 -0
  751. data/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +45 -0
  752. data/vendor/plugins/rspec/spec/spec/matchers/match_spec.rb +37 -0
  753. data/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +78 -0
  754. data/vendor/plugins/rspec/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
  755. data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  756. data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +315 -0
  757. data/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +54 -0
  758. data/vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  759. data/vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  760. data/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +54 -0
  761. data/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  762. data/vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  763. data/vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  764. data/vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  765. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  766. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_10263_spec.rb +24 -0
  767. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +33 -0
  768. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  769. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_496.rb +17 -0
  770. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  771. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  772. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  773. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  774. data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +129 -0
  775. data/vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +53 -0
  776. data/vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +84 -0
  777. data/vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  778. data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +539 -0
  779. data/vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  780. data/vendor/plugins/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +54 -0
  781. data/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  782. data/vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  783. data/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
  784. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +144 -0
  785. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  786. data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +174 -0
  787. data/vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  788. data/vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  789. data/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +188 -0
  790. data/vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  791. data/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +14 -0
  792. data/vendor/plugins/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  793. data/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +140 -0
  794. data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +99 -0
  795. data/vendor/plugins/rspec/spec/spec/runner/empty_file.txt +0 -0
  796. data/vendor/plugins/rspec/spec/spec/runner/examples.txt +2 -0
  797. data/vendor/plugins/rspec/spec/spec/runner/failed.txt +3 -0
  798. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  799. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  800. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +365 -0
  801. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +387 -0
  802. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +371 -0
  803. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +381 -0
  804. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +370 -0
  805. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +64 -0
  806. data/vendor/plugins/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +333 -0
  807. data/vendor/plugins/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +65 -0
  808. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +155 -0
  809. data/vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  810. data/vendor/plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +104 -0
  811. data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +158 -0
  812. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb +135 -0
  813. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +600 -0
  814. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
  815. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +365 -0
  816. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +370 -0
  817. data/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
  818. data/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +13 -0
  819. data/vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
  820. data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +409 -0
  821. data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +450 -0
  822. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
  823. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +8 -0
  824. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_spec.rb +16 -0
  825. data/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +62 -0
  826. data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +238 -0
  827. data/vendor/plugins/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  828. data/vendor/plugins/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  829. data/vendor/plugins/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
  830. data/vendor/plugins/rspec/spec/spec/runner/spec.opts +2 -0
  831. data/vendor/plugins/rspec/spec/spec/runner/spec_drb.opts +1 -0
  832. data/vendor/plugins/rspec/spec/spec/runner/spec_parser/spec_parser_fixture.rb +70 -0
  833. data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +85 -0
  834. data/vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  835. data/vendor/plugins/rspec/spec/spec/runner_spec.rb +11 -0
  836. data/vendor/plugins/rspec/spec/spec/spec_classes.rb +133 -0
  837. data/vendor/plugins/rspec/spec/spec/story/builders.rb +46 -0
  838. data/vendor/plugins/rspec/spec/spec/story/extensions/main_spec.rb +161 -0
  839. data/vendor/plugins/rspec/spec/spec/story/extensions_spec.rb +14 -0
  840. data/vendor/plugins/rspec/spec/spec/story/given_scenario_spec.rb +27 -0
  841. data/vendor/plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb +90 -0
  842. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_collector_spec.rb +27 -0
  843. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb +214 -0
  844. data/vendor/plugins/rspec/spec/spec/story/runner/story_mediator_spec.rb +143 -0
  845. data/vendor/plugins/rspec/spec/spec/story/runner/story_parser_spec.rb +401 -0
  846. data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +294 -0
  847. data/vendor/plugins/rspec/spec/spec/story/runner_spec.rb +93 -0
  848. data/vendor/plugins/rspec/spec/spec/story/scenario_spec.rb +18 -0
  849. data/vendor/plugins/rspec/spec/spec/story/step_group_spec.rb +157 -0
  850. data/vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb +84 -0
  851. data/vendor/plugins/rspec/spec/spec/story/step_spec.rb +272 -0
  852. data/vendor/plugins/rspec/spec/spec/story/story_helper.rb +2 -0
  853. data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +84 -0
  854. data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +423 -0
  855. data/vendor/plugins/rspec/spec/spec_helper.rb +56 -0
  856. data/vendor/plugins/rspec/stories/all.rb +5 -0
  857. data/vendor/plugins/rspec/stories/configuration/before_blocks.story +21 -0
  858. data/vendor/plugins/rspec/stories/configuration/stories.rb +7 -0
  859. data/vendor/plugins/rspec/stories/example_groups/autogenerated_docstrings +45 -0
  860. data/vendor/plugins/rspec/stories/example_groups/example_group_with_should_methods +17 -0
  861. data/vendor/plugins/rspec/stories/example_groups/nested_groups +17 -0
  862. data/vendor/plugins/rspec/stories/example_groups/output +25 -0
  863. data/vendor/plugins/rspec/stories/example_groups/stories.rb +7 -0
  864. data/vendor/plugins/rspec/stories/helper.rb +6 -0
  865. data/vendor/plugins/rspec/stories/interop/examples_and_tests_together +30 -0
  866. data/vendor/plugins/rspec/stories/interop/stories.rb +7 -0
  867. data/vendor/plugins/rspec/stories/interop/test_case_with_should_methods +17 -0
  868. data/vendor/plugins/rspec/stories/mock_framework_integration/stories.rb +7 -0
  869. data/vendor/plugins/rspec/stories/mock_framework_integration/use_flexmock.story +9 -0
  870. data/vendor/plugins/rspec/stories/pending_stories/README +3 -0
  871. data/vendor/plugins/rspec/stories/resources/helpers/cmdline.rb +9 -0
  872. data/vendor/plugins/rspec/stories/resources/helpers/story_helper.rb +16 -0
  873. data/vendor/plugins/rspec/stories/resources/matchers/smart_match.rb +37 -0
  874. data/vendor/plugins/rspec/stories/resources/spec/before_blocks_example.rb +32 -0
  875. data/vendor/plugins/rspec/stories/resources/spec/example_group_with_should_methods.rb +12 -0
  876. data/vendor/plugins/rspec/stories/resources/spec/simple_spec.rb +8 -0
  877. data/vendor/plugins/rspec/stories/resources/spec/spec_with_flexmock.rb +18 -0
  878. data/vendor/plugins/rspec/stories/resources/steps/running_rspec.rb +50 -0
  879. data/vendor/plugins/rspec/stories/resources/stories/failing_story.rb +15 -0
  880. data/vendor/plugins/rspec/stories/resources/test/spec_and_test_together.rb +57 -0
  881. data/vendor/plugins/rspec/stories/resources/test/test_case_with_should_methods.rb +30 -0
  882. data/vendor/plugins/rspec/stories/stories/multiline_steps.story +23 -0
  883. data/vendor/plugins/rspec/stories/stories/steps/multiline_steps.rb +13 -0
  884. data/vendor/plugins/rspec/stories/stories/stories.rb +6 -0
  885. data/vendor/plugins/rspec/story_server/prototype/javascripts/builder.js +136 -0
  886. data/vendor/plugins/rspec/story_server/prototype/javascripts/controls.js +972 -0
  887. data/vendor/plugins/rspec/story_server/prototype/javascripts/dragdrop.js +976 -0
  888. data/vendor/plugins/rspec/story_server/prototype/javascripts/effects.js +1117 -0
  889. data/vendor/plugins/rspec/story_server/prototype/javascripts/prototype.js +4140 -0
  890. data/vendor/plugins/rspec/story_server/prototype/javascripts/rspec.js +149 -0
  891. data/vendor/plugins/rspec/story_server/prototype/javascripts/scriptaculous.js +58 -0
  892. data/vendor/plugins/rspec/story_server/prototype/javascripts/slider.js +276 -0
  893. data/vendor/plugins/rspec/story_server/prototype/javascripts/sound.js +55 -0
  894. data/vendor/plugins/rspec/story_server/prototype/javascripts/unittest.js +568 -0
  895. data/vendor/plugins/rspec/story_server/prototype/lib/server.rb +24 -0
  896. data/vendor/plugins/rspec/story_server/prototype/stories.html +176 -0
  897. data/vendor/plugins/rspec/story_server/prototype/stylesheets/rspec.css +136 -0
  898. data/vendor/plugins/rspec/story_server/prototype/stylesheets/test.css +90 -0
  899. data/vendor/plugins/will_paginate/.manifest +49 -0
  900. data/vendor/plugins/will_paginate/CHANGELOG.rdoc +94 -0
  901. data/vendor/plugins/will_paginate/LICENSE +18 -0
  902. data/vendor/plugins/will_paginate/README.rdoc +106 -0
  903. data/vendor/plugins/will_paginate/Rakefile +62 -0
  904. data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
  905. data/vendor/plugins/will_paginate/examples/index.haml +69 -0
  906. data/vendor/plugins/will_paginate/examples/index.html +92 -0
  907. data/vendor/plugins/will_paginate/examples/pagination.css +90 -0
  908. data/vendor/plugins/will_paginate/examples/pagination.sass +91 -0
  909. data/vendor/plugins/will_paginate/init.rb +1 -0
  910. data/vendor/plugins/will_paginate/lib/will_paginate.rb +82 -0
  911. data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +16 -0
  912. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +146 -0
  913. data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +32 -0
  914. data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +253 -0
  915. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +132 -0
  916. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +39 -0
  917. data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +9 -0
  918. data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +383 -0
  919. data/vendor/plugins/will_paginate/test/boot.rb +21 -0
  920. data/vendor/plugins/will_paginate/test/collection_test.rb +140 -0
  921. data/vendor/plugins/will_paginate/test/console +8 -0
  922. data/vendor/plugins/will_paginate/test/database.yml +22 -0
  923. data/vendor/plugins/will_paginate/test/finder_test.rb +443 -0
  924. data/vendor/plugins/will_paginate/test/fixtures/admin.rb +3 -0
  925. data/vendor/plugins/will_paginate/test/fixtures/developer.rb +13 -0
  926. data/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +13 -0
  927. data/vendor/plugins/will_paginate/test/fixtures/project.rb +15 -0
  928. data/vendor/plugins/will_paginate/test/fixtures/projects.yml +6 -0
  929. data/vendor/plugins/will_paginate/test/fixtures/replies.yml +29 -0
  930. data/vendor/plugins/will_paginate/test/fixtures/reply.rb +7 -0
  931. data/vendor/plugins/will_paginate/test/fixtures/schema.rb +38 -0
  932. data/vendor/plugins/will_paginate/test/fixtures/topic.rb +6 -0
  933. data/vendor/plugins/will_paginate/test/fixtures/topics.yml +30 -0
  934. data/vendor/plugins/will_paginate/test/fixtures/user.rb +2 -0
  935. data/vendor/plugins/will_paginate/test/fixtures/users.yml +35 -0
  936. data/vendor/plugins/will_paginate/test/helper.rb +37 -0
  937. data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +36 -0
  938. data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +69 -0
  939. data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +11 -0
  940. data/vendor/plugins/will_paginate/test/lib/view_test_process.rb +165 -0
  941. data/vendor/plugins/will_paginate/test/tasks.rake +59 -0
  942. data/vendor/plugins/will_paginate/test/view_test.rb +363 -0
  943. data/vendor/plugins/will_paginate/will_paginate.gemspec +21 -0
  944. metadata +995 -0
@@ -0,0 +1,54 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ module ActionController
4
+ describe "Rescue", "#rescue_action in default mode" do
5
+ before(:each) do
6
+ @fixture = Object.new
7
+ @fixture.extend ActionController::Rescue
8
+ class << @fixture
9
+ public :rescue_action
10
+ end
11
+ end
12
+
13
+ it "should raise the passed in exception so examples fail fast" do
14
+ proc {@fixture.rescue_action(RuntimeError.new("Foobar"))}.should raise_error(RuntimeError, "Foobar")
15
+ end
16
+ end
17
+
18
+ class RescueOverriddenController < ActionController::Base
19
+ def rescue_action(error)
20
+ "successfully overridden"
21
+ end
22
+ end
23
+
24
+ describe "Rescue", "#rescue_action, when overridden" do
25
+ before(:each) do
26
+ @fixture = RescueOverriddenController.new
27
+ end
28
+
29
+ it "should do whatever the overridden method does" do
30
+ @fixture.rescue_action(RuntimeError.new("Foobar")).should == "successfully overridden"
31
+ end
32
+ end
33
+
34
+ class SearchController < ActionController::Base
35
+ end
36
+
37
+ describe "Rescue", "#rescue_action when told to use rails error handling" do
38
+ before(:each) do
39
+ @controller = SearchController.new
40
+ @controller.use_rails_error_handling!
41
+ class << @controller
42
+ public :rescue_action
43
+ end
44
+ end
45
+
46
+ it "should use Rails exception handling" do
47
+ exception = RuntimeError.new("The Error")
48
+ exception.stub!(:backtrace).and_return(caller)
49
+ @controller.should_receive(:rescue_action_locally).with(exception)
50
+
51
+ @controller.rescue_action(exception)
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,48 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+ require 'spec/mocks/errors'
3
+
4
+ describe ActionView::Base, "with RSpec extensions:", :type => :view do
5
+
6
+ describe "should_receive(:render)" do
7
+ it "should not raise when render has been received" do
8
+ template.should_receive(:render).with(:partial => "name")
9
+ template.render :partial => "name"
10
+ end
11
+
12
+ it "should raise when render has NOT been received" do
13
+ template.should_receive(:render).with(:partial => "name")
14
+ lambda {
15
+ template.verify_rendered
16
+ }.should raise_error
17
+ end
18
+
19
+ it "should return something (like a normal mock)" do
20
+ template.should_receive(:render).with(:partial => "name").and_return("Little Johnny")
21
+ result = template.render :partial => "name"
22
+ result.should == "Little Johnny"
23
+ end
24
+ end
25
+
26
+ describe "stub!(:render)" do
27
+ it "should not raise when stubbing and render has been received" do
28
+ template.stub!(:render).with(:partial => "name")
29
+ template.render :partial => "name"
30
+ end
31
+
32
+ it "should not raise when stubbing and render has NOT been received" do
33
+ template.stub!(:render).with(:partial => "name")
34
+ end
35
+
36
+ it "should not raise when stubbing and render has been received with different options" do
37
+ template.stub!(:render).with(:partial => "name")
38
+ template.render :partial => "view_spec/spacer"
39
+ end
40
+
41
+ it "should not raise when stubbing and expecting and render has been received" do
42
+ template.stub!(:render).with(:partial => "name")
43
+ template.should_receive(:render).with(:partial => "name")
44
+ template.render(:partial => "name")
45
+ end
46
+ end
47
+
48
+ end
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe "A model" do
4
+ fixtures :things
5
+ it "should tell you its required fields" do
6
+ Thing.new.should have(1).error_on(:name)
7
+ end
8
+
9
+ it "should tell you how many records it has" do
10
+ Thing.should have(:no).records
11
+ Thing.create(:name => "THE THING")
12
+ Thing.should have(1).record
13
+ end
14
+ end
@@ -0,0 +1,66 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+
4
+ if ActiveSupport.const_defined?(:Callbacks) && Test::Unit::TestCase.include?(ActiveSupport::Callbacks)
5
+
6
+ class TestUnitTesting < Test::Unit::TestCase
7
+ @@setup_callback_count = 0
8
+ @@setup_method_count = 0
9
+ @@teardown_callback_count = 0
10
+ @@teardown_method_count = 0
11
+ cattr_accessor :setup_callback_count, :setup_method_count, :teardown_callback_count, :teardown_method_count
12
+
13
+ setup :do_some_setup
14
+ teardown :do_some_teardown
15
+
16
+ @@has_been_run = false
17
+ def self.run?
18
+ @@has_been_run
19
+ end
20
+
21
+ def do_some_setup
22
+ @@setup_callback_count += 1
23
+ end
24
+
25
+ def setup
26
+ @@setup_method_count += 1
27
+ end
28
+
29
+ def test_something
30
+ assert_equal true, true
31
+ @@has_been_run = true
32
+ end
33
+
34
+ def teardown
35
+ @@teardown_method_count += 1
36
+ end
37
+
38
+ def do_some_teardown
39
+ @@teardown_callback_count += 1
40
+ end
41
+ end
42
+
43
+ module Test
44
+ module Unit
45
+ describe "Running TestCase tests" do
46
+ before(:all) do
47
+ TestUnitTesting.run unless TestUnitTesting.run?
48
+ end
49
+
50
+ it "should call the setup callbacks" do
51
+ TestUnitTesting.setup_callback_count.should == 1
52
+ end
53
+ it "should still only call the normal setup method once" do
54
+ TestUnitTesting.setup_method_count.should == 1
55
+ end
56
+ it "should call the teardown callbacks" do
57
+ TestUnitTesting.teardown_callback_count.should == 1
58
+ end
59
+ it "should still only call the normal teardown method once" do
60
+ TestUnitTesting.teardown_method_count.should == 1
61
+ end
62
+ end
63
+ end
64
+ end
65
+
66
+ end
@@ -0,0 +1,814 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ # assert_select plugins for Rails
4
+ #
5
+ # Copyright (c) 2006 Assaf Arkin, under Creative Commons Attribution and/or MIT License
6
+ # Developed for http://co.mments.com
7
+ # Code and documention: http://labnotes.org
8
+
9
+ class AssertSelectController < ActionController::Base
10
+
11
+ def response=(content)
12
+ @content = content
13
+ end
14
+
15
+ #NOTE - this is commented because response is implemented in lib/spec/rails/context/controller
16
+ # def response(&block)
17
+ # @update = block
18
+ # end
19
+ #
20
+ def html()
21
+ render :text=>@content, :layout=>false, :content_type=>Mime::HTML
22
+ @content = nil
23
+ end
24
+
25
+ def rjs()
26
+ update = @update
27
+ render :update do |page|
28
+ update.call page
29
+ end
30
+ @update = nil
31
+ end
32
+
33
+ def xml()
34
+ render :text=>@content, :layout=>false, :content_type=>Mime::XML
35
+ @content = nil
36
+ end
37
+
38
+ def rescue_action(e)
39
+ raise e
40
+ end
41
+
42
+ end
43
+
44
+ class AssertSelectMailer < ActionMailer::Base
45
+
46
+ def test(html)
47
+ recipients "test <test@test.host>"
48
+ from "test@test.host"
49
+ subject "Test e-mail"
50
+ part :content_type=>"text/html", :body=>html
51
+ end
52
+
53
+ end
54
+
55
+ module AssertSelectSpecHelpers
56
+ def render_html(html)
57
+ @controller.response = html
58
+ get :html
59
+ end
60
+
61
+ def render_rjs(&block)
62
+ clear_response
63
+ @controller.response &block
64
+ get :rjs
65
+ end
66
+
67
+ def render_xml(xml)
68
+ @controller.response = xml
69
+ get :xml
70
+ end
71
+
72
+ def first_non_rspec_line_in_backtrace_of(error)
73
+ rspec_path = File.join('rspec', 'lib', 'spec')
74
+ error.backtrace.reject { |line|
75
+ line =~ /#{rspec_path}/
76
+ }.first
77
+ end
78
+
79
+ private
80
+ # necessary for 1.2.1
81
+ def clear_response
82
+ render_html("")
83
+ end
84
+ end
85
+
86
+ unless defined?(SpecFailed)
87
+ SpecFailed = Spec::Expectations::ExpectationNotMetError
88
+ end
89
+
90
+ describe "should have_tag", :type => :controller do
91
+ include AssertSelectSpecHelpers
92
+ controller_name :assert_select
93
+ integrate_views
94
+
95
+ it "should find specific numbers of elements" do
96
+ render_html %Q{<div id="1"></div><div id="2"></div>}
97
+ response.should have_tag( "div" )
98
+ response.should have_tag("div", 2)
99
+ lambda { response.should_not have_tag("div") }.should raise_error(SpecFailed, "should not have tag(\"div\"), but did")
100
+
101
+ lambda { response.should have_tag("div", 3) }.should raise_error(SpecFailed)
102
+ lambda { response.should have_tag("p") }.should raise_error(SpecFailed)
103
+ end
104
+
105
+ it "should expect to find elements when using true" do
106
+ render_html %Q{<div id="1"></div><div id="2"></div>}
107
+ response.should have_tag( "div", true )
108
+ lambda { response.should have_tag( "p", true )}.should raise_error(SpecFailed)
109
+ end
110
+
111
+ it "should expect to not find elements when using false" do
112
+ render_html %Q{<div id="1"></div><div id="2"></div>}
113
+ response.should have_tag( "p", false )
114
+ lambda { response.should have_tag( "div", false )}.should raise_error(SpecFailed)
115
+ end
116
+
117
+
118
+ it "should match submitted text using text or regexp" do
119
+ render_html %Q{<div id="1">foo</div><div id="2">foo</div>}
120
+ response.should have_tag("div", "foo")
121
+ response.should have_tag("div", /(foo|bar)/)
122
+ response.should have_tag("div", :text=>"foo")
123
+ response.should have_tag("div", :text=>/(foo|bar)/)
124
+
125
+ lambda { response.should have_tag("div", "bar") }.should raise_error(SpecFailed)
126
+ lambda { response.should have_tag("div", :text=>"bar") }.should raise_error(SpecFailed)
127
+ lambda { response.should have_tag("p", :text=>"foo") }.should raise_error(SpecFailed)
128
+
129
+ lambda { response.should have_tag("div", /foobar/) }.should raise_error(SpecFailed)
130
+ lambda { response.should have_tag("div", :text=>/foobar/) }.should raise_error(SpecFailed)
131
+ lambda { response.should have_tag("p", :text=>/foo/) }.should raise_error(SpecFailed)
132
+ end
133
+
134
+ it "should use submitted message" do
135
+ render_html %Q{nothing here}
136
+ lambda {
137
+ response.should have_tag("div", {}, "custom message")
138
+ }.should raise_error(SpecFailed, /custom message/)
139
+ end
140
+
141
+ it "should match submitted html" do
142
+ render_html %Q{<p>\n<em>"This is <strong>not</strong> a big problem,"</em> he said.\n</p>}
143
+ text = "\"This is not a big problem,\" he said."
144
+ html = "<em>\"This is <strong>not</strong> a big problem,\"</em> he said."
145
+ response.should have_tag("p", text)
146
+ lambda { response.should have_tag("p", html) }.should raise_error(SpecFailed)
147
+ response.should have_tag("p", :html=>html)
148
+ lambda { response.should have_tag("p", :html=>text) }.should raise_error(SpecFailed)
149
+
150
+ # # No stripping for pre.
151
+ render_html %Q{<pre>\n<em>"This is <strong>not</strong> a big problem,"</em> he said.\n</pre>}
152
+ text = "\n\"This is not a big problem,\" he said.\n"
153
+ html = "\n<em>\"This is <strong>not</strong> a big problem,\"</em> he said.\n"
154
+ response.should have_tag("pre", text)
155
+ lambda { response.should have_tag("pre", html) }.should raise_error(SpecFailed)
156
+ response.should have_tag("pre", :html=>html)
157
+ lambda { response.should have_tag("pre", :html=>text) }.should raise_error(SpecFailed)
158
+ end
159
+
160
+ it "should match number of instances" do
161
+ render_html %Q{<div id="1">foo</div><div id="2">foo</div>}
162
+ response.should have_tag("div", 2)
163
+ lambda { response.should have_tag("div", 3) }.should raise_error(SpecFailed)
164
+ response.should have_tag("div", 1..2)
165
+ lambda { response.should have_tag("div", 3..4) }.should raise_error(SpecFailed)
166
+ response.should have_tag("div", :count=>2)
167
+ lambda { response.should have_tag("div", :count=>3) }.should raise_error(SpecFailed)
168
+ response.should have_tag("div", :minimum=>1)
169
+ response.should have_tag("div", :minimum=>2)
170
+ lambda { response.should have_tag("div", :minimum=>3) }.should raise_error(SpecFailed)
171
+ response.should have_tag("div", :maximum=>2)
172
+ response.should have_tag("div", :maximum=>3)
173
+ lambda { response.should have_tag("div", :maximum=>1) }.should raise_error(SpecFailed)
174
+ response.should have_tag("div", :minimum=>1, :maximum=>2)
175
+ lambda { response.should have_tag("div", :minimum=>3, :maximum=>4) }.should raise_error(SpecFailed)
176
+ end
177
+
178
+ it "substitution values" do
179
+ render_html %Q{<div id="1">foo</div><div id="2">foo</div><span id="3"></span>}
180
+ response.should have_tag("div#?", /\d+/) do |elements| #using do/end
181
+ elements.size.should == 2
182
+ end
183
+ response.should have_tag("div#?", /\d+/) { |elements| #using {}
184
+ elements.size.should == 2
185
+ }
186
+ lambda {
187
+ response.should have_tag("div#?", /\d+/) do |elements|
188
+ elements.size.should == 3
189
+ end
190
+ }.should raise_error(SpecFailed, "expected: 3,\n got: 2 (using ==)")
191
+
192
+ lambda {
193
+ response.should have_tag("div#?", /\d+/) { |elements|
194
+ elements.size.should == 3
195
+ }
196
+ }.should raise_error(SpecFailed, "expected: 3,\n got: 2 (using ==)")
197
+
198
+ response.should have_tag("div#?", /\d+/) do |elements|
199
+ elements.size.should == 2
200
+ with_tag("#1")
201
+ with_tag("#2")
202
+ without_tag("#3")
203
+ end
204
+ end
205
+
206
+ #added for RSpec
207
+ it "nested tags in form" do
208
+ render_html %Q{
209
+ <form action="test">
210
+ <input type="text" name="email">
211
+ </form>
212
+ <form action="other">
213
+ <input type="text" name="other_input">
214
+ </form>
215
+ }
216
+ response.should have_tag("form[action=test]") { |form|
217
+ with_tag("input[type=text][name=email]")
218
+ }
219
+ response.should have_tag("form[action=test]") { |form|
220
+ with_tag("input[type=text][name=email]")
221
+ }
222
+
223
+ lambda {
224
+ response.should have_tag("form[action=test]") { |form|
225
+ with_tag("input[type=text][name=other_input]")
226
+ }
227
+ }.should raise_error(SpecFailed)
228
+
229
+ lambda {
230
+ response.should have_tag("form[action=test]") {
231
+ with_tag("input[type=text][name=other_input]")
232
+ }
233
+ }.should raise_error(SpecFailed)
234
+ end
235
+
236
+ it "should report the correct line number for a nested failed expectation" do
237
+ render_html %Q{
238
+ <form action="test">
239
+ <input type="text" name="email">
240
+ </form>
241
+ }
242
+ begin
243
+ response.should have_tag("form[action=test]") {
244
+ @expected_error_line = __LINE__; should have_tag("input[type=text][name=other_input]")
245
+ }
246
+ rescue => e
247
+ first_non_rspec_line_in_backtrace_of(e).should =~
248
+ /#{File.basename(__FILE__)}:#{@expected_error_line}/
249
+ else
250
+ fail
251
+ end
252
+ end
253
+
254
+ it "should report the correct line number for a nested raised exception" do
255
+ render_html %Q{
256
+ <form action="test">
257
+ <input type="text" name="email">
258
+ </form>
259
+ }
260
+ begin
261
+ response.should have_tag("form[action=test]") {
262
+ @expected_error_line = __LINE__; raise "Failed!"
263
+ }
264
+ rescue => e
265
+ first_non_rspec_line_in_backtrace_of(e).should =~
266
+ /#{File.basename(__FILE__)}:#{@expected_error_line}/
267
+ else
268
+ fail
269
+ end
270
+ end
271
+
272
+ it "should report the correct line number for a nested failed test/unit assertion" do
273
+ pending "Doesn't work at the moment. Do we want to support this?" do
274
+ render_html %Q{
275
+ <form action="test">
276
+ <input type="text" name="email">
277
+ </form>
278
+ }
279
+ begin
280
+ response.should have_tag("form[action=test]") {
281
+ @expected_error_line = __LINE__; assert false
282
+ }
283
+ rescue => e
284
+ first_non_rspec_line_in_backtrace_of(e).should =~
285
+ /#{File.basename(__FILE__)}:#{@expected_error_line}/
286
+ else
287
+ fail
288
+ end
289
+ end
290
+ end
291
+
292
+
293
+ it "beatles" do
294
+ unless defined?(BEATLES)
295
+ BEATLES = [
296
+ ["John", "Guitar"],
297
+ ["George", "Guitar"],
298
+ ["Paul", "Bass"],
299
+ ["Ringo", "Drums"]
300
+ ]
301
+ end
302
+
303
+ render_html %Q{
304
+ <div id="beatles">
305
+ <div class="beatle">
306
+ <h2>John</h2><p>Guitar</p>
307
+ </div>
308
+ <div class="beatle">
309
+ <h2>George</h2><p>Guitar</p>
310
+ </div>
311
+ <div class="beatle">
312
+ <h2>Paul</h2><p>Bass</p>
313
+ </div>
314
+ <div class="beatle">
315
+ <h2>Ringo</h2><p>Drums</p>
316
+ </div>
317
+ </div>
318
+ }
319
+ response.should have_tag("div#beatles>div[class=\"beatle\"]", 4)
320
+
321
+ response.should have_tag("div#beatles>div.beatle") {
322
+ BEATLES.each { |name, instrument|
323
+ with_tag("div.beatle>h2", name)
324
+ with_tag("div.beatle>p", instrument)
325
+ without_tag("div.beatle>span")
326
+ }
327
+ }
328
+ end
329
+
330
+ it "assert_select_text_match" do
331
+ render_html %Q{<div id="1"><span>foo</span></div><div id="2"><span>bar</span></div>}
332
+ response.should have_tag("div") do |divs|
333
+ with_tag("div", "foo")
334
+ with_tag("div", "bar")
335
+ with_tag("div", /\w*/)
336
+ with_tag("div", /\w*/, :count=>2)
337
+ without_tag("div", :text=>"foo", :count=>2)
338
+ with_tag("div", :html=>"<span>bar</span>")
339
+ with_tag("div", :html=>"<span>bar</span>")
340
+ with_tag("div", :html=>/\w*/)
341
+ with_tag("div", :html=>/\w*/, :count=>2)
342
+ without_tag("div", :html=>"<span>foo</span>", :count=>2)
343
+ end
344
+ end
345
+
346
+
347
+ it "assert_select_from_rjs with one item" do
348
+ render_rjs do |page|
349
+ page.replace_html "test", "<div id=\"1\">foo</div>\n<div id=\"2\">foo</div>"
350
+ end
351
+ response.should have_tag("div") { |elements|
352
+ elements.size.should == 2
353
+ with_tag("#1")
354
+ with_tag("#2")
355
+ }
356
+
357
+ lambda {
358
+ response.should have_tag("div") { |elements|
359
+ elements.size.should == 2
360
+ with_tag("#1")
361
+ with_tag("#3")
362
+ }
363
+ }.should raise_error(SpecFailed)
364
+
365
+ lambda {
366
+ response.should have_tag("div") { |elements|
367
+ elements.size.should == 2
368
+ with_tag("#1")
369
+ without_tag("#2")
370
+ }
371
+ }.should raise_error(SpecFailed, "should not have tag(\"#2\"), but did")
372
+
373
+ lambda {
374
+ response.should have_tag("div") { |elements|
375
+ elements.size.should == 3
376
+ with_tag("#1")
377
+ with_tag("#2")
378
+ }
379
+ }.should raise_error(SpecFailed)
380
+
381
+
382
+ response.should have_tag("div#?", /\d+/) { |elements|
383
+ with_tag("#1")
384
+ with_tag("#2")
385
+ }
386
+ end
387
+
388
+ it "assert_select_from_rjs with multiple items" do
389
+ render_rjs do |page|
390
+ page.replace_html "test", "<div id=\"1\">foo</div>"
391
+ page.replace_html "test2", "<div id=\"2\">foo</div>"
392
+ end
393
+ response.should have_tag("div")
394
+ response.should have_tag("div") { |elements|
395
+ elements.size.should == 2
396
+ with_tag("#1")
397
+ with_tag("#2")
398
+ }
399
+
400
+ lambda {
401
+ response.should have_tag("div") { |elements|
402
+ with_tag("#3")
403
+ }
404
+ }.should raise_error(SpecFailed)
405
+ end
406
+ end
407
+
408
+ describe "css_select", :type => :controller do
409
+ include AssertSelectSpecHelpers
410
+ controller_name :assert_select
411
+ integrate_views
412
+
413
+ it "can select tags from html" do
414
+ render_html %Q{<div id="1"></div><div id="2"></div>}
415
+ css_select("div").size.should == 2
416
+ css_select("p").size.should == 0
417
+ end
418
+
419
+
420
+ it "can select nested tags from html" do
421
+ render_html %Q{<div id="1">foo</div><div id="2">foo</div>}
422
+ response.should have_tag("div#?", /\d+/) { |elements|
423
+ css_select(elements[0], "div").should have(1).element
424
+ css_select(elements[1], "div").should have(1).element
425
+ }
426
+ response.should have_tag("div") {
427
+ css_select("div").should have(2).elements
428
+ css_select("div").each { |element|
429
+ # Testing as a group is one thing
430
+ css_select("#1,#2").should have(2).elements
431
+ # Testing individually is another
432
+ css_select("#1").should have(1).element
433
+ css_select("#2").should have(1).element
434
+ }
435
+ }
436
+ end
437
+
438
+ it "can select nested tags from rjs (one result)" do
439
+ render_rjs do |page|
440
+ page.replace_html "test", "<div id=\"1\">foo</div>\n<div id=\"2\">foo</div>"
441
+ end
442
+ css_select("div").should have(2).elements
443
+ css_select("#1").should have(1).element
444
+ css_select("#2").should have(1).element
445
+ end
446
+
447
+ it "can select nested tags from rjs (two results)" do
448
+ render_rjs do |page|
449
+ page.replace_html "test", "<div id=\"1\">foo</div>"
450
+ page.replace_html "test2", "<div id=\"2\">foo</div>"
451
+ end
452
+ css_select("div").should have(2).elements
453
+ css_select("#1").should have(1).element
454
+ css_select("#2").should have(1).element
455
+ end
456
+
457
+ end
458
+
459
+ describe "have_rjs behaviour_type", :type => :controller do
460
+ include AssertSelectSpecHelpers
461
+ controller_name :assert_select
462
+ integrate_views
463
+
464
+ before(:each) do
465
+ render_rjs do |page|
466
+ page.replace "test1", "<div id=\"1\">foo</div>"
467
+ page.replace_html "test2", "<div id=\"2\">bar</div><div id=\"3\">none</div>"
468
+ page.insert_html :top, "test3", "<div id=\"4\">loopy</div>"
469
+ page.hide "test4"
470
+ page["test5"].hide
471
+ end
472
+ end
473
+
474
+ it "should pass if any rjs exists" do
475
+ response.should have_rjs
476
+ end
477
+
478
+ it "should fail if no rjs exists" do
479
+ render_rjs do |page|
480
+ end
481
+ lambda do
482
+ response.should have_rjs
483
+ end.should raise_error(SpecFailed)
484
+ end
485
+
486
+ it "should find all rjs from multiple statements" do
487
+ response.should have_rjs do
488
+ with_tag("#1")
489
+ with_tag("#2")
490
+ with_tag("#3")
491
+ # with_tag("#4")
492
+ # with_tag("#5")
493
+ end
494
+ end
495
+
496
+ it "should find by id" do
497
+ response.should have_rjs("test1") { |rjs|
498
+ rjs.size.should == 1
499
+ with_tag("div", 1)
500
+ with_tag("div#1", "foo")
501
+ }
502
+
503
+ lambda do
504
+ response.should have_rjs("test1") { |rjs|
505
+ rjs.size.should == 1
506
+ without_tag("div#1", "foo")
507
+ }
508
+ end.should raise_error(SpecFailed, "should not have tag(\"div#1\", \"foo\"), but did")
509
+
510
+ response.should have_rjs("test2") { |rjs|
511
+ rjs.size.should == 2
512
+ with_tag("div", 2)
513
+ with_tag("div#2", "bar")
514
+ with_tag("div#3", "none")
515
+ }
516
+ # response.should have_rjs("test4")
517
+ # response.should have_rjs("test5")
518
+ end
519
+
520
+ # specify "should find rjs using :hide" do
521
+ # response.should have_rjs(:hide)
522
+ # response.should have_rjs(:hide, "test4")
523
+ # response.should have_rjs(:hide, "test5")
524
+ # lambda do
525
+ # response.should have_rjs(:hide, "test3")
526
+ # end.should raise_error(SpecFailed)
527
+ # end
528
+
529
+ it "should find rjs using :replace" do
530
+ response.should have_rjs(:replace) { |rjs|
531
+ with_tag("div", 1)
532
+ with_tag("div#1", "foo")
533
+ }
534
+ response.should have_rjs(:replace, "test1") { |rjs|
535
+ with_tag("div", 1)
536
+ with_tag("div#1", "foo")
537
+ }
538
+ lambda {
539
+ response.should have_rjs(:replace, "test2")
540
+ }.should raise_error(SpecFailed)
541
+
542
+ lambda {
543
+ response.should have_rjs(:replace, "test3")
544
+ }.should raise_error(SpecFailed)
545
+ end
546
+
547
+ it "should find rjs using :replace_html" do
548
+ response.should have_rjs(:replace_html) { |rjs|
549
+ with_tag("div", 2)
550
+ with_tag("div#2", "bar")
551
+ with_tag("div#3", "none")
552
+ }
553
+
554
+ response.should have_rjs(:replace_html, "test2") { |rjs|
555
+ with_tag("div", 2)
556
+ with_tag("div#2", "bar")
557
+ with_tag("div#3", "none")
558
+ }
559
+
560
+ lambda {
561
+ response.should have_rjs(:replace_html, "test1")
562
+ }.should raise_error(SpecFailed)
563
+
564
+ lambda {
565
+ response.should have_rjs(:replace_html, "test3")
566
+ }.should raise_error(SpecFailed)
567
+ end
568
+
569
+ it "should find rjs using :insert_html (non-positioned)" do
570
+ response.should have_rjs(:insert_html) { |rjs|
571
+ with_tag("div", 1)
572
+ with_tag("div#4", "loopy")
573
+ }
574
+
575
+ response.should have_rjs(:insert_html, "test3") { |rjs|
576
+ with_tag("div", 1)
577
+ with_tag("div#4", "loopy")
578
+ }
579
+
580
+ lambda {
581
+ response.should have_rjs(:insert_html, "test1")
582
+ }.should raise_error(SpecFailed)
583
+
584
+ lambda {
585
+ response.should have_rjs(:insert_html, "test2")
586
+ }.should raise_error(SpecFailed)
587
+ end
588
+
589
+ it "should find rjs using :insert (positioned)" do
590
+ render_rjs do |page|
591
+ page.insert_html :top, "test1", "<div id=\"1\">foo</div>"
592
+ page.insert_html :bottom, "test2", "<div id=\"2\">bar</div>"
593
+ page.insert_html :before, "test3", "<div id=\"3\">none</div>"
594
+ page.insert_html :after, "test4", "<div id=\"4\">loopy</div>"
595
+ end
596
+ response.should have_rjs(:insert, :top) do
597
+ with_tag("div", 1)
598
+ with_tag("#1")
599
+ end
600
+ response.should have_rjs(:insert, :top, "test1") do
601
+ with_tag("div", 1)
602
+ with_tag("#1")
603
+ end
604
+ response.should have_rjs(:insert, :bottom) {|rjs|
605
+ with_tag("div", 1)
606
+ with_tag("#2")
607
+ }
608
+ response.should have_rjs(:insert, :bottom, "test2") {|rjs|
609
+ with_tag("div", 1)
610
+ with_tag("#2")
611
+ }
612
+ response.should have_rjs(:insert, :before) {|rjs|
613
+ with_tag("div", 1)
614
+ with_tag("#3")
615
+ }
616
+ response.should have_rjs(:insert, :before, "test3") {|rjs|
617
+ with_tag("div", 1)
618
+ with_tag("#3")
619
+ }
620
+ response.should have_rjs(:insert, :after) {|rjs|
621
+ with_tag("div", 1)
622
+ with_tag("#4")
623
+ }
624
+ response.should have_rjs(:insert, :after, "test4") {|rjs|
625
+ with_tag("div", 1)
626
+ with_tag("#4")
627
+ }
628
+ end
629
+
630
+ it "should find rjs using :insert (positioned)" do
631
+ pending("await fix for http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/982")
632
+ render_rjs do |page|
633
+ page.insert_html :top, "test1", "<div id=\"1\">foo</div>"
634
+ page.insert_html :bottom, "test2", "<div id=\"2\">bar</div>"
635
+ end
636
+ lambda {
637
+ response.should have_rjs(:insert, :top, "test2")
638
+ }.should raise_error(SpecFailed)
639
+ end
640
+ end
641
+
642
+ describe "send_email behaviour_type", :type => :controller do
643
+ include AssertSelectSpecHelpers
644
+ controller_name :assert_select
645
+ integrate_views
646
+
647
+ before(:each) do
648
+ ActionMailer::Base.delivery_method = :test
649
+ ActionMailer::Base.perform_deliveries = true
650
+ ActionMailer::Base.deliveries = []
651
+ end
652
+
653
+ after(:each) do
654
+ ActionMailer::Base.deliveries.clear
655
+ end
656
+
657
+ it "should fail with nothing sent" do
658
+ response.should_not send_email
659
+ lambda {
660
+ response.should send_email{}
661
+ }.should raise_error(SpecFailed, /No e-mail in delivery list./)
662
+ end
663
+
664
+ it "should pass otherwise" do
665
+ AssertSelectMailer.deliver_test "<div><p>foo</p><p>bar</p></div>"
666
+ response.should send_email
667
+ lambda {
668
+ response.should_not send_email
669
+ }.should raise_error(SpecFailed)
670
+ response.should send_email{}
671
+ response.should send_email {
672
+ with_tag("div:root") {
673
+ with_tag("p:first-child", "foo")
674
+ with_tag("p:last-child", "bar")
675
+ }
676
+ }
677
+
678
+ lambda {
679
+ response.should_not send_email
680
+ }.should raise_error(SpecFailed, "should not send email, but did")
681
+ end
682
+
683
+ end
684
+
685
+ # describe "An rjs call to :visual_effect, a 'should have_rjs' spec with",
686
+ # :type => :view do
687
+ #
688
+ # before do
689
+ # render 'rjs_spec/visual_effect'
690
+ # end
691
+ #
692
+ # it "should pass with the correct element name" do
693
+ # response.should have_rjs(:effect, :fade, 'mydiv')
694
+ # end
695
+ #
696
+ # it "should fail the wrong element name" do
697
+ # lambda {
698
+ # response.should have_rjs(:effect, :fade, 'wrongname')
699
+ # }.should raise_error(SpecFailed)
700
+ # end
701
+ #
702
+ # it "should fail with the correct element but the wrong command" do
703
+ # lambda {
704
+ # response.should have_rjs(:effect, :puff, 'mydiv')
705
+ # }.should raise_error(SpecFailed)
706
+ # end
707
+ #
708
+ # end
709
+ #
710
+ # describe "An rjs call to :visual_effect for a toggle, a 'should have_rjs' spec with",
711
+ # :type => :view do
712
+ #
713
+ # before do
714
+ # render 'rjs_spec/visual_toggle_effect'
715
+ # end
716
+ #
717
+ # it "should pass with the correct element name" do
718
+ # response.should have_rjs(:effect, :toggle_blind, 'mydiv')
719
+ # end
720
+ #
721
+ # it "should fail with the wrong element name" do
722
+ # lambda {
723
+ # response.should have_rjs(:effect, :toggle_blind, 'wrongname')
724
+ # }.should raise_error(SpecFailed)
725
+ # end
726
+ #
727
+ # it "should fail the correct element but the wrong command" do
728
+ # lambda {
729
+ # response.should have_rjs(:effect, :puff, 'mydiv')
730
+ # }.should raise_error(SpecFailed)
731
+ # end
732
+ #
733
+ # end
734
+
735
+ describe "string.should have_tag", :type => :helper do
736
+ include AssertSelectSpecHelpers
737
+
738
+ it "should find root element" do
739
+ "<p>a paragraph</p>".should have_tag("p", "a paragraph")
740
+ end
741
+
742
+ it "should not find non-existent element" do
743
+ lambda do
744
+ "<p>a paragraph</p>".should have_tag("p", "wrong text")
745
+ end.should raise_error(SpecFailed)
746
+ end
747
+
748
+ it "should find child element" do
749
+ "<div><p>a paragraph</p></div>".should have_tag("p", "a paragraph")
750
+ end
751
+
752
+ it "should find nested element" do
753
+ "<div><p>a paragraph</p></div>".should have_tag("div") do
754
+ with_tag("p", "a paragraph")
755
+ end
756
+ end
757
+
758
+ it "should not find wrong nested element" do
759
+ lambda do
760
+ "<div><p>a paragraph</p></div>".should have_tag("div") do
761
+ with_tag("p", "wrong text")
762
+ end
763
+ end.should raise_error(SpecFailed)
764
+ end
765
+ end
766
+
767
+ describe "have_tag", :type => :controller do
768
+ include AssertSelectSpecHelpers
769
+ controller_name :assert_select
770
+ integrate_views
771
+
772
+ it "should work exactly the same as assert_select" do
773
+ render_html %Q{
774
+ <div id="wrapper">foo
775
+ <div class="piece">
776
+ <h3>Text</h3>
777
+ </div>
778
+ <div class="piece">
779
+ <h3>Another</h3>
780
+ </div>
781
+ </div>
782
+ }
783
+
784
+ assert_select "#wrapper .piece h3", :text => "Text"
785
+ assert_select "#wrapper .piece h3", :text => "Another"
786
+
787
+ response.should have_tag("#wrapper .piece h3", :text => "Text")
788
+ response.should have_tag("#wrapper .piece h3", :text => "Another")
789
+ end
790
+ end
791
+
792
+ describe 'selecting in HTML that contains a mock with null_object' do
793
+ module HTML
794
+ class Document
795
+ def initialize_with_strict_error_checking(text, strict=false, xml=false)
796
+ initialize_without_strict_error_checking(text, true, xml)
797
+ end
798
+ alias_method :initialize_without_strict_error_checking, :initialize
799
+ alias_method :initialize, :initialize_with_strict_error_checking
800
+ end
801
+ end
802
+
803
+ describe 'modified HTML::Document' do
804
+ it 'should raise error on valid HTML even though false is specified' do
805
+ lambda {HTML::Document.new("<b>#<Spec::Mocks::Mock:0x267b4f0></b>", false, false)}.should raise_error
806
+ end
807
+ end
808
+
809
+ it 'should not print errors from assert_select' do
810
+ mock = mock("Dog", :null_object => true)
811
+ html = "<b>#{mock.colour}</b>"
812
+ lambda {html.should have_tag('b')}.should_not raise_error
813
+ end
814
+ end