deckshuffler 0.0.2

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 (656) hide show
  1. data/.DS_Store +0 -0
  2. data/MIT-LICENSE +21 -0
  3. data/Rakefile +55 -0
  4. data/app/controllers/account_controller.rb +41 -0
  5. data/app/controllers/application.rb +27 -0
  6. data/app/controllers/board_controller.rb +15 -0
  7. data/app/controllers/capacities_controller.rb +52 -0
  8. data/app/controllers/card_sizes_controller.rb +47 -0
  9. data/app/controllers/card_types_controller.rb +47 -0
  10. data/app/controllers/cards_controller.rb +233 -0
  11. data/app/controllers/functional_sets_controller.rb +55 -0
  12. data/app/controllers/iteration_controller.rb +93 -0
  13. data/app/controllers/milestones_controller.rb +51 -0
  14. data/app/controllers/priorities_controller.rb +52 -0
  15. data/app/controllers/project_infos_controller.rb +40 -0
  16. data/app/helpers/account_helper.rb +2 -0
  17. data/app/helpers/application_helper.rb +39 -0
  18. data/app/helpers/board_helper.rb +2 -0
  19. data/app/helpers/capacities_helper.rb +2 -0
  20. data/app/helpers/card_sizes_helper.rb +2 -0
  21. data/app/helpers/card_types_helper.rb +2 -0
  22. data/app/helpers/cards_helper.rb +2 -0
  23. data/app/helpers/functional_sets_helper.rb +2 -0
  24. data/app/helpers/milestones_helper.rb +2 -0
  25. data/app/helpers/priorities_helper.rb +2 -0
  26. data/app/helpers/project_infos_helper.rb +5 -0
  27. data/app/models/capacity.rb +4 -0
  28. data/app/models/card.rb +64 -0
  29. data/app/models/card_size.rb +13 -0
  30. data/app/models/card_type.rb +13 -0
  31. data/app/models/functional_set.rb +5 -0
  32. data/app/models/milestone.rb +15 -0
  33. data/app/models/previous_card_owner.rb +6 -0
  34. data/app/models/priority.rb +14 -0
  35. data/app/models/project_info.rb +3 -0
  36. data/app/views/account/index.rhtml +56 -0
  37. data/app/views/account/login.rhtml +12 -0
  38. data/app/views/account/signup.rhtml +24 -0
  39. data/app/views/board/_card_summary.rhtml +24 -0
  40. data/app/views/board/_cards_column.rhtml +11 -0
  41. data/app/views/board/index.rhtml +30 -0
  42. data/app/views/capacities/edit.rhtml +11 -0
  43. data/app/views/capacities/list.rhtml +34 -0
  44. data/app/views/capacities/new.rhtml +10 -0
  45. data/app/views/capacities/show.rhtml +8 -0
  46. data/app/views/card_sizes/_form.rhtml +10 -0
  47. data/app/views/card_sizes/edit.rhtml +7 -0
  48. data/app/views/card_sizes/list.rhtml +27 -0
  49. data/app/views/card_sizes/new.rhtml +6 -0
  50. data/app/views/card_sizes/show.rhtml +8 -0
  51. data/app/views/card_types/_form.rhtml +7 -0
  52. data/app/views/card_types/edit.rhtml +7 -0
  53. data/app/views/card_types/list.rhtml +27 -0
  54. data/app/views/card_types/new.rhtml +6 -0
  55. data/app/views/card_types/show.rhtml +8 -0
  56. data/app/views/cards/_form.rhtml +104 -0
  57. data/app/views/cards/edit.rhtml +4 -0
  58. data/app/views/cards/import.rhtml +4 -0
  59. data/app/views/cards/list_per_functional_set.rhtml +37 -0
  60. data/app/views/cards/list_per_milestone.rhtml +36 -0
  61. data/app/views/cards/list_per_status.rhtml +40 -0
  62. data/app/views/cards/list_per_user.rhtml +38 -0
  63. data/app/views/cards/merge.rhtml +41 -0
  64. data/app/views/cards/raise_card.rhtml +4 -0
  65. data/app/views/cards/split.rhtml +4 -0
  66. data/app/views/functional_sets/_form.rhtml +10 -0
  67. data/app/views/functional_sets/edit.rhtml +4 -0
  68. data/app/views/functional_sets/list.rhtml +25 -0
  69. data/app/views/functional_sets/new.rhtml +4 -0
  70. data/app/views/iteration/bulk_edit_actual.rhtml +23 -0
  71. data/app/views/iteration/bulk_edit_planned.rhtml +19 -0
  72. data/app/views/layouts/account.rhtml +22 -0
  73. data/app/views/layouts/standard.rhtml +36 -0
  74. data/app/views/milestones/_form.rhtml +8 -0
  75. data/app/views/milestones/edit.rhtml +7 -0
  76. data/app/views/milestones/list.rhtml +23 -0
  77. data/app/views/milestones/new.rhtml +6 -0
  78. data/app/views/milestones/show.rhtml +8 -0
  79. data/app/views/priorities/_form.rhtml +9 -0
  80. data/app/views/priorities/edit.rhtml +7 -0
  81. data/app/views/priorities/list.rhtml +25 -0
  82. data/app/views/priorities/new.rhtml +6 -0
  83. data/app/views/priorities/show.rhtml +9 -0
  84. data/app/views/project_infos/_form.rhtml +18 -0
  85. data/app/views/project_infos/edit.rhtml +7 -0
  86. data/app/views/project_infos/list.rhtml +25 -0
  87. data/app/views/project_infos/new.rhtml +6 -0
  88. data/bin/deckshuffler +74 -0
  89. data/config/boot.rb +19 -0
  90. data/config/environment.rb +68 -0
  91. data/config/routes.rb +19 -0
  92. data/db/development_structure.sql +81 -0
  93. data/db/migrate/001_cards.rb +41 -0
  94. data/db/migrate/002_statuses.rb +45 -0
  95. data/db/migrate/003_card_sizes.rb +17 -0
  96. data/db/migrate/004_card_types.rb +15 -0
  97. data/db/migrate/005_functional_set.rb +23 -0
  98. data/db/migrate/006_project_info.rb +14 -0
  99. data/db/migrate/007_create_users.rb +18 -0
  100. data/db/migrate/008_capacities.rb +14 -0
  101. data/db/migrate/009_in_play_status.rb +48 -0
  102. data/db/migrate/010_milestones.rb +14 -0
  103. data/db/migrate/011_priorities.rb +18 -0
  104. data/db/migrate/012_card_dependencies.rb +21 -0
  105. data/db/migrate/013_authentication_independent.rb +15 -0
  106. data/db/schema.rb +104 -0
  107. data/doc/.DS_Store +0 -0
  108. data/doc/deckshuffler.svg +199 -0
  109. data/lib/authentication/authenticated_system.rb +162 -0
  110. data/lib/authentication/authenticated_test_helper.rb +113 -0
  111. data/lib/authentication/user.rb +67 -0
  112. data/lib/authentication/user_notifier.rb +22 -0
  113. data/lib/authentication/user_observer.rb +9 -0
  114. data/lib/cards_csv_exporter.rb +33 -0
  115. data/lib/cards_csv_importer.rb +87 -0
  116. data/lib/module_validator.rb +12 -0
  117. data/lib/status.rb +69 -0
  118. data/lib/transition_manager.rb +30 -0
  119. data/previous_failures.txt +0 -0
  120. data/public/.DS_Store +0 -0
  121. data/public/.htaccess +41 -0
  122. data/public/404.html +8 -0
  123. data/public/500.html +8 -0
  124. data/public/dispatch.cgi +10 -0
  125. data/public/dispatch.fcgi +29 -0
  126. data/public/dispatch.rb +10 -0
  127. data/public/favicon.ico +0 -0
  128. data/public/images/.DS_Store +0 -0
  129. data/public/images/deckshuffler.png +0 -0
  130. data/public/javascripts/controls.js +750 -0
  131. data/public/javascripts/dragdrop.js +584 -0
  132. data/public/javascripts/effects.js +854 -0
  133. data/public/javascripts/prototype.js +1785 -0
  134. data/public/robots.txt +1 -0
  135. data/public/stylesheets/deckshuffler.css +142 -0
  136. data/public/stylesheets/scaffold.css +74 -0
  137. data/script/about +3 -0
  138. data/script/breakpointer +3 -0
  139. data/script/console +3 -0
  140. data/script/destroy +3 -0
  141. data/script/generate +3 -0
  142. data/script/performance/benchmarker +3 -0
  143. data/script/performance/profiler +3 -0
  144. data/script/plugin +3 -0
  145. data/script/process/reaper +3 -0
  146. data/script/process/spawner +3 -0
  147. data/script/process/spinner +3 -0
  148. data/script/runner +3 -0
  149. data/script/server +3 -0
  150. data/script/spec +4 -0
  151. data/script/spec_server +86 -0
  152. data/spec/controllers/cards_controller_spec.rb +98 -0
  153. data/spec/lib/cards_csv_exporter_spec.rb +86 -0
  154. data/spec/lib/cards_csv_importer_spec.rb +184 -0
  155. data/spec/spec.opts +6 -0
  156. data/spec/spec_helper.rb +23 -0
  157. data/test/.DS_Store +0 -0
  158. data/test/fixtures/capacities.yml +5 -0
  159. data/test/fixtures/card_sizes.yml +6 -0
  160. data/test/fixtures/card_types.yml +5 -0
  161. data/test/fixtures/cards.yml +17 -0
  162. data/test/fixtures/functional_sets.yml +5 -0
  163. data/test/fixtures/milestones.yml +5 -0
  164. data/test/fixtures/priorities.yml +7 -0
  165. data/test/fixtures/project_infos.yml +5 -0
  166. data/test/fixtures/users.yml +17 -0
  167. data/test/functional/.DS_Store +0 -0
  168. data/test/functional/account_controller_test.rb +129 -0
  169. data/test/functional/board_controller_test.rb +28 -0
  170. data/test/functional/capacities_controller_test.rb +37 -0
  171. data/test/functional/cards_controller_test.rb +268 -0
  172. data/test/functional/functional_sets_controller_test.rb +27 -0
  173. data/test/functional/project_infos_controller_test.rb +38 -0
  174. data/test/test_helper.rb +30 -0
  175. data/test/unit/.DS_Store +0 -0
  176. data/test/unit/capacity_test.rb +14 -0
  177. data/test/unit/card_size_test.rb +21 -0
  178. data/test/unit/card_test.rb +51 -0
  179. data/test/unit/card_type_test.rb +20 -0
  180. data/test/unit/milestone_test.rb +20 -0
  181. data/test/unit/priority_test.rb +20 -0
  182. data/test/unit/status_test.rb +93 -0
  183. data/test/unit/transition_manager_test.rb +142 -0
  184. data/test/unit/user_notifier_test.rb +32 -0
  185. data/test/unit/user_test.rb +75 -0
  186. data/vendor/plugins/acts_as_authenticated/CHANGELOG +86 -0
  187. data/vendor/plugins/acts_as_authenticated/README +20 -0
  188. data/vendor/plugins/acts_as_authenticated/generators/authenticated/USAGE +1 -0
  189. data/vendor/plugins/acts_as_authenticated/generators/authenticated/authenticated_generator.rb +102 -0
  190. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/authenticated_system.rb +131 -0
  191. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/authenticated_test_helper.rb +113 -0
  192. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/controller.rb +43 -0
  193. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/fixtures.yml +17 -0
  194. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/functional_test.rb +129 -0
  195. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/helper.rb +2 -0
  196. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/index.rhtml +56 -0
  197. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/login.rhtml +14 -0
  198. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/migration.rb +18 -0
  199. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/model.rb +64 -0
  200. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/signup.rhtml +16 -0
  201. data/vendor/plugins/acts_as_authenticated/generators/authenticated/templates/unit_test.rb +75 -0
  202. data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/USAGE +1 -0
  203. data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/authenticated_mailer_generator.rb +27 -0
  204. data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/activation.rhtml +3 -0
  205. data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/notifier.rb +22 -0
  206. data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/notifier_test.rb +27 -0
  207. data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/observer.rb +9 -0
  208. data/vendor/plugins/acts_as_authenticated/generators/authenticated_mailer/templates/signup_notification.rhtml +8 -0
  209. data/vendor/plugins/acts_as_authenticated/install.rb +1 -0
  210. data/vendor/plugins/rspec/CHANGES +963 -0
  211. data/vendor/plugins/rspec/MIT-LICENSE +20 -0
  212. data/vendor/plugins/rspec/README +75 -0
  213. data/vendor/plugins/rspec/Rakefile +273 -0
  214. data/vendor/plugins/rspec/TODO +54 -0
  215. data/vendor/plugins/rspec/UPGRADE +31 -0
  216. data/vendor/plugins/rspec/autotest/discover.rb +6 -0
  217. data/vendor/plugins/rspec/autotest/rspec.rb +1 -0
  218. data/vendor/plugins/rspec/bin/spec +3 -0
  219. data/vendor/plugins/rspec/bin/spec_translator +8 -0
  220. data/vendor/plugins/rspec/examples/auto_spec_description_example.rb +19 -0
  221. data/vendor/plugins/rspec/examples/before_and_after_example.rb +40 -0
  222. data/vendor/plugins/rspec/examples/behave_as_example.rb +45 -0
  223. data/vendor/plugins/rspec/examples/custom_expectation_matchers.rb +54 -0
  224. data/vendor/plugins/rspec/examples/custom_formatter.rb +12 -0
  225. data/vendor/plugins/rspec/examples/dynamic_spec.rb +9 -0
  226. data/vendor/plugins/rspec/examples/file_accessor.rb +19 -0
  227. data/vendor/plugins/rspec/examples/file_accessor_spec.rb +38 -0
  228. data/vendor/plugins/rspec/examples/greeter_spec.rb +31 -0
  229. data/vendor/plugins/rspec/examples/helper_method_example.rb +11 -0
  230. data/vendor/plugins/rspec/examples/io_processor.rb +8 -0
  231. data/vendor/plugins/rspec/examples/io_processor_spec.rb +21 -0
  232. data/vendor/plugins/rspec/examples/legacy_spec.rb +11 -0
  233. data/vendor/plugins/rspec/examples/mocking_example.rb +27 -0
  234. data/vendor/plugins/rspec/examples/multi_threaded_behaviour_runner.rb +27 -0
  235. data/vendor/plugins/rspec/examples/partial_mock_example.rb +28 -0
  236. data/vendor/plugins/rspec/examples/pending_example.rb +20 -0
  237. data/vendor/plugins/rspec/examples/predicate_example.rb +27 -0
  238. data/vendor/plugins/rspec/examples/priority.txt +1 -0
  239. data/vendor/plugins/rspec/examples/shared_behaviours_example.rb +39 -0
  240. data/vendor/plugins/rspec/examples/spec_and_test_together.rb +20 -0
  241. data/vendor/plugins/rspec/examples/spec_helper.rb +3 -0
  242. data/vendor/plugins/rspec/examples/stack.rb +36 -0
  243. data/vendor/plugins/rspec/examples/stack_spec.rb +97 -0
  244. data/vendor/plugins/rspec/examples/story/game-of-life/.loadpath +5 -0
  245. data/vendor/plugins/rspec/examples/story/game-of-life/README.txt +21 -0
  246. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/everything.rb +6 -0
  247. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/examples/examples.rb +3 -0
  248. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/examples/game_behaviour.rb +35 -0
  249. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/examples/grid_behaviour.rb +66 -0
  250. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +21 -0
  251. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +21 -0
  252. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +42 -0
  253. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/ICanCreateACell.story +42 -0
  254. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/ICanKillACell.story +17 -0
  255. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/TheGridWraps.story +53 -0
  256. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/create_a_cell.rb +52 -0
  257. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/kill_a_cell.rb +24 -0
  258. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/stories.rb +5 -0
  259. data/vendor/plugins/rspec/examples/story/game-of-life/behaviour/stories/stories.txt +22 -0
  260. data/vendor/plugins/rspec/examples/story/game-of-life/life.rb +3 -0
  261. data/vendor/plugins/rspec/examples/story/game-of-life/life/game.rb +23 -0
  262. data/vendor/plugins/rspec/examples/story/game-of-life/life/grid.rb +43 -0
  263. data/vendor/plugins/rspec/examples/stubbing_example.rb +69 -0
  264. data/vendor/plugins/rspec/examples/test_case_adapter_example.rb +26 -0
  265. data/vendor/plugins/rspec/failing_examples/diffing_spec.rb +36 -0
  266. data/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +10 -0
  267. data/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +10 -0
  268. data/vendor/plugins/rspec/failing_examples/mocking_example.rb +40 -0
  269. data/vendor/plugins/rspec/failing_examples/mocking_with_flexmock.rb +26 -0
  270. data/vendor/plugins/rspec/failing_examples/mocking_with_mocha.rb +25 -0
  271. data/vendor/plugins/rspec/failing_examples/mocking_with_rr.rb +27 -0
  272. data/vendor/plugins/rspec/failing_examples/partial_mock_example.rb +20 -0
  273. data/vendor/plugins/rspec/failing_examples/predicate_example.rb +29 -0
  274. data/vendor/plugins/rspec/failing_examples/raising_example.rb +47 -0
  275. data/vendor/plugins/rspec/failing_examples/spec_helper.rb +3 -0
  276. data/vendor/plugins/rspec/failing_examples/syntax_error_example.rb +7 -0
  277. data/vendor/plugins/rspec/failing_examples/team_spec.rb +44 -0
  278. data/vendor/plugins/rspec/failing_examples/timeout_behaviour.rb +7 -0
  279. data/vendor/plugins/rspec/init.rb +3 -0
  280. data/vendor/plugins/rspec/lib/autotest/discover.rb +3 -0
  281. data/vendor/plugins/rspec/lib/autotest/rspec.rb +94 -0
  282. data/vendor/plugins/rspec/lib/spec.rb +12 -0
  283. data/vendor/plugins/rspec/lib/spec/dsl.rb +16 -0
  284. data/vendor/plugins/rspec/lib/spec/dsl/behaviour.rb +183 -0
  285. data/vendor/plugins/rspec/lib/spec/dsl/behaviour_description.rb +85 -0
  286. data/vendor/plugins/rspec/lib/spec/dsl/behaviour_factory.rb +59 -0
  287. data/vendor/plugins/rspec/lib/spec/dsl/configuration.rb +137 -0
  288. data/vendor/plugins/rspec/lib/spec/dsl/errors.rb +9 -0
  289. data/vendor/plugins/rspec/lib/spec/dsl/example.rb +7 -0
  290. data/vendor/plugins/rspec/lib/spec/dsl/example_definition.rb +32 -0
  291. data/vendor/plugins/rspec/lib/spec/dsl/example_matcher.rb +38 -0
  292. data/vendor/plugins/rspec/lib/spec/dsl/example_module.rb +198 -0
  293. data/vendor/plugins/rspec/lib/spec/dsl/example_runner.rb +147 -0
  294. data/vendor/plugins/rspec/lib/spec/dsl/example_suite.rb +110 -0
  295. data/vendor/plugins/rspec/lib/spec/dsl/pending.rb +18 -0
  296. data/vendor/plugins/rspec/lib/spec/dsl/shared_behaviour.rb +52 -0
  297. data/vendor/plugins/rspec/lib/spec/dsl/should_raise_handler.rb +64 -0
  298. data/vendor/plugins/rspec/lib/spec/expectations.rb +56 -0
  299. data/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +66 -0
  300. data/vendor/plugins/rspec/lib/spec/expectations/errors.rb +6 -0
  301. data/vendor/plugins/rspec/lib/spec/expectations/extensions.rb +2 -0
  302. data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +71 -0
  303. data/vendor/plugins/rspec/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
  304. data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +52 -0
  305. data/vendor/plugins/rspec/lib/spec/extensions.rb +2 -0
  306. data/vendor/plugins/rspec/lib/spec/extensions/main.rb +51 -0
  307. data/vendor/plugins/rspec/lib/spec/extensions/object.rb +10 -0
  308. data/vendor/plugins/rspec/lib/spec/matchers.rb +153 -0
  309. data/vendor/plugins/rspec/lib/spec/matchers/be.rb +206 -0
  310. data/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +37 -0
  311. data/vendor/plugins/rspec/lib/spec/matchers/change.rb +120 -0
  312. data/vendor/plugins/rspec/lib/spec/matchers/eql.rb +43 -0
  313. data/vendor/plugins/rspec/lib/spec/matchers/equal.rb +43 -0
  314. data/vendor/plugins/rspec/lib/spec/matchers/has.rb +44 -0
  315. data/vendor/plugins/rspec/lib/spec/matchers/have.rb +142 -0
  316. data/vendor/plugins/rspec/lib/spec/matchers/include.rb +70 -0
  317. data/vendor/plugins/rspec/lib/spec/matchers/match.rb +41 -0
  318. data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +73 -0
  319. data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +105 -0
  320. data/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +45 -0
  321. data/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +47 -0
  322. data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +27 -0
  323. data/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +73 -0
  324. data/vendor/plugins/rspec/lib/spec/mocks.rb +211 -0
  325. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +27 -0
  326. data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +183 -0
  327. data/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +84 -0
  328. data/vendor/plugins/rspec/lib/spec/mocks/errors.rb +10 -0
  329. data/vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  330. data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +254 -0
  331. data/vendor/plugins/rspec/lib/spec/mocks/methods.rb +39 -0
  332. data/vendor/plugins/rspec/lib/spec/mocks/mock.rb +37 -0
  333. data/vendor/plugins/rspec/lib/spec/mocks/order_group.rb +29 -0
  334. data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +170 -0
  335. data/vendor/plugins/rspec/lib/spec/mocks/space.rb +28 -0
  336. data/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +37 -0
  337. data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +224 -0
  338. data/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  339. data/vendor/plugins/rspec/lib/spec/runner.rb +164 -0
  340. data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +57 -0
  341. data/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb +56 -0
  342. data/vendor/plugins/rspec/lib/spec/runner/command_line.rb +39 -0
  343. data/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +20 -0
  344. data/vendor/plugins/rspec/lib/spec/runner/extensions/object.rb +32 -0
  345. data/vendor/plugins/rspec/lib/spec/runner/formatter.rb +9 -0
  346. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +77 -0
  347. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +128 -0
  348. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_behaviours_formatter.rb +29 -0
  349. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +22 -0
  350. data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +322 -0
  351. data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +31 -0
  352. data/vendor/plugins/rspec/lib/spec/runner/formatter/rdoc_formatter.rb +24 -0
  353. data/vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  354. data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +29 -0
  355. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  356. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  357. data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +222 -0
  358. data/vendor/plugins/rspec/lib/spec/runner/options.rb +223 -0
  359. data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +137 -0
  360. data/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +53 -0
  361. data/vendor/plugins/rspec/lib/spec/story.rb +10 -0
  362. data/vendor/plugins/rspec/lib/spec/story/documenter.rb +1 -0
  363. data/vendor/plugins/rspec/lib/spec/story/documenter/plain_text_documenter.rb +43 -0
  364. data/vendor/plugins/rspec/lib/spec/story/extensions.rb +1 -0
  365. data/vendor/plugins/rspec/lib/spec/story/extensions/main.rb +13 -0
  366. data/vendor/plugins/rspec/lib/spec/story/given_scenario.rb +14 -0
  367. data/vendor/plugins/rspec/lib/spec/story/reporter.rb +1 -0
  368. data/vendor/plugins/rspec/lib/spec/story/reporter/plain_text_reporter.rb +60 -0
  369. data/vendor/plugins/rspec/lib/spec/story/runner.rb +49 -0
  370. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_collector.rb +18 -0
  371. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_runner.rb +43 -0
  372. data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +65 -0
  373. data/vendor/plugins/rspec/lib/spec/story/scenario.rb +14 -0
  374. data/vendor/plugins/rspec/lib/spec/story/simple_step.rb +17 -0
  375. data/vendor/plugins/rspec/lib/spec/story/step_mother.rb +31 -0
  376. data/vendor/plugins/rspec/lib/spec/story/story.rb +22 -0
  377. data/vendor/plugins/rspec/lib/spec/story/world.rb +87 -0
  378. data/vendor/plugins/rspec/lib/spec/test.rb +9 -0
  379. data/vendor/plugins/rspec/lib/spec/test/unit/autorunner.rb +6 -0
  380. data/vendor/plugins/rspec/lib/spec/test/unit/example.rb +15 -0
  381. data/vendor/plugins/rspec/lib/spec/test/unit/example_suite.rb +11 -0
  382. data/vendor/plugins/rspec/lib/spec/test/unit/rspectestresult.rb +5 -0
  383. data/vendor/plugins/rspec/lib/spec/test/unit/ui/console/testrunner.rb +18 -0
  384. data/vendor/plugins/rspec/lib/spec/test/unit/ui/testrunnermediator.rb +10 -0
  385. data/vendor/plugins/rspec/lib/spec/test_case_adapter.rb +10 -0
  386. data/vendor/plugins/rspec/lib/spec/translator.rb +114 -0
  387. data/vendor/plugins/rspec/lib/spec/version.rb +23 -0
  388. data/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +23 -0
  389. data/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +19 -0
  390. data/vendor/plugins/rspec/plugins/mock_frameworks/rr.rb +21 -0
  391. data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +18 -0
  392. data/vendor/plugins/rspec/rake_tasks/examples.rake +7 -0
  393. data/vendor/plugins/rspec/rake_tasks/examples_rdoc.rake +8 -0
  394. data/vendor/plugins/rspec/rake_tasks/examples_with_rcov.rake +9 -0
  395. data/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +9 -0
  396. data/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +7 -0
  397. data/vendor/plugins/rspec/spec.opts +6 -0
  398. data/vendor/plugins/rspec/spec/README.jruby +14 -0
  399. data/vendor/plugins/rspec/spec/autotest/discover_spec.rb +19 -0
  400. data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +264 -0
  401. data/vendor/plugins/rspec/spec/autotest_helper.rb +5 -0
  402. data/vendor/plugins/rspec/spec/rspec_suite.rb +6 -0
  403. data/vendor/plugins/rspec/spec/spec/dsl/behaviour_description_spec.rb +97 -0
  404. data/vendor/plugins/rspec/spec/spec/dsl/behaviour_factory_spec.rb +22 -0
  405. data/vendor/plugins/rspec/spec/spec/dsl/configuration_spec.rb +61 -0
  406. data/vendor/plugins/rspec/spec/spec/dsl/example_class_definition_spec.rb +48 -0
  407. data/vendor/plugins/rspec/spec/spec/dsl/example_definition_class_spec.rb +23 -0
  408. data/vendor/plugins/rspec/spec/spec/dsl/example_definition_spec.rb +17 -0
  409. data/vendor/plugins/rspec/spec/spec/dsl/example_factory_spec.rb +69 -0
  410. data/vendor/plugins/rspec/spec/spec/dsl/example_instance_spec.rb +242 -0
  411. data/vendor/plugins/rspec/spec/spec/dsl/example_matcher_spec.rb +91 -0
  412. data/vendor/plugins/rspec/spec/spec/dsl/example_should_raise_spec.rb +164 -0
  413. data/vendor/plugins/rspec/spec/spec/dsl/example_spec.rb +399 -0
  414. data/vendor/plugins/rspec/spec/spec/dsl/example_suite_spec.rb +617 -0
  415. data/vendor/plugins/rspec/spec/spec/dsl/pending_module_spec.rb +31 -0
  416. data/vendor/plugins/rspec/spec/spec/dsl/predicate_matcher_spec.rb +21 -0
  417. data/vendor/plugins/rspec/spec/spec/dsl/shared_behaviour_spec.rb +248 -0
  418. data/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +109 -0
  419. data/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +107 -0
  420. data/vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb +71 -0
  421. data/vendor/plugins/rspec/spec/spec/extensions/main_spec.rb +33 -0
  422. data/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +39 -0
  423. data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +209 -0
  424. data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +232 -0
  425. data/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +157 -0
  426. data/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +28 -0
  427. data/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +28 -0
  428. data/vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb +75 -0
  429. data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +129 -0
  430. data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +37 -0
  431. data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +272 -0
  432. data/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +45 -0
  433. data/vendor/plugins/rspec/spec/spec/matchers/match_spec.rb +37 -0
  434. data/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +78 -0
  435. data/vendor/plugins/rspec/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
  436. data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +158 -0
  437. data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +185 -0
  438. data/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +54 -0
  439. data/vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  440. data/vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +26 -0
  441. data/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +54 -0
  442. data/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +29 -0
  443. data/vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  444. data/vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  445. data/vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  446. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  447. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +31 -0
  448. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  449. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  450. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  451. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  452. data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +115 -0
  453. data/vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +84 -0
  454. data/vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  455. data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +450 -0
  456. data/vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  457. data/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +40 -0
  458. data/vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  459. data/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +42 -0
  460. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +106 -0
  461. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  462. data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +154 -0
  463. data/vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  464. data/vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  465. data/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +215 -0
  466. data/vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  467. data/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +12 -0
  468. data/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +140 -0
  469. data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +92 -0
  470. data/vendor/plugins/rspec/spec/spec/runner/empty_file.txt +0 -0
  471. data/vendor/plugins/rspec/spec/spec/runner/examples.txt +2 -0
  472. data/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +31 -0
  473. data/vendor/plugins/rspec/spec/spec/runner/failed.txt +3 -0
  474. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +41 -0
  475. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +30 -0
  476. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +365 -0
  477. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +375 -0
  478. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +371 -0
  479. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +371 -0
  480. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +54 -0
  481. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +21 -0
  482. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +39 -0
  483. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +110 -0
  484. data/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +21 -0
  485. data/vendor/plugins/rspec/spec/spec/runner/formatter/rdoc_formatter_spec.rb +48 -0
  486. data/vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +11 -0
  487. data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +21 -0
  488. data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +64 -0
  489. data/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +62 -0
  490. data/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +13 -0
  491. data/vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
  492. data/vendor/plugins/rspec/spec/spec/runner/object_ext_spec.rb +11 -0
  493. data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +356 -0
  494. data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +255 -0
  495. data/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +56 -0
  496. data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +216 -0
  497. data/vendor/plugins/rspec/spec/spec/runner/spec.opts +2 -0
  498. data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +124 -0
  499. data/vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  500. data/vendor/plugins/rspec/spec/spec/runner_spec.rb +11 -0
  501. data/vendor/plugins/rspec/spec/spec/spec_classes.rb +123 -0
  502. data/vendor/plugins/rspec/spec/spec/story/builders.rb +46 -0
  503. data/vendor/plugins/rspec/spec/spec/story/documenter/plain_text_documenter_spec.rb +100 -0
  504. data/vendor/plugins/rspec/spec/spec/story/extensions_spec.rb +14 -0
  505. data/vendor/plugins/rspec/spec/spec/story/given_scenario_spec.rb +27 -0
  506. data/vendor/plugins/rspec/spec/spec/story/reporter/plain_text_reporter_spec.rb +114 -0
  507. data/vendor/plugins/rspec/spec/spec/story/rspec_adapter.rb +49 -0
  508. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_collector_spec.rb +27 -0
  509. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb +145 -0
  510. data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +247 -0
  511. data/vendor/plugins/rspec/spec/spec/story/runner_spec.rb +64 -0
  512. data/vendor/plugins/rspec/spec/spec/story/scenario_spec.rb +20 -0
  513. data/vendor/plugins/rspec/spec/spec/story/simple_step_spec.rb +37 -0
  514. data/vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb +59 -0
  515. data/vendor/plugins/rspec/spec/spec/story/story_helper.rb +3 -0
  516. data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +45 -0
  517. data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +406 -0
  518. data/vendor/plugins/rspec/spec/spec/test/unit/autorunner_test.rb +12 -0
  519. data/vendor/plugins/rspec/spec/spec/test/unit/sample_spec_test.rb +28 -0
  520. data/vendor/plugins/rspec/spec/spec/test/unit/spec_helper.rb +4 -0
  521. data/vendor/plugins/rspec/spec/spec/test/unit/test_unit_and_rspec_spec.rb +28 -0
  522. data/vendor/plugins/rspec/spec/spec/translator_spec.rb +264 -0
  523. data/vendor/plugins/rspec/spec/spec_helper.rb +56 -0
  524. data/vendor/plugins/rspec_on_rails/MIT-LICENSE +31 -0
  525. data/vendor/plugins/rspec_on_rails/README +1 -0
  526. data/vendor/plugins/rspec_on_rails/Rakefile +9 -0
  527. data/vendor/plugins/rspec_on_rails/generators/rspec/CHANGES +1 -0
  528. data/vendor/plugins/rspec_on_rails/generators/rspec/rspec_generator.rb +34 -0
  529. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/all_stories.rb +4 -0
  530. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt +0 -0
  531. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec +4 -0
  532. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +103 -0
  533. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +6 -0
  534. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +23 -0
  535. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/stories_helper.rb +3 -0
  536. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/USAGE +33 -0
  537. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/rspec_controller_generator.rb +49 -0
  538. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +23 -0
  539. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
  540. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +12 -0
  541. data/vendor/plugins/rspec_on_rails/generators/rspec_model/USAGE +18 -0
  542. data/vendor/plugins/rspec_on_rails/generators/rspec_model/rspec_model_generator.rb +30 -0
  543. data/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +11 -0
  544. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +165 -0
  545. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +355 -0
  546. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +25 -0
  547. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +4 -0
  548. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +22 -0
  549. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +26 -0
  550. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +22 -0
  551. data/vendor/plugins/rspec_on_rails/init.rb +9 -0
  552. data/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +81 -0
  553. data/vendor/plugins/rspec_on_rails/lib/spec/dsl.rb +2 -0
  554. data/vendor/plugins/rspec_on_rails/lib/spec/dsl/configuration.rb +23 -0
  555. data/vendor/plugins/rspec_on_rails/lib/spec/matchers.rb +3 -0
  556. data/vendor/plugins/rspec_on_rails/lib/spec/matchers/have.rb +19 -0
  557. data/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +57 -0
  558. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl.rb +40 -0
  559. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/assigns_hash_proxy.rb +42 -0
  560. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour.rb +7 -0
  561. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/controller_example.rb +251 -0
  562. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/functional_example.rb +67 -0
  563. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/helper_example.rb +82 -0
  564. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/model_example.rb +14 -0
  565. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/rails_example.rb +93 -0
  566. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/render_observer.rb +90 -0
  567. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/behaviour/view_example.rb +181 -0
  568. data/vendor/plugins/rspec_on_rails/lib/spec/rails/dsl/ivar_proxy.rb +62 -0
  569. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb +7 -0
  570. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +11 -0
  571. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb +21 -0
  572. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb +11 -0
  573. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb +27 -0
  574. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb +29 -0
  575. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb +5 -0
  576. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +29 -0
  577. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +130 -0
  578. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +55 -0
  579. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +114 -0
  580. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +66 -0
  581. data/vendor/plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb +47 -0
  582. data/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +26 -0
  583. data/vendor/plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb +39 -0
  584. data/vendor/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb +8 -0
  585. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/assigns_hash_proxy_spec.rb +55 -0
  586. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/behaviour_factory_spec.rb +83 -0
  587. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/configuration_spec.rb +56 -0
  588. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_isolation_spec.rb +43 -0
  589. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/controller_spec_spec.rb +166 -0
  590. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/helper_spec_spec.rb +106 -0
  591. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/ivar_proxy_spec.rb +64 -0
  592. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/model_spec_spec.rb +14 -0
  593. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/shared_behaviour_spec.rb +16 -0
  594. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/test_unit_assertion_accessibility_spec.rb +33 -0
  595. data/vendor/plugins/rspec_on_rails/spec/rails/dsl/view_spec_spec.rb +245 -0
  596. data/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +54 -0
  597. data/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb +34 -0
  598. data/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +17 -0
  599. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +783 -0
  600. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +40 -0
  601. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb +13 -0
  602. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +203 -0
  603. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +131 -0
  604. data/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +65 -0
  605. data/vendor/plugins/rspec_on_rails/spec/rails/sample_spec.rb +7 -0
  606. data/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb +47 -0
  607. data/vendor/plugins/rspec_on_rails/spec/rails/spec_spec.rb +11 -0
  608. data/vendor/plugins/rspec_on_rails/spec/rails_suite.rb +7 -0
  609. data/vendor/plugins/rspec_on_rails/spec/spec_helper.rb +48 -0
  610. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/action_view_base_spec_controller.rb +2 -0
  611. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +48 -0
  612. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +59 -0
  613. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +22 -0
  614. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +58 -0
  615. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +10 -0
  616. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/more_explicit_helper.rb +5 -0
  617. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/plugin_application_helper.rb +6 -0
  618. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/view_spec_helper.rb +13 -0
  619. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_partial.rhtml +0 -0
  620. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +1 -0
  621. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +1 -0
  622. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
  623. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +1 -0
  624. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_template.rhtml +1 -0
  625. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
  626. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.js.rjs +1 -0
  627. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
  628. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rjs +1 -0
  629. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +1 -0
  630. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_div.rjs +1 -0
  631. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_page_element.rjs +1 -0
  632. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/insert_html.rjs +1 -0
  633. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace.rjs +1 -0
  634. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html.rjs +1 -0
  635. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +1 -0
  636. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_effect.rjs +1 -0
  637. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +1 -0
  638. data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/no_tags.rhtml +1 -0
  639. data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +1 -0
  640. data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +1 -0
  641. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial.rhtml +2 -0
  642. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
  643. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +1 -0
  644. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +1 -0
  645. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_spacer.rhtml +1 -0
  646. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +3 -0
  647. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/entry_form.rhtml +2 -0
  648. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/explicit_helper.rhtml +2 -0
  649. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/foo/show.rhtml +1 -0
  650. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/implicit_helper.rhtml +2 -0
  651. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/multiple_helpers.rhtml +3 -0
  652. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial.rhtml +5 -0
  653. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +3 -0
  654. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +1 -0
  655. data/vendor/plugins/rspec_on_rails/tasks/rspec.rake +133 -0
  656. metadata +875 -0
@@ -0,0 +1,110 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe ProgressBarFormatter do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @options = Options.new(StringIO.new, @io)
10
+ @formatter = @options.create_formatter(ProgressBarFormatter)
11
+ end
12
+
13
+ it "should produce line break on start dump" do
14
+ @formatter.start_dump
15
+ @io.string.should eql("\n")
16
+ end
17
+
18
+ it "should produce standard summary without pending when pending has a 0 count" do
19
+ @formatter.dump_summary(3, 2, 1, 0)
20
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
21
+ end
22
+
23
+ it "should produce standard summary" do
24
+ @formatter.example_pending("behaviour", "example", "message")
25
+ @io.rewind
26
+ @formatter.dump_summary(3, 2, 1, 1)
27
+ @io.string.should eql(%Q|
28
+ Finished in 3 seconds
29
+
30
+ 2 examples, 1 failure, 1 pending
31
+ |)
32
+ end
33
+
34
+ it "should push green dot for passing spec" do
35
+ @io.should_receive(:tty?).and_return(true)
36
+ @options.colour = true
37
+ @formatter.example_passed("spec")
38
+ @io.string.should == "\e[32m.\e[0m"
39
+ end
40
+
41
+ it "should push red F for failure spec" do
42
+ @io.should_receive(:tty?).and_return(true)
43
+ @options.colour = true
44
+ @formatter.example_failed("spec", 98, Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new))
45
+ @io.string.should eql("\e[31mF\e[0m")
46
+ end
47
+
48
+ it "should push magenta F for error spec" do
49
+ @io.should_receive(:tty?).and_return(true)
50
+ @options.colour = true
51
+ @formatter.example_failed("spec", 98, Reporter::Failure.new("c s", RuntimeError.new))
52
+ @io.string.should eql("\e[35mF\e[0m")
53
+ end
54
+
55
+ it "should push blue F for fixed pending spec" do
56
+ @io.should_receive(:tty?).and_return(true)
57
+ @options.colour = true
58
+ @formatter.example_failed("spec", 98, Reporter::Failure.new("c s", Spec::DSL::PendingFixedError.new))
59
+ @io.string.should eql("\e[34mF\e[0m")
60
+ end
61
+
62
+ it "should push nothing on start" do
63
+ @formatter.start(4)
64
+ @io.string.should eql("")
65
+ end
66
+
67
+ it "should ensure two ':' in the first backtrace" do
68
+ backtrace = ["/tmp/x.rb:1", "/tmp/x.rb:2", "/tmp/x.rb:3"]
69
+ @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip)
70
+ /tmp/x.rb:1:
71
+ /tmp/x.rb:2:
72
+ /tmp/x.rb:3:
73
+ EOE
74
+
75
+ backtrace = ["/tmp/x.rb:1: message", "/tmp/x.rb:2", "/tmp/x.rb:3"]
76
+ @formatter.format_backtrace(backtrace).should eql(<<-EOE.rstrip)
77
+ /tmp/x.rb:1: message
78
+ /tmp/x.rb:2:
79
+ /tmp/x.rb:3:
80
+ EOE
81
+ end
82
+
83
+ it "should dump pending" do
84
+ @formatter.example_pending("behaviour", "example", "message")
85
+ @formatter.dump_pending
86
+ @io.string.should =~ /Pending\:\nbehaviour example \(message\)\n/
87
+ end
88
+ end
89
+
90
+ describe "ProgressBarFormatter outputting to custom out" do
91
+ before(:each) do
92
+ @out = mock("out")
93
+ @options = Options.new(StringIO.new, @out)
94
+ @out.stub!(:puts)
95
+ @formatter = @options.create_formatter(ProgressBarFormatter)
96
+ @formatter.class.send :public, :output_to_tty?
97
+ end
98
+
99
+ after(:each) do
100
+ @formatter.class.send :protected, :output_to_tty?
101
+ end
102
+
103
+ it "should not throw NoMethodError on output_to_tty?" do
104
+ @out.should_receive(:tty?).and_raise(NoMethodError)
105
+ @formatter.output_to_tty?.should be_false
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,21 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "RdocFormatterDryRun" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @options = Options.new(StringIO.new, @io)
10
+ @formatter = @options.create_formatter(RdocFormatter)
11
+ @options.dry_run = true
12
+ end
13
+
14
+ it "should not produce summary on dry run" do
15
+ @formatter.dump_summary(3, 2, 1, 0)
16
+ @io.string.should == ""
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,48 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "RdocFormatter" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @options = Options.new(StringIO.new, @io)
10
+ @formatter = @options.create_formatter(RdocFormatter)
11
+ @options.dry_run = true
12
+ @behaviour = Class.new(::Spec::DSL::Example).describe("My Behaviour")
13
+ end
14
+
15
+ it "should produce no summary" do
16
+ @formatter.dump_summary(nil, nil, nil, nil)
17
+ @io.string.should be_empty
18
+ end
19
+
20
+ it "should produce nothing on start dump" do
21
+ @formatter.start_dump
22
+ @io.string.should be_empty
23
+ end
24
+
25
+ it "should push out context" do
26
+ @formatter.add_behaviour(Spec::DSL::BehaviourDescription.new("context"))
27
+ @io.string.should eql("# context\n")
28
+ end
29
+
30
+ it "should push out failed spec" do
31
+ @formatter.example_failed(@behaviour.create_example_definition("spec"), 98, nil)
32
+ @io.string.should eql("# * spec [98 - FAILED]\n")
33
+ end
34
+
35
+ it "should push out spec" do
36
+ @formatter.example_passed(@behaviour.create_example_definition("spec"))
37
+ @io.string.should eql("# * spec\n")
38
+ end
39
+
40
+ it "should push out not pending example" do
41
+ @formatter.example_pending("behaviour", "example", "reason")
42
+ @io.string.should eql("# * behaviour example [PENDING: reason]\n")
43
+ end
44
+
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ describe Spec::Runner::Formatter::SnippetExtractor do
4
+ it "should fall back on a default message when it doesn't understand a line" do
5
+ Spec::Runner::Formatter::SnippetExtractor.new.snippet_for("blech").should == ["# Couldn't get snippet for blech", 1]
6
+ end
7
+
8
+ it "should fall back on a default message when it doesn't find the file" do
9
+ Spec::Runner::Formatter::SnippetExtractor.new.lines_around("blech", 8).should == "# Couldn't get snippet for blech"
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "SpecdocFormatterDryRun" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @options = Options.new(StringIO.new, @io)
10
+ @formatter = @options.create_formatter(SpecdocFormatter)
11
+ @options.dry_run = true
12
+ end
13
+
14
+ it "should not produce summary on dry run" do
15
+ @formatter.dump_summary(3, 2, 1, 0)
16
+ @io.string.should eql("")
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,64 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ module Formatter
6
+ describe "SpecdocFormatter" do
7
+ before(:each) do
8
+ @io = StringIO.new
9
+ @options = Options.new(StringIO.new, @io)
10
+ @formatter = @options.create_formatter(SpecdocFormatter)
11
+ @behaviour = Class.new(::Spec::DSL::Example).describe("My Behaviour")
12
+ end
13
+
14
+ it "should produce standard summary without pending when pending has a 0 count" do
15
+ @formatter.dump_summary(3, 2, 1, 0)
16
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
17
+ end
18
+
19
+ it "should produce standard summary" do
20
+ @formatter.dump_summary(3, 2, 1, 4)
21
+ @io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure, 4 pending\n")
22
+ end
23
+
24
+ it "should push context name" do
25
+ @formatter.add_behaviour(Spec::DSL::BehaviourDescription.new("context"))
26
+ @io.string.should eql("\ncontext\n")
27
+ end
28
+
29
+ it "should push failing spec name and failure number" do
30
+ @formatter.example_failed(@behaviour.create_example_definition("spec"), 98, Reporter::Failure.new("c s", RuntimeError.new))
31
+ @io.string.should eql("- spec (ERROR - 98)\n")
32
+ end
33
+
34
+ it "should push nothing on start" do
35
+ @formatter.start(5)
36
+ @io.string.should eql("")
37
+ end
38
+
39
+ it "should push nothing on start dump" do
40
+ @formatter.start_dump
41
+ @io.string.should eql("")
42
+ end
43
+
44
+ it "should push passing spec name" do
45
+ @formatter.example_passed(@behaviour.create_example_definition("spec"))
46
+ @io.string.should eql("- spec\n")
47
+ end
48
+
49
+ it "should push pending example name and message" do
50
+ @formatter.example_pending('behaviour', 'example','reason')
51
+ @io.string.should eql("- example (PENDING: reason)\n")
52
+ end
53
+
54
+ it "should dump pending" do
55
+ @formatter.example_pending('behaviour', 'example','reason')
56
+ @io.rewind
57
+ @formatter.dump_pending
58
+ @io.string.should =~ /Pending\:\nbehaviour example \(reason\)\n/
59
+ end
60
+
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,62 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+ unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
3
+ require 'spec/runner/heckle_runner'
4
+
5
+ module Foo
6
+ class Bar
7
+ def one; end
8
+ def two; end
9
+ end
10
+
11
+ class Zap
12
+ def three; end
13
+ def four; end
14
+ end
15
+ end
16
+
17
+ describe "HeckleRunner" do
18
+ before(:each) do
19
+ @heckle = mock("heckle", :null_object => true)
20
+ @heckle_class = mock("heckle_class")
21
+ end
22
+
23
+ it "should heckle all methods in all classes in a module" do
24
+ @heckle_class.should_receive(:new).with("Foo::Bar", "one", rspec_options).and_return(@heckle)
25
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
26
+ @heckle_class.should_receive(:new).with("Foo::Zap", "three", rspec_options).and_return(@heckle)
27
+ @heckle_class.should_receive(:new).with("Foo::Zap", "four", rspec_options).and_return(@heckle)
28
+
29
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo", @heckle_class)
30
+ heckle_runner.heckle_with
31
+ end
32
+
33
+ it "should heckle all methods in a class" do
34
+ @heckle_class.should_receive(:new).with("Foo::Bar", "one", rspec_options).and_return(@heckle)
35
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
36
+
37
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar", @heckle_class)
38
+ heckle_runner.heckle_with
39
+ end
40
+
41
+ it "should fail heckling when the class is not found" do
42
+ lambda do
43
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bob", @heckle_class)
44
+ heckle_runner.heckle_with
45
+ end.should raise_error(StandardError, "Heckling failed - \"Foo::Bob\" is not a known class or module")
46
+ end
47
+
48
+ it "should heckle specific method in a class (with #)" do
49
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
50
+
51
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar#two", @heckle_class)
52
+ heckle_runner.heckle_with
53
+ end
54
+
55
+ it "should heckle specific method in a class (with .)" do
56
+ @heckle_class.should_receive(:new).with("Foo::Bar", "two", rspec_options).and_return(@heckle)
57
+
58
+ heckle_runner = Spec::Runner::HeckleRunner.new("Foo::Bar.two", @heckle_class)
59
+ heckle_runner.heckle_with
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,13 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+ unless [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
3
+ require 'spec/runner/heckle_runner'
4
+
5
+ describe "Heckler" do
6
+ it "should run examples on tests_pass?" do
7
+ options = Spec::Runner::Options.new(StringIO.new, StringIO.new)
8
+ options.should_receive(:run_examples).with().and_return(&options.method(:run_examples))
9
+ heckler = Spec::Runner::Heckler.new('Array', 'push', options)
10
+ heckler.tests_pass?
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,45 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ describe "NoisyBacktraceTweaker" do
6
+ before(:each) do
7
+ @error = RuntimeError.new
8
+ @tweaker = NoisyBacktraceTweaker.new
9
+ end
10
+
11
+ it "should leave anything in lib spec dir" do
12
+ ["expectations", "mocks", "runner", "stubs"].each do |child|
13
+ @error.set_backtrace(["/lib/spec/#{child}/anything.rb"])
14
+ @tweaker.tweak_backtrace(@error, "spec name")
15
+ @error.backtrace.should_not be_empty
16
+ end
17
+ end
18
+
19
+ it "should leave anything in spec dir" do
20
+ @error.set_backtrace(["/lib/spec/expectations/anything.rb"])
21
+ @tweaker.tweak_backtrace(@error, "spec name")
22
+ @error.backtrace.should_not be_empty
23
+ end
24
+
25
+ it "should leave bin spec" do
26
+ @error.set_backtrace(["bin/spec:"])
27
+ @tweaker.tweak_backtrace(@error, "spec name")
28
+ @error.backtrace.should_not be_empty
29
+ end
30
+
31
+ it "should not barf on nil backtrace" do
32
+ lambda do
33
+ @tweaker.tweak_backtrace(@error, "spec name")
34
+ end.should_not raise_error
35
+ end
36
+
37
+ it "should clean up double slashes" do
38
+ @error.set_backtrace(["/a//b/c//d.rb"])
39
+ @tweaker.tweak_backtrace(@error, "spec name")
40
+ @error.backtrace.should include("/a/b/c/d.rb")
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module Spec
4
+ module Runner
5
+ describe "ObjectExt" do
6
+ it "should add copy_instance_variables_from to object" do
7
+ Object.new.should respond_to(:copy_instance_variables_from)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,356 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ describe "OptionParser" do
4
+ before(:each) do
5
+ @out = StringIO.new
6
+ @err = StringIO.new
7
+ @parser = Spec::Runner::OptionParser.new(@err, @out)
8
+ end
9
+
10
+ def parse(args)
11
+ @parser.parse(args)
12
+ @parser.options
13
+ end
14
+
15
+ it "should accept dry run option" do
16
+ options = parse(["--dry-run"])
17
+ options.dry_run.should be_true
18
+ end
19
+
20
+ it "should eval and use custom formatter when none of the builtins" do
21
+ options = parse(["--format", "Custom::Formatter"])
22
+ options.formatters[0].class.should be(Custom::Formatter)
23
+ end
24
+
25
+ it "should support formatters with relative and absolute paths, even on windows" do
26
+ options = parse([
27
+ "--format", "Custom::Formatter:C:\\foo\\bar",
28
+ "--format", "Custom::Formatter:foo/bar",
29
+ "--format", "Custom::Formatter:foo\\bar",
30
+ "--format", "Custom::Formatter:/foo/bar"
31
+ ])
32
+ options.formatters[0].where.should eql("C:\\foo\\bar")
33
+ options.formatters[1].where.should eql("foo/bar")
34
+ options.formatters[2].where.should eql("foo\\bar")
35
+ options.formatters[3].where.should eql("/foo/bar")
36
+ end
37
+
38
+ it "should not be verbose by default" do
39
+ options = parse([])
40
+ options.verbose.should be_nil
41
+ end
42
+
43
+ it "should not use colour by default" do
44
+ options = parse([])
45
+ options.colour.should == false
46
+ end
47
+
48
+ it "should print help to stdout" do
49
+ options = parse(["--help"])
50
+ @out.rewind
51
+ @out.read.should match(/Usage: spec \(FILE\|DIRECTORY\|GLOB\)\+ \[options\]/m)
52
+ end
53
+
54
+ it "should print instructions about how to require missing formatter" do
55
+ lambda { options = parse(["--format", "Custom::MissingFormatter"]) }.should raise_error(NameError)
56
+ @err.string.should match(/Couldn't find formatter class Custom::MissingFormatter/n)
57
+ end
58
+
59
+ it "should print version to stdout" do
60
+ options = parse(["--version"])
61
+ @out.rewind
62
+ @out.read.should match(/RSpec-\d+\.\d+\.\d+.*\(r\d+\) - BDD for Ruby\nhttp:\/\/rspec.rubyforge.org\/\n/n)
63
+ end
64
+
65
+ it "should require file when require specified" do
66
+ lambda do
67
+ parse(["--require", "whatever"])
68
+ end.should raise_error(LoadError)
69
+ end
70
+
71
+ it "should support c option" do
72
+ options = parse(["-c"])
73
+ options.colour.should be_true
74
+ end
75
+
76
+ it "should support queens colour option" do
77
+ options = parse(["--colour"])
78
+ options.colour.should be_true
79
+ end
80
+
81
+ it "should support us color option" do
82
+ options = parse(["--color"])
83
+ options.colour.should be_true
84
+ end
85
+
86
+ it "should support single example with -e option" do
87
+ options = parse(["-e", "something or other"])
88
+ options.examples.should eql(["something or other"])
89
+ end
90
+
91
+ it "should support single example with -s option (will be removed when autotest supports -e)" do
92
+ options = parse(["-s", "something or other"])
93
+ options.examples.should eql(["something or other"])
94
+ end
95
+
96
+ it "should support single example with --example option" do
97
+ options = parse(["--example", "something or other"])
98
+ options.examples.should eql(["something or other"])
99
+ end
100
+
101
+ it "should read several example names from file if --example is given an existing file name" do
102
+ options = parse(["--example", File.dirname(__FILE__) + '/examples.txt'])
103
+ options.examples.should eql([
104
+ "Sir, if you were my husband, I would poison your drink.",
105
+ "Madam, if you were my wife, I would drink it."])
106
+ end
107
+
108
+ it "should read no examples if given an empty file" do
109
+ options = parse(["--example", File.dirname(__FILE__) + '/empty_file.txt'])
110
+ options.examples.should eql([])
111
+ end
112
+
113
+ it "should use html formatter when format is h" do
114
+ options = parse(["--format", "h"])
115
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
116
+ end
117
+
118
+ it "should use html formatter when format is html" do
119
+ options = parse(["--format", "html"])
120
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
121
+ end
122
+
123
+ it "should use html formatter with explicit output when format is html:test.html" do
124
+ FileUtils.rm 'test.html' if File.exist?('test.html')
125
+ options = parse(["--format", "html:test.html"])
126
+ File.should be_exist('test.html')
127
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
128
+ options.formatters[0].close
129
+ FileUtils.rm 'test.html'
130
+ end
131
+
132
+ it "should use noisy backtrace tweaker with b option" do
133
+ options = parse(["-b"])
134
+ options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
135
+ end
136
+
137
+ it "should use noisy backtrace tweaker with backtrace option" do
138
+ options = parse(["--backtrace"])
139
+ options.backtrace_tweaker.should be_instance_of(Spec::Runner::NoisyBacktraceTweaker)
140
+ end
141
+
142
+ it "should use quiet backtrace tweaker by default" do
143
+ options = parse([])
144
+ options.backtrace_tweaker.should be_instance_of(Spec::Runner::QuietBacktraceTweaker)
145
+ end
146
+
147
+ it "should use progress bar formatter by default" do
148
+ options = parse([])
149
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::ProgressBarFormatter)
150
+ end
151
+
152
+ it "should use rdoc formatter when format is r" do
153
+ options = parse(["--format", "r"])
154
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::RdocFormatter)
155
+ end
156
+
157
+ it "should use rdoc formatter when format is rdoc" do
158
+ options = parse(["--format", "rdoc"])
159
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::RdocFormatter)
160
+ end
161
+
162
+ it "should use specdoc formatter when format is s" do
163
+ options = parse(["--format", "s"])
164
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
165
+ end
166
+
167
+ it "should use specdoc formatter when format is specdoc" do
168
+ options = parse(["--format", "specdoc"])
169
+ options.formatters[0].class.should equal(Spec::Runner::Formatter::SpecdocFormatter)
170
+ end
171
+
172
+ it "should support diff option when format is not specified" do
173
+ options = parse(["--diff"])
174
+ options.diff_format.should == :unified
175
+ end
176
+
177
+ it "should use unified diff format option when format is unified" do
178
+ options = parse(["--diff", "unified"])
179
+ options.diff_format.should == :unified
180
+ options.differ_class.should equal(Spec::Expectations::Differs::Default)
181
+ end
182
+
183
+ it "should use context diff format option when format is context" do
184
+ options = parse(["--diff", "context"])
185
+ options.diff_format.should == :context
186
+ options.differ_class.should == Spec::Expectations::Differs::Default
187
+ end
188
+
189
+ it "should use custom diff format option when format is a custom format" do
190
+ Spec::Expectations.differ.should_not be_instance_of(Custom::Differ)
191
+
192
+ options = parse(["--diff", "Custom::Differ"])
193
+ options.parse_diff "Custom::Differ"
194
+ options.diff_format.should == :custom
195
+ options.differ_class.should == Custom::Differ
196
+ Spec::Expectations.differ.should be_instance_of(Custom::Differ)
197
+ end
198
+
199
+ it "should print instructions about how to fix missing differ" do
200
+ lambda { parse(["--diff", "Custom::MissingFormatter"]) }.should raise_error(NameError)
201
+ @err.string.should match(/Couldn't find differ class Custom::MissingFormatter/n)
202
+ end
203
+
204
+ it "should support --line to identify spec" do
205
+ spec_parser = mock("spec_parser")
206
+ @parser.instance_variable_set('@spec_parser', spec_parser)
207
+
208
+ file_factory = mock("File")
209
+ file_factory.should_receive(:file?).and_return(true)
210
+ file_factory.should_receive(:open).and_return("fake_io")
211
+ @parser.instance_variable_set('@file_factory', file_factory)
212
+
213
+ spec_parser.should_receive(:spec_name_for).with("fake_io", 169).and_return("some spec")
214
+
215
+ options = parse(["some file", "--line", "169"])
216
+ options.examples.should eql(["some spec"])
217
+ File.rspec_verify
218
+ end
219
+
220
+ it "should fail with error message if file is dir along with --line" do
221
+ spec_parser = mock("spec_parser")
222
+ @parser.instance_variable_set('@spec_parser', spec_parser)
223
+
224
+ file_factory = mock("File")
225
+ file_factory.should_receive(:file?).and_return(false)
226
+ file_factory.should_receive(:directory?).and_return(true)
227
+ @parser.instance_variable_set('@file_factory', file_factory)
228
+
229
+ options = parse(["some file", "--line", "169"])
230
+ @err.string.should match(/You must specify one file, not a directory when using the --line option/n)
231
+ end
232
+
233
+ it "should fail with error message if file is dir along with --line" do
234
+ spec_parser = mock("spec_parser")
235
+ @parser.instance_variable_set('@spec_parser', spec_parser)
236
+
237
+ file_factory = mock("File")
238
+ file_factory.should_receive(:file?).and_return(false)
239
+ file_factory.should_receive(:directory?).and_return(false)
240
+ @parser.instance_variable_set('@file_factory', file_factory)
241
+
242
+ options = parse(["some file", "--line", "169"])
243
+ @err.string.should match(/some file does not exist/n)
244
+ end
245
+
246
+ it "should fail with error message if more than one files are specified along with --line" do
247
+ spec_parser = mock("spec_parser")
248
+ @parser.instance_variable_set('@spec_parser', spec_parser)
249
+
250
+ options = parse(["some file", "some other file", "--line", "169"])
251
+ @err.string.should match(/Only one file can be specified when using the --line option/n)
252
+ end
253
+
254
+ it "should fail with error message if --example and --line are used simultaneously" do
255
+ spec_parser = mock("spec_parser")
256
+ @parser.instance_variable_set('@spec_parser', spec_parser)
257
+
258
+ options = parse(["some file", "--example", "some example", "--line", "169"])
259
+ @err.string.should match(/You cannot use both --line and --example/n)
260
+ end
261
+
262
+ if [/mswin/, /java/].detect{|p| p =~ RUBY_PLATFORM}
263
+ it "should barf when --heckle is specified (and platform is windows)" do
264
+ lambda do
265
+ options = parse(["--heckle", "Spec"])
266
+ end.should raise_error(StandardError, "Heckle not supported on Windows")
267
+ end
268
+ else
269
+ it "should heckle when --heckle is specified (and platform is not windows)" do
270
+ options = parse(["--heckle", "Spec"])
271
+ options.heckle_runner.should be_instance_of(Spec::Runner::HeckleRunner)
272
+ end
273
+ end
274
+
275
+ it "should read options from file when --options is specified" do
276
+ options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
277
+ options.diff_format.should_not be_nil
278
+ options.colour.should be_true
279
+ end
280
+
281
+ it "should default the formatter to ProgressBarFormatter when using options file" do
282
+ options = parse(["--options", File.dirname(__FILE__) + "/spec.opts"])
283
+ options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::ProgressBarFormatter)
284
+ end
285
+
286
+ it "should read spaced and multi-line options from file when --options is specified" do
287
+ options = parse(["--options", File.dirname(__FILE__) + "/spec_spaced.opts"])
288
+ options.diff_format.should_not be_nil
289
+ options.colour.should be_true
290
+ options.formatters.first.should be_instance_of(::Spec::Runner::Formatter::SpecdocFormatter)
291
+ end
292
+
293
+ it "should save config to file when --generate-options is specified" do
294
+ FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
295
+ options = parse(["--colour", "--generate-options", "test.spec.opts", "--diff"])
296
+ IO.read('test.spec.opts').should == "--colour\n--diff\n"
297
+ FileUtils.rm 'test.spec.opts'
298
+ end
299
+
300
+ it "should save config to file when -G is specified" do
301
+ FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
302
+ options = parse(["--colour", "-G", "test.spec.opts", "--diff"])
303
+ IO.read('test.spec.opts').should == "--colour\n--diff\n"
304
+ FileUtils.rm 'test.spec.opts'
305
+ end
306
+
307
+ it "should call DrbCommandLine when --drb is specified" do
308
+ options = Spec::Runner::OptionParser.parse(["some/spec.rb", "--diff", "--colour"], @err, @out)
309
+ Spec::Runner::DrbCommandLine.should_receive(:run).and_return do |options|
310
+ options.differ_class.should == Spec::Expectations::Differs::Default
311
+ options.colour.should be_true
312
+ options.files.should == ["some/spec.rb"]
313
+ end
314
+ parse(["some/spec.rb", "--diff", "--drb", "--colour"])
315
+ end
316
+
317
+ it "should reverse spec order when --reverse is specified" do
318
+ options = parse(["some/spec.rb", "--reverse"])
319
+ end
320
+
321
+ it "should set an mtime comparator when --loadby mtime" do
322
+ options = parse(["--loadby", 'mtime'])
323
+ Dir.chdir(File.dirname(__FILE__)) do
324
+ options.files << 'command_line_spec.rb'
325
+ options.files << 'most_recent_spec.rb'
326
+ FileUtils.touch "most_recent_spec.rb"
327
+ options.paths.should == ["most_recent_spec.rb", "command_line_spec.rb"]
328
+ FileUtils.rm "most_recent_spec.rb"
329
+ end
330
+ end
331
+
332
+ it "should use the standard runner by default" do
333
+ options = parse([])
334
+ options.custom_runner.should be_nil
335
+ end
336
+
337
+ it "should use a custom runner when given" do
338
+ options = parse(["--runner", "Custom::BehaviourRunner"])
339
+ options.custom_runner.class.should equal(Custom::BehaviourRunner)
340
+ end
341
+
342
+ it "should use a custom runner with extra options" do
343
+ options = parse(["--runner", "Custom::BehaviourRunner:something"])
344
+ options.custom_runner.class.should equal(Custom::BehaviourRunner)
345
+ end
346
+
347
+ it "should not have a custom runner by default" do
348
+ options = Spec::Runner::OptionParser.parse([], @err, @out)
349
+ options.custom_runner.should be_nil
350
+ end
351
+
352
+ it "should return the correct default behaviour runner" do
353
+ options = Spec::Runner::OptionParser.parse(["--runner", "Custom::BehaviourRunner"], @err, @out)
354
+ options.custom_runner.class.should equal(Custom::BehaviourRunner)
355
+ end
356
+ end