gem_repackager 0.1.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 (567) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +56 -0
  5. data/Rakefile +9 -0
  6. data/bin/gem_repackager +57 -0
  7. data/gem_repackager.gemspec +22 -0
  8. data/lib/gem_repackager.rb +131 -0
  9. data/lib/gem_repackager/version.rb +5 -0
  10. data/spec/packager_spec.rb +131 -0
  11. data/spec/spec_helper.rb +1 -0
  12. data/support/bin/rspec +19 -0
  13. data/support/gems/rspec-2.11.0/License.txt +24 -0
  14. data/support/gems/rspec-2.11.0/README.md +47 -0
  15. data/support/gems/rspec-2.11.0/lib/rspec.rb +4 -0
  16. data/support/gems/rspec-2.11.0/lib/rspec/version.rb +5 -0
  17. data/support/gems/rspec-core-2.11.1/.document +5 -0
  18. data/support/gems/rspec-core-2.11.1/.yardopts +6 -0
  19. data/support/gems/rspec-core-2.11.1/Changelog.md +570 -0
  20. data/support/gems/rspec-core-2.11.1/License.txt +24 -0
  21. data/support/gems/rspec-core-2.11.1/README.md +235 -0
  22. data/support/gems/rspec-core-2.11.1/exe/autospec +13 -0
  23. data/support/gems/rspec-core-2.11.1/exe/rspec +25 -0
  24. data/support/gems/rspec-core-2.11.1/features/Autotest.md +38 -0
  25. data/support/gems/rspec-core-2.11.1/features/README.md +17 -0
  26. data/support/gems/rspec-core-2.11.1/features/Upgrade.md +364 -0
  27. data/support/gems/rspec-core-2.11.1/features/command_line/README.md +28 -0
  28. data/support/gems/rspec-core-2.11.1/features/command_line/example_name_option.feature +101 -0
  29. data/support/gems/rspec-core-2.11.1/features/command_line/exit_status.feature +83 -0
  30. data/support/gems/rspec-core-2.11.1/features/command_line/format_option.feature +81 -0
  31. data/support/gems/rspec-core-2.11.1/features/command_line/init.feature +18 -0
  32. data/support/gems/rspec-core-2.11.1/features/command_line/line_number_appended_to_path.feature +140 -0
  33. data/support/gems/rspec-core-2.11.1/features/command_line/line_number_option.feature +58 -0
  34. data/support/gems/rspec-core-2.11.1/features/command_line/order.feature +29 -0
  35. data/support/gems/rspec-core-2.11.1/features/command_line/pattern_option.feature +31 -0
  36. data/support/gems/rspec-core-2.11.1/features/command_line/rake_task.feature +68 -0
  37. data/support/gems/rspec-core-2.11.1/features/command_line/ruby.feature +22 -0
  38. data/support/gems/rspec-core-2.11.1/features/command_line/tag.feature +91 -0
  39. data/support/gems/rspec-core-2.11.1/features/configuration/alias_example_to.feature +48 -0
  40. data/support/gems/rspec-core-2.11.1/features/configuration/custom_settings.feature +84 -0
  41. data/support/gems/rspec-core-2.11.1/features/configuration/default_path.feature +38 -0
  42. data/support/gems/rspec-core-2.11.1/features/configuration/fail_fast.feature +77 -0
  43. data/support/gems/rspec-core-2.11.1/features/configuration/read_options_from_file.feature +87 -0
  44. data/support/gems/rspec-core-2.11.1/features/example_groups/basic_structure.feature +55 -0
  45. data/support/gems/rspec-core-2.11.1/features/example_groups/shared_context.feature +74 -0
  46. data/support/gems/rspec-core-2.11.1/features/example_groups/shared_examples.feature +204 -0
  47. data/support/gems/rspec-core-2.11.1/features/expectation_framework_integration/configure_expectation_framework.feature +102 -0
  48. data/support/gems/rspec-core-2.11.1/features/filtering/exclusion_filters.feature +139 -0
  49. data/support/gems/rspec-core-2.11.1/features/filtering/if_and_unless.feature +168 -0
  50. data/support/gems/rspec-core-2.11.1/features/filtering/inclusion_filters.feature +105 -0
  51. data/support/gems/rspec-core-2.11.1/features/filtering/run_all_when_everything_filtered.feature +46 -0
  52. data/support/gems/rspec-core-2.11.1/features/formatters/custom_formatter.feature +36 -0
  53. data/support/gems/rspec-core-2.11.1/features/formatters/text_formatter.feature +46 -0
  54. data/support/gems/rspec-core-2.11.1/features/helper_methods/arbitrary_methods.feature +40 -0
  55. data/support/gems/rspec-core-2.11.1/features/helper_methods/let.feature +50 -0
  56. data/support/gems/rspec-core-2.11.1/features/helper_methods/modules.feature +149 -0
  57. data/support/gems/rspec-core-2.11.1/features/hooks/around_hooks.feature +343 -0
  58. data/support/gems/rspec-core-2.11.1/features/hooks/before_and_after_hooks.feature +423 -0
  59. data/support/gems/rspec-core-2.11.1/features/hooks/filtering.feature +234 -0
  60. data/support/gems/rspec-core-2.11.1/features/metadata/current_example.feature +17 -0
  61. data/support/gems/rspec-core-2.11.1/features/metadata/described_class.feature +17 -0
  62. data/support/gems/rspec-core-2.11.1/features/metadata/user_defined.feature +113 -0
  63. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_any_framework.feature +106 -0
  64. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_flexmock.feature +96 -0
  65. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_mocha.feature +97 -0
  66. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_rr.feature +98 -0
  67. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_rspec.feature +97 -0
  68. data/support/gems/rspec-core-2.11.1/features/pending/pending_examples.feature +229 -0
  69. data/support/gems/rspec-core-2.11.1/features/spec_files/arbitrary_file_suffix.feature +13 -0
  70. data/support/gems/rspec-core-2.11.1/features/step_definitions/additional_cli_steps.rb +30 -0
  71. data/support/gems/rspec-core-2.11.1/features/subject/attribute_of_subject.feature +124 -0
  72. data/support/gems/rspec-core-2.11.1/features/subject/explicit_subject.feature +82 -0
  73. data/support/gems/rspec-core-2.11.1/features/subject/implicit_receiver.feature +29 -0
  74. data/support/gems/rspec-core-2.11.1/features/subject/implicit_subject.feature +63 -0
  75. data/support/gems/rspec-core-2.11.1/features/support/env.rb +12 -0
  76. data/support/gems/rspec-core-2.11.1/lib/autotest/discover.rb +1 -0
  77. data/support/gems/rspec-core-2.11.1/lib/autotest/rspec2.rb +73 -0
  78. data/support/gems/rspec-core-2.11.1/lib/rspec/autorun.rb +2 -0
  79. data/support/gems/rspec-core-2.11.1/lib/rspec/core.rb +126 -0
  80. data/support/gems/rspec-core-2.11.1/lib/rspec/core/backward_compatibility.rb +65 -0
  81. data/support/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb +36 -0
  82. data/support/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb +944 -0
  83. data/support/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb +129 -0
  84. data/support/gems/rspec-core-2.11.1/lib/rspec/core/deprecation.rb +36 -0
  85. data/support/gems/rspec-core-2.11.1/lib/rspec/core/drb_command_line.rb +26 -0
  86. data/support/gems/rspec-core-2.11.1/lib/rspec/core/drb_options.rb +87 -0
  87. data/support/gems/rspec-core-2.11.1/lib/rspec/core/dsl.rb +26 -0
  88. data/support/gems/rspec-core-2.11.1/lib/rspec/core/example.rb +330 -0
  89. data/support/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb +466 -0
  90. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions.rb +4 -0
  91. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/instance_eval_with_args.rb +44 -0
  92. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/kernel.rb +9 -0
  93. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/module_eval_with_args.rb +38 -0
  94. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/ordered.rb +21 -0
  95. data/support/gems/rspec-core-2.11.1/lib/rspec/core/filter_manager.rb +203 -0
  96. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/base_formatter.rb +168 -0
  97. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/base_text_formatter.rb +203 -0
  98. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/documentation_formatter.rb +67 -0
  99. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/helpers.rb +39 -0
  100. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/html_formatter.rb +464 -0
  101. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/progress_formatter.rb +32 -0
  102. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/snippet_extractor.rb +58 -0
  103. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/text_mate_formatter.rb +34 -0
  104. data/support/gems/rspec-core-2.11.1/lib/rspec/core/hooks.rb +495 -0
  105. data/support/gems/rspec-core-2.11.1/lib/rspec/core/let.rb +110 -0
  106. data/support/gems/rspec-core-2.11.1/lib/rspec/core/load_path.rb +3 -0
  107. data/support/gems/rspec-core-2.11.1/lib/rspec/core/metadata.rb +276 -0
  108. data/support/gems/rspec-core-2.11.1/lib/rspec/core/metadata_hash_builder.rb +97 -0
  109. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_absolutely_nothing.rb +11 -0
  110. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_flexmock.rb +27 -0
  111. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_mocha.rb +29 -0
  112. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_rr.rb +27 -0
  113. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_rspec.rb +23 -0
  114. data/support/gems/rspec-core-2.11.1/lib/rspec/core/option_parser.rb +181 -0
  115. data/support/gems/rspec-core-2.11.1/lib/rspec/core/pending.rb +101 -0
  116. data/support/gems/rspec-core-2.11.1/lib/rspec/core/project_initializer.rb +87 -0
  117. data/support/gems/rspec-core-2.11.1/lib/rspec/core/rake_task.rb +179 -0
  118. data/support/gems/rspec-core-2.11.1/lib/rspec/core/reporter.rb +102 -0
  119. data/support/gems/rspec-core-2.11.1/lib/rspec/core/ruby_project.rb +44 -0
  120. data/support/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb +76 -0
  121. data/support/gems/rspec-core-2.11.1/lib/rspec/core/shared_context.rb +49 -0
  122. data/support/gems/rspec-core-2.11.1/lib/rspec/core/shared_example_group.rb +96 -0
  123. data/support/gems/rspec-core-2.11.1/lib/rspec/core/subject.rb +219 -0
  124. data/support/gems/rspec-core-2.11.1/lib/rspec/core/version.rb +7 -0
  125. data/support/gems/rspec-core-2.11.1/lib/rspec/core/world.rb +128 -0
  126. data/support/gems/rspec-core-2.11.1/spec/autotest/discover_spec.rb +19 -0
  127. data/support/gems/rspec-core-2.11.1/spec/autotest/failed_results_re_spec.rb +45 -0
  128. data/support/gems/rspec-core-2.11.1/spec/autotest/rspec_spec.rb +123 -0
  129. data/support/gems/rspec-core-2.11.1/spec/command_line/order_spec.rb +137 -0
  130. data/support/gems/rspec-core-2.11.1/spec/rspec/core/command_line_spec.rb +108 -0
  131. data/support/gems/rspec-core-2.11.1/spec/rspec/core/command_line_spec_output.txt +0 -0
  132. data/support/gems/rspec-core-2.11.1/spec/rspec/core/configuration_options_spec.rb +377 -0
  133. data/support/gems/rspec-core-2.11.1/spec/rspec/core/configuration_spec.rb +1196 -0
  134. data/support/gems/rspec-core-2.11.1/spec/rspec/core/deprecations_spec.rb +66 -0
  135. data/support/gems/rspec-core-2.11.1/spec/rspec/core/drb_command_line_spec.rb +108 -0
  136. data/support/gems/rspec-core-2.11.1/spec/rspec/core/drb_options_spec.rb +180 -0
  137. data/support/gems/rspec-core-2.11.1/spec/rspec/core/dsl_spec.rb +17 -0
  138. data/support/gems/rspec-core-2.11.1/spec/rspec/core/example_group_spec.rb +1098 -0
  139. data/support/gems/rspec-core-2.11.1/spec/rspec/core/example_spec.rb +370 -0
  140. data/support/gems/rspec-core-2.11.1/spec/rspec/core/filter_manager_spec.rb +256 -0
  141. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/base_formatter_spec.rb +80 -0
  142. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/base_text_formatter_spec.rb +363 -0
  143. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/documentation_formatter_spec.rb +88 -0
  144. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/helpers_spec.rb +66 -0
  145. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +410 -0
  146. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.8.7.html +409 -0
  147. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.9.2.html +416 -0
  148. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.9.3.html +416 -0
  149. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatter_spec.rb +82 -0
  150. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/progress_formatter_spec.rb +30 -0
  151. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/snippet_extractor_spec.rb +18 -0
  152. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +410 -0
  153. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +409 -0
  154. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +416 -0
  155. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +416 -0
  156. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatter_spec.rb +83 -0
  157. data/support/gems/rspec-core-2.11.1/spec/rspec/core/hooks_filtering_spec.rb +227 -0
  158. data/support/gems/rspec-core-2.11.1/spec/rspec/core/hooks_spec.rb +250 -0
  159. data/support/gems/rspec-core-2.11.1/spec/rspec/core/kernel_extensions_spec.rb +9 -0
  160. data/support/gems/rspec-core-2.11.1/spec/rspec/core/let_spec.rb +55 -0
  161. data/support/gems/rspec-core-2.11.1/spec/rspec/core/metadata_spec.rb +447 -0
  162. data/support/gems/rspec-core-2.11.1/spec/rspec/core/option_parser_spec.rb +166 -0
  163. data/support/gems/rspec-core-2.11.1/spec/rspec/core/pending_example_spec.rb +220 -0
  164. data/support/gems/rspec-core-2.11.1/spec/rspec/core/project_initializer_spec.rb +130 -0
  165. data/support/gems/rspec-core-2.11.1/spec/rspec/core/rake_task_spec.rb +138 -0
  166. data/support/gems/rspec-core-2.11.1/spec/rspec/core/reporter_spec.rb +103 -0
  167. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_bar.rb +0 -0
  168. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_foo.rb +0 -0
  169. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_spec.rb +1 -0
  170. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/custom_example_group_runner.rb +14 -0
  171. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/formatter_specs.rb +60 -0
  172. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/utf8_encoded.rb +8 -0
  173. data/support/gems/rspec-core-2.11.1/spec/rspec/core/rspec_matchers_spec.rb +45 -0
  174. data/support/gems/rspec-core-2.11.1/spec/rspec/core/ruby_project_spec.rb +24 -0
  175. data/support/gems/rspec-core-2.11.1/spec/rspec/core/runner_spec.rb +81 -0
  176. data/support/gems/rspec-core-2.11.1/spec/rspec/core/shared_context_spec.rb +67 -0
  177. data/support/gems/rspec-core-2.11.1/spec/rspec/core/shared_example_group_spec.rb +84 -0
  178. data/support/gems/rspec-core-2.11.1/spec/rspec/core/subject_spec.rb +244 -0
  179. data/support/gems/rspec-core-2.11.1/spec/rspec/core/world_spec.rb +144 -0
  180. data/support/gems/rspec-core-2.11.1/spec/rspec/core_spec.rb +35 -0
  181. data/support/gems/rspec-core-2.11.1/spec/spec_helper.rb +98 -0
  182. data/support/gems/rspec-core-2.11.1/spec/support/config_options_helper.rb +24 -0
  183. data/support/gems/rspec-core-2.11.1/spec/support/helper_methods.rb +5 -0
  184. data/support/gems/rspec-core-2.11.1/spec/support/matchers.rb +65 -0
  185. data/support/gems/rspec-core-2.11.1/spec/support/shared_example_groups.rb +41 -0
  186. data/support/gems/rspec-core-2.11.1/spec/support/spec_files.rb +44 -0
  187. data/support/gems/rspec-expectations-2.11.2/.document +5 -0
  188. data/support/gems/rspec-expectations-2.11.2/.yardopts +6 -0
  189. data/support/gems/rspec-expectations-2.11.2/Changelog.md +246 -0
  190. data/support/gems/rspec-expectations-2.11.2/License.txt +23 -0
  191. data/support/gems/rspec-expectations-2.11.2/README.md +224 -0
  192. data/support/gems/rspec-expectations-2.11.2/features/README.md +49 -0
  193. data/support/gems/rspec-expectations-2.11.2/features/Upgrade.md +53 -0
  194. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/README.md +90 -0
  195. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/be.feature +173 -0
  196. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/be_within.feature +46 -0
  197. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/cover.feature +45 -0
  198. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/end_with.feature +46 -0
  199. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/equality.feature +145 -0
  200. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/exist.feature +43 -0
  201. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/expect_change.feature +59 -0
  202. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/expect_error.feature +138 -0
  203. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/have.feature +103 -0
  204. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/include.feature +121 -0
  205. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/match.feature +50 -0
  206. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/operators.feature +221 -0
  207. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/predicates.feature +128 -0
  208. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/respond_to.feature +78 -0
  209. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/satisfy.feature +31 -0
  210. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/start_with.feature +46 -0
  211. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/throw_symbol.feature +85 -0
  212. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/types.feature +114 -0
  213. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/yield.feature +146 -0
  214. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/access_running_example.feature +53 -0
  215. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_diffable_matcher.feature +27 -0
  216. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher.feature +340 -0
  217. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher_outside_rspec.feature +38 -0
  218. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher_with_fluent_interface.feature +24 -0
  219. data/support/gems/rspec-expectations-2.11.2/features/customized_message.feature +22 -0
  220. data/support/gems/rspec-expectations-2.11.2/features/diffing.feature +85 -0
  221. data/support/gems/rspec-expectations-2.11.2/features/implicit_docstrings.feature +52 -0
  222. data/support/gems/rspec-expectations-2.11.2/features/step_definitions/additional_cli_steps.rb +22 -0
  223. data/support/gems/rspec-expectations-2.11.2/features/support/env.rb +5 -0
  224. data/support/gems/rspec-expectations-2.11.2/features/syntax_configuration.feature +68 -0
  225. data/support/gems/rspec-expectations-2.11.2/features/test_frameworks/test_unit.feature +46 -0
  226. data/support/gems/rspec-expectations-2.11.2/lib/rspec-expectations.rb +1 -0
  227. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations.rb +47 -0
  228. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/deprecation.rb +38 -0
  229. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/differ.rb +81 -0
  230. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/errors.rb +9 -0
  231. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/expectation_target.rb +58 -0
  232. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions.rb +2 -0
  233. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions/array.rb +9 -0
  234. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions/object.rb +39 -0
  235. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/fail_with.rb +55 -0
  236. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/handler.rb +48 -0
  237. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/syntax.rb +110 -0
  238. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/version.rb +8 -0
  239. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers.rb +689 -0
  240. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/be_close.rb +9 -0
  241. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in.rb +39 -0
  242. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/base_matcher.rb +68 -0
  243. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be.rb +185 -0
  244. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_instance_of.rb +11 -0
  245. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_kind_of.rb +11 -0
  246. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_within.rb +45 -0
  247. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/change.rb +132 -0
  248. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/cover.rb +21 -0
  249. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/eq.rb +22 -0
  250. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/eql.rb +23 -0
  251. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/equal.rb +44 -0
  252. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/exist.rb +26 -0
  253. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/has.rb +47 -0
  254. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/have.rb +107 -0
  255. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/include.rb +51 -0
  256. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/match.rb +12 -0
  257. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/match_array.rb +45 -0
  258. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/raise_error.rb +96 -0
  259. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/respond_to.rb +73 -0
  260. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/satisfy.rb +29 -0
  261. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/start_and_end_with.rb +48 -0
  262. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/throw_symbol.rb +93 -0
  263. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/yield.rb +219 -0
  264. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/compatibility.rb +14 -0
  265. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/configuration.rb +66 -0
  266. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/dsl.rb +24 -0
  267. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/extensions/instance_eval_with_args.rb +39 -0
  268. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/generated_descriptions.rb +36 -0
  269. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/matcher.rb +299 -0
  270. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/method_missing.rb +12 -0
  271. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/operator_matcher.rb +84 -0
  272. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/pretty.rb +60 -0
  273. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/differ_spec.rb +153 -0
  274. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/expectation_target_spec.rb +65 -0
  275. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/extensions/kernel_spec.rb +67 -0
  276. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/fail_with_spec.rb +70 -0
  277. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/handler_spec.rb +206 -0
  278. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/base_matcher_spec.rb +60 -0
  279. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_close_spec.rb +22 -0
  280. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_instance_of_spec.rb +36 -0
  281. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_kind_of_spec.rb +33 -0
  282. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_spec.rb +452 -0
  283. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_within_spec.rb +76 -0
  284. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/change_spec.rb +522 -0
  285. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/configuration_spec.rb +160 -0
  286. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/cover_spec.rb +65 -0
  287. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/description_generation_spec.rb +176 -0
  288. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/dsl_spec.rb +57 -0
  289. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/eq_spec.rb +50 -0
  290. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/eql_spec.rb +37 -0
  291. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/equal_spec.rb +57 -0
  292. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/exist_spec.rb +104 -0
  293. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/has_spec.rb +113 -0
  294. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/have_spec.rb +458 -0
  295. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/include_spec.rb +363 -0
  296. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/match_array_spec.rb +120 -0
  297. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/match_spec.rb +57 -0
  298. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/matcher_spec.rb +434 -0
  299. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/matchers_spec.rb +31 -0
  300. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/method_missing_spec.rb +24 -0
  301. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/operator_matcher_spec.rb +221 -0
  302. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/raise_error_spec.rb +339 -0
  303. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/respond_to_spec.rb +292 -0
  304. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/satisfy_spec.rb +40 -0
  305. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/start_with_end_with_spec.rb +174 -0
  306. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/throw_symbol_spec.rb +111 -0
  307. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/yield_spec.rb +374 -0
  308. data/support/gems/rspec-expectations-2.11.2/spec/spec_helper.rb +27 -0
  309. data/support/gems/rspec-expectations-2.11.2/spec/support/classes.rb +56 -0
  310. data/support/gems/rspec-expectations-2.11.2/spec/support/in_sub_process.rb +31 -0
  311. data/support/gems/rspec-expectations-2.11.2/spec/support/matchers.rb +22 -0
  312. data/support/gems/rspec-expectations-2.11.2/spec/support/ruby_version.rb +10 -0
  313. data/support/gems/rspec-mocks-2.11.1/.document +5 -0
  314. data/support/gems/rspec-mocks-2.11.1/.yardopts +6 -0
  315. data/support/gems/rspec-mocks-2.11.1/Changelog.md +199 -0
  316. data/support/gems/rspec-mocks-2.11.1/License.txt +23 -0
  317. data/support/gems/rspec-mocks-2.11.1/README.md +276 -0
  318. data/support/gems/rspec-mocks-2.11.1/features/README.md +67 -0
  319. data/support/gems/rspec-mocks-2.11.1/features/Scope.md +17 -0
  320. data/support/gems/rspec-mocks-2.11.1/features/Upgrade.md +22 -0
  321. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/README.md +27 -0
  322. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/explicit.feature +60 -0
  323. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/general_matchers.feature +85 -0
  324. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/type_matchers.feature +25 -0
  325. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/README.md +58 -0
  326. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/any_instance.feature +21 -0
  327. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/block_local_expectations.feature.pending +55 -0
  328. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/expect_message.feature +94 -0
  329. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/receive_counts.feature +209 -0
  330. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/warn_when_expectation_is_set_on_nil.feature +50 -0
  331. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/README.md +43 -0
  332. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/any_instance.feature +133 -0
  333. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/as_null_object.feature +35 -0
  334. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/simple_return_value.feature +64 -0
  335. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/stub_chain.feature +51 -0
  336. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/stub_implementation.feature +26 -0
  337. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/to_ary.feature +47 -0
  338. data/support/gems/rspec-mocks-2.11.1/features/outside_rspec/configuration.feature +82 -0
  339. data/support/gems/rspec-mocks-2.11.1/features/outside_rspec/standalone.feature +32 -0
  340. data/support/gems/rspec-mocks-2.11.1/features/step_definitions/additional_cli_steps.rb +4 -0
  341. data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/README.md +62 -0
  342. data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/stub_defined_constant.feature +79 -0
  343. data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/stub_undefined_constant.feature +50 -0
  344. data/support/gems/rspec-mocks-2.11.1/features/support/env.rb +6 -0
  345. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks.rb +39 -0
  346. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance.rb +81 -0
  347. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/chain.rb +77 -0
  348. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/expectation_chain.rb +57 -0
  349. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/message_chains.rb +60 -0
  350. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/recorder.rb +197 -0
  351. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/stub_chain.rb +37 -0
  352. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +25 -0
  353. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/argument_list_matcher.rb +93 -0
  354. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/argument_matchers.rb +238 -0
  355. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/error_generator.rb +114 -0
  356. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/errors.rb +12 -0
  357. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/example_methods.rb +95 -0
  358. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/instance_exec.rb +34 -0
  359. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/marshal.rb +23 -0
  360. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/psych.rb +23 -0
  361. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/framework.rb +20 -0
  362. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/message_expectation.rb +488 -0
  363. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/method_double.rb +196 -0
  364. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/methods.rb +155 -0
  365. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/mock.rb +7 -0
  366. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/order_group.rb +40 -0
  367. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/proxy.rb +190 -0
  368. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/serialization.rb +34 -0
  369. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/space.rb +34 -0
  370. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/standalone.rb +3 -0
  371. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/stub_const.rb +280 -0
  372. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/test_double.rb +103 -0
  373. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/version.rb +7 -0
  374. data/support/gems/rspec-mocks-2.11.1/lib/spec/mocks.rb +2 -0
  375. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/and_yield_spec.rb +114 -0
  376. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_instance/message_chains_spec.rb +40 -0
  377. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_instance_spec.rb +825 -0
  378. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_number_of_times_spec.rb +30 -0
  379. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/argument_expectation_spec.rb +34 -0
  380. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/at_least_spec.rb +142 -0
  381. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/at_most_spec.rb +90 -0
  382. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/block_return_value_spec.rb +53 -0
  383. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_10260_spec.rb +8 -0
  384. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_10263_spec.rb +25 -0
  385. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_11545_spec.rb +32 -0
  386. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_496_spec.rb +17 -0
  387. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_600_spec.rb +22 -0
  388. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_7611_spec.rb +16 -0
  389. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_8165_spec.rb +31 -0
  390. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_830_spec.rb +21 -0
  391. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_957_spec.rb +22 -0
  392. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/double_spec.rb +12 -0
  393. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/failing_argument_matchers_spec.rb +95 -0
  394. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/hash_excluding_matcher_spec.rb +67 -0
  395. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/hash_including_matcher_spec.rb +90 -0
  396. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_ordering_spec.rb +103 -0
  397. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_space_spec.rb +58 -0
  398. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_spec.rb +730 -0
  399. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/multiple_return_value_spec.rb +119 -0
  400. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/nil_expectation_warning_spec.rb +62 -0
  401. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/null_object_mock_spec.rb +106 -0
  402. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/once_counts_spec.rb +52 -0
  403. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/options_hash_spec.rb +35 -0
  404. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/partial_mock_spec.rb +156 -0
  405. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/partial_mock_using_mocks_directly_spec.rb +95 -0
  406. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/passing_argument_matchers_spec.rb +142 -0
  407. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/precise_counts_spec.rb +68 -0
  408. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/record_messages_spec.rb +26 -0
  409. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/serialization_spec.rb +111 -0
  410. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stash_spec.rb +27 -0
  411. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_chain_spec.rb +149 -0
  412. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_const_spec.rb +309 -0
  413. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_implementation_spec.rb +68 -0
  414. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_spec.rb +238 -0
  415. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stubbed_message_expectations_spec.rb +47 -0
  416. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/test_double_spec.rb +57 -0
  417. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/to_ary_spec.rb +40 -0
  418. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/twice_counts_spec.rb +66 -0
  419. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks_spec.rb +51 -0
  420. data/support/gems/rspec-mocks-2.11.1/spec/spec_helper.rb +15 -0
  421. data/support/gems/rspec-rails-2.11.0/.document +5 -0
  422. data/support/gems/rspec-rails-2.11.0/.yardopts +8 -0
  423. data/support/gems/rspec-rails-2.11.0/Changelog.md +293 -0
  424. data/support/gems/rspec-rails-2.11.0/License.txt +22 -0
  425. data/support/gems/rspec-rails-2.11.0/README.md +494 -0
  426. data/support/gems/rspec-rails-2.11.0/features/Autotest.md +24 -0
  427. data/support/gems/rspec-rails-2.11.0/features/Generators.md +8 -0
  428. data/support/gems/rspec-rails-2.11.0/features/GettingStarted.md +84 -0
  429. data/support/gems/rspec-rails-2.11.0/features/README.md +56 -0
  430. data/support/gems/rspec-rails-2.11.0/features/RailsVersions.md +4 -0
  431. data/support/gems/rspec-rails-2.11.0/features/Transactions.md +84 -0
  432. data/support/gems/rspec-rails-2.11.0/features/Upgrade.md +117 -0
  433. data/support/gems/rspec-rails-2.11.0/features/controller_specs/Cookies.md +57 -0
  434. data/support/gems/rspec-rails-2.11.0/features/controller_specs/README.md +45 -0
  435. data/support/gems/rspec-rails-2.11.0/features/controller_specs/anonymous_controller.feature +330 -0
  436. data/support/gems/rspec-rails-2.11.0/features/controller_specs/bypass_rescue.feature +75 -0
  437. data/support/gems/rspec-rails-2.11.0/features/controller_specs/controller_spec.feature +35 -0
  438. data/support/gems/rspec-rails-2.11.0/features/controller_specs/isolation_from_views.feature +87 -0
  439. data/support/gems/rspec-rails-2.11.0/features/controller_specs/render_views.feature +114 -0
  440. data/support/gems/rspec-rails-2.11.0/features/helper_specs/helper_spec.feature +96 -0
  441. data/support/gems/rspec-rails-2.11.0/features/mailer_specs/url_helpers.feature +38 -0
  442. data/support/gems/rspec-rails-2.11.0/features/matchers/README.md +18 -0
  443. data/support/gems/rspec-rails-2.11.0/features/matchers/new_record_matcher.feature +28 -0
  444. data/support/gems/rspec-rails-2.11.0/features/matchers/redirect_to_matcher.feature +40 -0
  445. data/support/gems/rspec-rails-2.11.0/features/matchers/relation_match_array.feature +20 -0
  446. data/support/gems/rspec-rails-2.11.0/features/matchers/render_template_matcher.feature +28 -0
  447. data/support/gems/rspec-rails-2.11.0/features/mocks/mock_model.feature +147 -0
  448. data/support/gems/rspec-rails-2.11.0/features/mocks/stub_model.feature +58 -0
  449. data/support/gems/rspec-rails-2.11.0/features/model_specs/README.md +21 -0
  450. data/support/gems/rspec-rails-2.11.0/features/model_specs/errors_on.feature +33 -0
  451. data/support/gems/rspec-rails-2.11.0/features/model_specs/transactional_examples.feature +109 -0
  452. data/support/gems/rspec-rails-2.11.0/features/request_specs/request_spec.feature +49 -0
  453. data/support/gems/rspec-rails-2.11.0/features/routing_specs/README.md +17 -0
  454. data/support/gems/rspec-rails-2.11.0/features/routing_specs/be_routable_matcher.feature +80 -0
  455. data/support/gems/rspec-rails-2.11.0/features/routing_specs/named_routes.feature +18 -0
  456. data/support/gems/rspec-rails-2.11.0/features/routing_specs/route_to_matcher.feature +90 -0
  457. data/support/gems/rspec-rails-2.11.0/features/step_definitions/additional_cli_steps.rb +4 -0
  458. data/support/gems/rspec-rails-2.11.0/features/step_definitions/model_steps.rb +3 -0
  459. data/support/gems/rspec-rails-2.11.0/features/support/env.rb +53 -0
  460. data/support/gems/rspec-rails-2.11.0/features/view_specs/inferred_controller_path.feature +44 -0
  461. data/support/gems/rspec-rails-2.11.0/features/view_specs/stub_template.feature +51 -0
  462. data/support/gems/rspec-rails-2.11.0/features/view_specs/view_spec.feature +174 -0
  463. data/support/gems/rspec-rails-2.11.0/lib/autotest/rails_rspec2.rb +84 -0
  464. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec.rb +25 -0
  465. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/controller_generator.rb +33 -0
  466. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/templates/controller_spec.rb +14 -0
  467. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/templates/view_spec.rb +5 -0
  468. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/helper/helper_generator.rb +15 -0
  469. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/helper/templates/helper_spec.rb +15 -0
  470. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/install_generator.rb +24 -0
  471. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/templates/.rspec +1 -0
  472. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/templates/spec/spec_helper.rb +38 -0
  473. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/integration/integration_generator.rb +27 -0
  474. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/integration/templates/request_spec.rb +15 -0
  475. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/mailer_generator.rb +20 -0
  476. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/templates/fixture +3 -0
  477. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/templates/mailer_spec.rb +23 -0
  478. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/model_generator.rb +22 -0
  479. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/templates/fixtures.yml +19 -0
  480. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/templates/model_spec.rb +5 -0
  481. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/observer/observer_generator.rb +12 -0
  482. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/observer/templates/observer_spec.rb +5 -0
  483. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/scaffold_generator.rb +158 -0
  484. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/controller_spec.rb +166 -0
  485. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/edit_spec.rb +31 -0
  486. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/index_spec.rb +32 -0
  487. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/new_spec.rb +30 -0
  488. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/routing_spec.rb +37 -0
  489. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/show_spec.rb +28 -0
  490. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/view/templates/view_spec.rb +5 -0
  491. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/view/view_generator.rb +21 -0
  492. data/support/gems/rspec-rails-2.11.0/lib/rspec-rails.rb +14 -0
  493. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails.rb +17 -0
  494. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/adapters.rb +79 -0
  495. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example.rb +38 -0
  496. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/controller_example_group.rb +128 -0
  497. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/helper_example_group.rb +40 -0
  498. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/mailer_example_group.rb +22 -0
  499. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/model_example_group.rb +10 -0
  500. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/rails_example_group.rb +14 -0
  501. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/request_example_group.rb +23 -0
  502. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/routing_example_group.rb +27 -0
  503. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/view_example_group.rb +155 -0
  504. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/extensions.rb +1 -0
  505. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/extensions/active_record/base.rb +45 -0
  506. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/fixture_support.rb +40 -0
  507. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers.rb +26 -0
  508. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/be_a_new.rb +76 -0
  509. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/be_new_record.rb +19 -0
  510. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/have_extension.rb +35 -0
  511. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/have_rendered.rb +40 -0
  512. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/redirect_to.rb +37 -0
  513. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/relation_match_array.rb +3 -0
  514. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/routing_matchers.rb +107 -0
  515. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/mocks.rb +243 -0
  516. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/module_inclusion.rb +29 -0
  517. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/tasks/rspec.rake +56 -0
  518. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/vendor/capybara.rb +29 -0
  519. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/vendor/webrat.rb +33 -0
  520. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/version.rb +7 -0
  521. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/view_assigns.rb +45 -0
  522. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/view_rendering.rb +121 -0
  523. data/support/gems/rspec-rails-2.11.0/spec/autotest/rails_rspec2_spec.rb +36 -0
  524. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/controller/controller_generator_spec.rb +86 -0
  525. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/helper/helper_generator_spec.rb +30 -0
  526. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/install/install_generator_spec.rb +18 -0
  527. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/integration/integration_generator_spec.rb +44 -0
  528. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/mailer/mailer_generator_spec.rb +48 -0
  529. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/model/model_generator_spec.rb +52 -0
  530. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/observer/observer_generator_spec.rb +21 -0
  531. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/scaffold/scaffold_generator_spec.rb +107 -0
  532. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/view/view_generator_spec.rb +41 -0
  533. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
  534. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/configuration_spec.rb +26 -0
  535. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/deprecations_spec.rb +18 -0
  536. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/controller_example_group_spec.rb +100 -0
  537. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/helper_example_group_spec.rb +64 -0
  538. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/mailer_example_group_spec.rb +21 -0
  539. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/model_example_group_spec.rb +15 -0
  540. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/request_example_group_spec.rb +17 -0
  541. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/routing_example_group_spec.rb +32 -0
  542. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/view_example_group_spec.rb +214 -0
  543. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/extensions/active_model/errors_on_spec.rb +23 -0
  544. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/extensions/active_record/records_spec.rb +9 -0
  545. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/fixture_support_spec.rb +17 -0
  546. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_a_new_spec.rb +142 -0
  547. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_new_record_spec.rb +19 -0
  548. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_routable_spec.rb +41 -0
  549. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/errors_on_spec.rb +38 -0
  550. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/have_rendered_spec.rb +93 -0
  551. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/redirect_to_spec.rb +80 -0
  552. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/relation_match_array_spec.rb +20 -0
  553. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/route_to_spec.rb +152 -0
  554. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/mocks/mock_model_spec.rb +379 -0
  555. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/mocks/stub_model_spec.rb +154 -0
  556. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/setup_and_teardown_adapter_spec.rb +32 -0
  557. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/view_rendering_spec.rb +111 -0
  558. data/support/gems/rspec-rails-2.11.0/spec/spec_helper.rb +31 -0
  559. data/support/gems/rspec-rails-2.11.0/spec/support/ar_classes.rb +42 -0
  560. data/support/gems/rspec-rails-2.11.0/spec/support/helpers.rb +20 -0
  561. data/support/gems/rspec-rails-2.11.0/spec/support/matchers.rb +9 -0
  562. data/support/specifications/rspec-2.11.0.gemspec +39 -0
  563. data/support/specifications/rspec-core-2.11.1.gemspec +61 -0
  564. data/support/specifications/rspec-expectations-2.11.2.gemspec +40 -0
  565. data/support/specifications/rspec-mocks-2.11.1.gemspec +37 -0
  566. data/support/specifications/rspec-rails-2.11.0.gemspec +55 -0
  567. metadata +653 -0
@@ -0,0 +1,7 @@
1
+ module RSpec
2
+ module Mocks
3
+ module Version
4
+ STRING = '2.11.1'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,2 @@
1
+ # For backward compatibility with rspec-1
2
+ require 'rspec/mocks'
@@ -0,0 +1,114 @@
1
+ require 'spec_helper'
2
+
3
+ describe RSpec::Mocks::Mock do
4
+
5
+ let(:obj) { double }
6
+
7
+ describe "#and_yield" do
8
+ context "with eval context as block argument" do
9
+
10
+ it "evaluates the supplied block as it is read" do
11
+ evaluated = false
12
+ obj.stub(:method_that_accepts_a_block).and_yield do |eval_context|
13
+ evaluated = true
14
+ end
15
+ evaluated.should be_true
16
+ end
17
+
18
+ it "passes an eval context object to the supplied block" do
19
+ obj.stub(:method_that_accepts_a_block).and_yield do |eval_context|
20
+ eval_context.should_not be_nil
21
+ end
22
+ end
23
+
24
+ it "evaluates the block passed to the stubbed method in the context of the supplied eval context" do
25
+ expected_eval_context = nil
26
+ actual_eval_context = nil
27
+
28
+ obj.stub(:method_that_accepts_a_block).and_yield do |eval_context|
29
+ expected_eval_context = eval_context
30
+ end
31
+
32
+ obj.method_that_accepts_a_block do
33
+ actual_eval_context = self
34
+ end
35
+
36
+ actual_eval_context.should equal(expected_eval_context)
37
+ end
38
+
39
+ context "and no yielded arguments" do
40
+
41
+ it "passes when expectations set on the eval context are met" do
42
+ configured_eval_context = nil
43
+ obj.stub(:method_that_accepts_a_block).and_yield do |eval_context|
44
+ configured_eval_context = eval_context
45
+ configured_eval_context.should_receive(:foo)
46
+ end
47
+
48
+ obj.method_that_accepts_a_block do
49
+ foo
50
+ end
51
+
52
+ configured_eval_context.rspec_verify
53
+ end
54
+
55
+ it "fails when expectations set on the eval context are not met" do
56
+ configured_eval_context = nil
57
+ obj.stub(:method_that_accepts_a_block).and_yield do |eval_context|
58
+ configured_eval_context = eval_context
59
+ configured_eval_context.should_receive(:foo)
60
+ end
61
+
62
+ obj.method_that_accepts_a_block do
63
+ # foo is not called here
64
+ end
65
+
66
+ lambda {configured_eval_context.rspec_verify}.should raise_error(RSpec::Mocks::MockExpectationError)
67
+ end
68
+
69
+ end
70
+
71
+ context "and yielded arguments" do
72
+
73
+ it "passes when expectations set on the eval context and yielded arguments are met" do
74
+ configured_eval_context = nil
75
+ yielded_arg = Object.new
76
+ obj.stub(:method_that_accepts_a_block).and_yield(yielded_arg) do |eval_context|
77
+ configured_eval_context = eval_context
78
+ configured_eval_context.should_receive(:foo)
79
+ yielded_arg.should_receive(:bar)
80
+ end
81
+
82
+ obj.method_that_accepts_a_block do |obj|
83
+ obj.bar
84
+ foo
85
+ end
86
+
87
+ configured_eval_context.rspec_verify
88
+ yielded_arg.rspec_verify
89
+ end
90
+
91
+ it "fails when expectations set on the eval context and yielded arguments are not met" do
92
+ configured_eval_context = nil
93
+ yielded_arg = Object.new
94
+ obj.stub(:method_that_accepts_a_block).and_yield(yielded_arg) do |eval_context|
95
+ configured_eval_context = eval_context
96
+ configured_eval_context.should_receive(:foo)
97
+ yielded_arg.should_receive(:bar)
98
+ end
99
+
100
+ obj.method_that_accepts_a_block do |obj|
101
+ # obj.bar is not called here
102
+ # foo is not called here
103
+ end
104
+
105
+ lambda {configured_eval_context.rspec_verify}.should raise_error(RSpec::Mocks::MockExpectationError)
106
+ lambda {yielded_arg.rspec_verify}.should raise_error(RSpec::Mocks::MockExpectationError)
107
+ end
108
+
109
+ end
110
+
111
+ end
112
+ end
113
+ end
114
+
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe RSpec::Mocks::AnyInstance::MessageChains do
4
+ let(:chains) { RSpec::Mocks::AnyInstance::MessageChains.new }
5
+ let(:stub_chain) { RSpec::Mocks::AnyInstance::StubChain.new }
6
+ let(:expectation_chain) { RSpec::Mocks::AnyInstance::PositiveExpectationChain.new }
7
+
8
+ it "knows if a method does not have an expectation set on it" do
9
+ chains.add(:method_name, stub_chain)
10
+ chains.has_expectation?(:method_name).should be_false
11
+ end
12
+
13
+ it "knows if a method has an expectation set on it" do
14
+ chains.add(:method_name, stub_chain)
15
+ chains.add(:method_name, expectation_chain)
16
+ chains.has_expectation?(:method_name).should be_true
17
+ end
18
+
19
+ it "can remove all stub chains" do
20
+ chains.add(:method_name, stub_chain)
21
+ chains.add(:method_name, expectation_chain)
22
+ chains.add(:method_name, RSpec::Mocks::AnyInstance::StubChain.new)
23
+
24
+ chains.remove_stub_chains_for!(:method_name)
25
+ chains[:method_name].should eq([expectation_chain])
26
+ end
27
+
28
+ context "creating stub chains" do
29
+ it "understands how to add a stub chain for a method" do
30
+ chains.add(:method_name, stub_chain)
31
+ chains[:method_name].should eq([stub_chain])
32
+ end
33
+
34
+ it "allows multiple stub chains for a method" do
35
+ chains.add(:method_name, stub_chain)
36
+ chains.add(:method_name, another_stub_chain = RSpec::Mocks::AnyInstance::StubChain.new)
37
+ chains[:method_name].should eq([stub_chain, another_stub_chain])
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,825 @@
1
+ require 'spec_helper'
2
+
3
+ module RSpec
4
+ module Mocks
5
+ describe "#any_instance" do
6
+ class CustomErrorForAnyInstanceSpec < StandardError;end
7
+
8
+ let(:klass) do
9
+ Class.new do
10
+ def existing_method; :existing_method_return_value; end
11
+ def existing_method_with_arguments(arg_one, arg_two = nil); :existing_method_with_arguments_return_value; end
12
+ def another_existing_method; end
13
+ private
14
+ def private_method; :private_method_return_value; end
15
+ end
16
+ end
17
+ let(:existing_method_return_value){ :existing_method_return_value }
18
+
19
+ context "invocation order" do
20
+ context "#stub" do
21
+ it "raises an error if 'stub' follows 'with'" do
22
+ lambda{ klass.any_instance.with("1").stub(:foo) }.should raise_error(NoMethodError)
23
+ end
24
+
25
+ it "raises an error if 'with' follows 'and_return'" do
26
+ lambda{ klass.any_instance.stub(:foo).and_return(1).with("1") }.should raise_error(NoMethodError)
27
+ end
28
+
29
+ it "raises an error if 'with' follows 'and_raise'" do
30
+ lambda{ klass.any_instance.stub(:foo).and_raise(1).with("1") }.should raise_error(NoMethodError)
31
+ end
32
+
33
+ it "raises an error if 'with' follows 'and_yield'" do
34
+ lambda{ klass.any_instance.stub(:foo).and_yield(1).with("1") }.should raise_error(NoMethodError)
35
+ end
36
+ end
37
+
38
+ context "#stub_chain" do
39
+ it "raises an error if 'stub_chain' follows 'any_instance'" do
40
+ lambda{ klass.any_instance.and_return("1").stub_chain(:foo, :bar) }.should raise_error(NoMethodError)
41
+ end
42
+ end
43
+
44
+ context "#should_receive" do
45
+ it "raises an error if 'should_receive' follows 'with'" do
46
+ lambda{ klass.any_instance.with("1").should_receive(:foo) }.should raise_error(NoMethodError)
47
+ end
48
+
49
+ it "raises an error if 'with' follows 'and_return'" do
50
+ pending "see Github issue #42"
51
+ lambda{ klass.any_instance.should_receive(:foo).and_return(1).with("1") }.should raise_error(NoMethodError)
52
+ end
53
+
54
+ it "raises an error if 'with' follows 'and_raise'" do
55
+ pending "see Github issue #42"
56
+ lambda{ klass.any_instance.should_receive(:foo).and_raise(1).with("1") }.should raise_error(NoMethodError)
57
+ end
58
+ end
59
+ end
60
+
61
+ context "with #stub" do
62
+ it "does not suppress an exception when a method that doesn't exist is invoked" do
63
+ klass.any_instance.stub(:foo)
64
+ lambda{ klass.new.bar }.should raise_error(NoMethodError)
65
+ end
66
+
67
+ context 'multiple methods' do
68
+ it "allows multiple methods to be stubbed in a single invocation" do
69
+ klass.any_instance.stub(:foo => 'foo', :bar => 'bar')
70
+ instance = klass.new
71
+ instance.foo.should eq('foo')
72
+ instance.bar.should eq('bar')
73
+ end
74
+
75
+ it "adheres to the contract of multiple method stubbing withou any instance" do
76
+ Object.new.stub(:foo => 'foo', :bar => 'bar').should eq(:foo => 'foo', :bar => 'bar')
77
+ klass.any_instance.stub(:foo => 'foo', :bar => 'bar').should eq(:foo => 'foo', :bar => 'bar')
78
+ end
79
+
80
+ context "allows a chain of methods to be stubbed using #stub_chain" do
81
+ it "given symbols representing the methods" do
82
+ klass.any_instance.stub_chain(:one, :two, :three).and_return(:four)
83
+ klass.new.one.two.three.should eq(:four)
84
+ end
85
+
86
+ it "given a hash as the last argument uses the value as the expected return value" do
87
+ klass.any_instance.stub_chain(:one, :two, :three => :four)
88
+ klass.new.one.two.three.should eq(:four)
89
+ end
90
+
91
+ it "given a string of '.' separated method names representing the chain" do
92
+ klass.any_instance.stub_chain('one.two.three').and_return(:four)
93
+ klass.new.one.two.three.should eq(:four)
94
+ end
95
+ end
96
+ end
97
+
98
+ context "behaves as 'every instance'" do
99
+ it "stubs every instance in the spec" do
100
+ klass.any_instance.stub(:foo).and_return(result = Object.new)
101
+ klass.new.foo.should eq(result)
102
+ klass.new.foo.should eq(result)
103
+ end
104
+
105
+ it "stubs instance created before any_instance was called" do
106
+ instance = klass.new
107
+ klass.any_instance.stub(:foo).and_return(result = Object.new)
108
+ instance.foo.should eq(result)
109
+ end
110
+ end
111
+
112
+ context "with argument matching" do
113
+ before do
114
+ klass.any_instance.stub(:foo).with(:param_one, :param_two).and_return(:result_one)
115
+ klass.any_instance.stub(:foo).with(:param_three, :param_four).and_return(:result_two)
116
+ end
117
+
118
+ it "returns the stubbed value when arguments match" do
119
+ instance = klass.new
120
+ instance.foo(:param_one, :param_two).should eq(:result_one)
121
+ instance.foo(:param_three, :param_four).should eq(:result_two)
122
+ end
123
+
124
+ it "fails the spec with an expectation error when the arguments do not match" do
125
+ expect do
126
+ klass.new.foo(:param_one, :param_three)
127
+ end.to(raise_error(RSpec::Mocks::MockExpectationError))
128
+ end
129
+ end
130
+
131
+ context "with multiple stubs" do
132
+ before do
133
+ klass.any_instance.stub(:foo).and_return(1)
134
+ klass.any_instance.stub(:bar).and_return(2)
135
+ end
136
+
137
+ it "stubs a method" do
138
+ instance = klass.new
139
+ instance.foo.should eq(1)
140
+ instance.bar.should eq(2)
141
+ end
142
+
143
+ it "returns the same value for calls on different instances" do
144
+ klass.new.foo.should eq(klass.new.foo)
145
+ klass.new.bar.should eq(klass.new.bar)
146
+ end
147
+ end
148
+
149
+ context "with #and_return" do
150
+ it "stubs a method that doesn't exist" do
151
+ klass.any_instance.stub(:foo).and_return(1)
152
+ klass.new.foo.should eq(1)
153
+ end
154
+
155
+ it "stubs a method that exists" do
156
+ klass.any_instance.stub(:existing_method).and_return(1)
157
+ klass.new.existing_method.should eq(1)
158
+ end
159
+
160
+ it "returns the same object for calls on different instances" do
161
+ return_value = Object.new
162
+ klass.any_instance.stub(:foo).and_return(return_value)
163
+ klass.new.foo.should be(return_value)
164
+ klass.new.foo.should be(return_value)
165
+ end
166
+ end
167
+
168
+ context "with #and_yield" do
169
+ it "yields the value specified" do
170
+ yielded_value = Object.new
171
+ klass.any_instance.stub(:foo).and_yield(yielded_value)
172
+ klass.new.foo{|value| value.should be(yielded_value)}
173
+ end
174
+ end
175
+
176
+ context "with #and_raise" do
177
+ it "stubs a method that doesn't exist" do
178
+ klass.any_instance.stub(:foo).and_raise(CustomErrorForAnyInstanceSpec)
179
+ lambda{ klass.new.foo}.should raise_error(CustomErrorForAnyInstanceSpec)
180
+ end
181
+
182
+ it "stubs a method that exists" do
183
+ klass.any_instance.stub(:existing_method).and_raise(CustomErrorForAnyInstanceSpec)
184
+ lambda{ klass.new.existing_method}.should raise_error(CustomErrorForAnyInstanceSpec)
185
+ end
186
+ end
187
+
188
+ context "with a block" do
189
+ it "stubs a method" do
190
+ klass.any_instance.stub(:foo) { 1 }
191
+ klass.new.foo.should eq(1)
192
+ end
193
+
194
+ it "returns the same computed value for calls on different instances" do
195
+ klass.any_instance.stub(:foo) { 1 + 2 }
196
+ klass.new.foo.should eq(klass.new.foo)
197
+ end
198
+ end
199
+
200
+ context "core ruby objects" do
201
+ it "works uniformly across *everything*" do
202
+ Object.any_instance.stub(:foo).and_return(1)
203
+ Object.new.foo.should eq(1)
204
+ end
205
+
206
+ it "works with the non-standard constructor []" do
207
+ Array.any_instance.stub(:foo).and_return(1)
208
+ [].foo.should eq(1)
209
+ end
210
+
211
+ it "works with the non-standard constructor {}" do
212
+ Hash.any_instance.stub(:foo).and_return(1)
213
+ {}.foo.should eq(1)
214
+ end
215
+
216
+ it "works with the non-standard constructor \"\"" do
217
+ String.any_instance.stub(:foo).and_return(1)
218
+ "".foo.should eq(1)
219
+ end
220
+
221
+ it "works with the non-standard constructor \'\'" do
222
+ String.any_instance.stub(:foo).and_return(1)
223
+ ''.foo.should eq(1)
224
+ end
225
+
226
+ it "works with the non-standard constructor module" do
227
+ Module.any_instance.stub(:foo).and_return(1)
228
+ module RSpec::SampleRspecTestModule;end
229
+ RSpec::SampleRspecTestModule.foo.should eq(1)
230
+ end
231
+
232
+ it "works with the non-standard constructor class" do
233
+ Class.any_instance.stub(:foo).and_return(1)
234
+ class RSpec::SampleRspecTestClass;end
235
+ RSpec::SampleRspecTestClass.foo.should eq(1)
236
+ end
237
+ end
238
+ end
239
+
240
+ context "with #stub!" do
241
+ it "raises with a message instructing the user to use stub instead" do
242
+ expect do
243
+ klass.any_instance.stub!(:foo)
244
+ end.to raise_error(/Use stub instead/)
245
+ end
246
+ end
247
+
248
+ context "unstub implementation" do
249
+ it "replaces the stubbed method with the original method" do
250
+ klass.any_instance.stub(:existing_method)
251
+ klass.any_instance.unstub(:existing_method)
252
+ klass.new.existing_method.should eq(:existing_method_return_value)
253
+ end
254
+
255
+ it "removes all stubs with the supplied method name" do
256
+ klass.any_instance.stub(:existing_method).with(1)
257
+ klass.any_instance.stub(:existing_method).with(2)
258
+ klass.any_instance.unstub(:existing_method)
259
+ klass.new.existing_method.should eq(:existing_method_return_value)
260
+ end
261
+
262
+ it "does not remove any expectations with the same method name" do
263
+ klass.any_instance.should_receive(:existing_method_with_arguments).with(3).and_return(:three)
264
+ klass.any_instance.stub(:existing_method_with_arguments).with(1)
265
+ klass.any_instance.stub(:existing_method_with_arguments).with(2)
266
+ klass.any_instance.unstub(:existing_method_with_arguments)
267
+ klass.new.existing_method_with_arguments(3).should eq(:three)
268
+ end
269
+
270
+ it "raises a MockExpectationError if the method has not been stubbed" do
271
+ lambda do
272
+ klass.any_instance.unstub(:existing_method)
273
+ end.should raise_error(RSpec::Mocks::MockExpectationError, 'The method `existing_method` was not stubbed or was already unstubbed')
274
+ end
275
+ end
276
+
277
+ context "with #should_not_receive" do
278
+ it "fails if the method is called" do
279
+ klass.any_instance.should_not_receive(:existing_method)
280
+ lambda { klass.new.existing_method }.should raise_error(RSpec::Mocks::MockExpectationError)
281
+ end
282
+
283
+ it "passes if no method is called" do
284
+ lambda { klass.any_instance.should_not_receive(:existing_method) }.should_not raise_error
285
+ end
286
+
287
+ it "passes if only a different method is called" do
288
+ klass.any_instance.should_not_receive(:existing_method)
289
+ lambda { klass.new.another_existing_method }.should_not raise_error
290
+ end
291
+
292
+ context "with constraints" do
293
+ it "fails if the method is called with the specified parameters" do
294
+ klass.any_instance.should_not_receive(:existing_method_with_arguments).with(:argument_one, :argument_two)
295
+ lambda do
296
+ klass.new.existing_method_with_arguments(:argument_one, :argument_two)
297
+ end.should raise_error(RSpec::Mocks::MockExpectationError)
298
+ end
299
+
300
+ it "passes if the method is called with different parameters" do
301
+ klass.any_instance.should_not_receive(:existing_method_with_arguments).with(:argument_one, :argument_two)
302
+ lambda { klass.new.existing_method_with_arguments(:argument_three, :argument_four) }.should_not raise_error
303
+ end
304
+ end
305
+ end
306
+
307
+ context "with #should_receive" do
308
+ let(:foo_expectation_error_message) { 'Exactly one instance should have received the following message(s) but didn\'t: foo' }
309
+ let(:existing_method_expectation_error_message) { 'Exactly one instance should have received the following message(s) but didn\'t: existing_method' }
310
+
311
+ context "with an expectation is set on a method which does not exist" do
312
+ it "returns the expected value" do
313
+ klass.any_instance.should_receive(:foo).and_return(1)
314
+ klass.new.foo(1).should eq(1)
315
+ end
316
+
317
+ it "fails if an instance is created but no invocation occurs" do
318
+ expect do
319
+ klass.any_instance.should_receive(:foo)
320
+ klass.new
321
+ klass.rspec_verify
322
+ end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
323
+ end
324
+
325
+ it "fails if no instance is created" do
326
+ expect do
327
+ klass.any_instance.should_receive(:foo).and_return(1)
328
+ klass.rspec_verify
329
+ end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
330
+ end
331
+
332
+ it "fails if no instance is created and there are multiple expectations" do
333
+ expect do
334
+ klass.any_instance.should_receive(:foo)
335
+ klass.any_instance.should_receive(:bar)
336
+ klass.rspec_verify
337
+ end.to raise_error(RSpec::Mocks::MockExpectationError, 'Exactly one instance should have received the following message(s) but didn\'t: bar, foo')
338
+ end
339
+
340
+ it "allows expectations on instances to take priority" do
341
+ klass.any_instance.should_receive(:foo)
342
+ klass.new.foo
343
+
344
+ instance = klass.new
345
+ instance.should_receive(:foo).and_return(result = Object.new)
346
+ instance.foo.should eq(result)
347
+ end
348
+
349
+ context "behaves as 'exactly one instance'" do
350
+ it "passes if subsequent invocations do not receive that message" do
351
+ klass.any_instance.should_receive(:foo)
352
+ klass.new.foo
353
+ klass.new
354
+ end
355
+
356
+ it "fails if the method is invoked on a second instance" do
357
+ instance_one = klass.new
358
+ instance_two = klass.new
359
+ expect do
360
+ klass.any_instance.should_receive(:foo)
361
+
362
+ instance_one.foo
363
+ instance_two.foo
364
+ end.to raise_error(RSpec::Mocks::MockExpectationError, "The message 'foo' was received by #{instance_two.inspect} but has already been received by #{instance_one.inspect}")
365
+ end
366
+ end
367
+
368
+ context "normal expectations on the class object" do
369
+ it "fail when unfulfilled" do
370
+ expect do
371
+ klass.any_instance.should_receive(:foo)
372
+ klass.should_receive(:woot)
373
+ klass.new.foo
374
+ klass.rspec_verify
375
+ end.to(raise_error(RSpec::Mocks::MockExpectationError) do |error|
376
+ error.message.should_not eq(existing_method_expectation_error_message)
377
+ end)
378
+ end
379
+
380
+
381
+ it "pass when expectations are met" do
382
+ klass.any_instance.should_receive(:foo)
383
+ klass.should_receive(:woot).and_return(result = Object.new)
384
+ klass.new.foo
385
+ klass.woot.should eq(result)
386
+ end
387
+ end
388
+ end
389
+
390
+ context "with an expectation is set on a method that exists" do
391
+ it "returns the expected value" do
392
+ klass.any_instance.should_receive(:existing_method).and_return(1)
393
+ klass.new.existing_method(1).should eq(1)
394
+ end
395
+
396
+ it "fails if an instance is created but no invocation occurs" do
397
+ expect do
398
+ klass.any_instance.should_receive(:existing_method)
399
+ klass.new
400
+ klass.rspec_verify
401
+ end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
402
+ end
403
+
404
+ it "fails if no instance is created" do
405
+ expect do
406
+ klass.any_instance.should_receive(:existing_method)
407
+ klass.rspec_verify
408
+ end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
409
+ end
410
+
411
+ it "fails if no instance is created and there are multiple expectations" do
412
+ expect do
413
+ klass.any_instance.should_receive(:existing_method)
414
+ klass.any_instance.should_receive(:another_existing_method)
415
+ klass.rspec_verify
416
+ end.to raise_error(RSpec::Mocks::MockExpectationError, 'Exactly one instance should have received the following message(s) but didn\'t: another_existing_method, existing_method')
417
+ end
418
+
419
+ context "after any one instance has received a message" do
420
+ it "passes if subsequent invocations do not receive that message" do
421
+ klass.any_instance.should_receive(:existing_method)
422
+ klass.new.existing_method
423
+ klass.new
424
+ end
425
+
426
+ it "fails if the method is invoked on a second instance" do
427
+ instance_one = klass.new
428
+ instance_two = klass.new
429
+ expect do
430
+ klass.any_instance.should_receive(:existing_method)
431
+
432
+ instance_one.existing_method
433
+ instance_two.existing_method
434
+ end.to raise_error(RSpec::Mocks::MockExpectationError, "The message 'existing_method' was received by #{instance_two.inspect} but has already been received by #{instance_one.inspect}")
435
+ end
436
+ end
437
+ end
438
+
439
+ context "with argument matching" do
440
+ before do
441
+ klass.any_instance.should_receive(:foo).with(:param_one, :param_two).and_return(:result_one)
442
+ klass.any_instance.should_receive(:foo).with(:param_three, :param_four).and_return(:result_two)
443
+ end
444
+
445
+ it "returns the expected value when arguments match" do
446
+ instance = klass.new
447
+ instance.foo(:param_one, :param_two).should eq(:result_one)
448
+ instance.foo(:param_three, :param_four).should eq(:result_two)
449
+ end
450
+
451
+ it "fails when the arguments match but different instances are used" do
452
+ instances = Array.new(2) { klass.new }
453
+ expect do
454
+ instances[0].foo(:param_one, :param_two).should eq(:result_one)
455
+ instances[1].foo(:param_three, :param_four).should eq(:result_two)
456
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
457
+
458
+ # ignore the fact that should_receive expectations were not met
459
+ instances.each { |instance| instance.rspec_reset }
460
+ end
461
+
462
+ it "is not affected by the invocation of existing methods on other instances" do
463
+ klass.new.existing_method_with_arguments(:param_one, :param_two).should eq(:existing_method_with_arguments_return_value)
464
+ instance = klass.new
465
+ instance.foo(:param_one, :param_two).should eq(:result_one)
466
+ instance.foo(:param_three, :param_four).should eq(:result_two)
467
+ end
468
+
469
+ it "fails when arguments do not match" do
470
+ instance = klass.new
471
+ expect do
472
+ instance.foo(:param_one, :param_three)
473
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
474
+
475
+ # ignore the fact that should_receive expectations were not met
476
+ instance.rspec_reset
477
+ end
478
+ end
479
+
480
+ context "message count" do
481
+ context "the 'once' constraint" do
482
+ it "passes for one invocation" do
483
+ klass.any_instance.should_receive(:foo).once
484
+ klass.new.foo
485
+ end
486
+
487
+ it "fails when no instances are declared" do
488
+ expect do
489
+ klass.any_instance.should_receive(:foo).once
490
+ klass.rspec_verify
491
+ end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
492
+ end
493
+
494
+ it "fails when an instance is declared but there are no invocations" do
495
+ expect do
496
+ klass.any_instance.should_receive(:foo).once
497
+ klass.new
498
+ klass.rspec_verify
499
+ end.to raise_error(RSpec::Mocks::MockExpectationError, foo_expectation_error_message)
500
+ end
501
+
502
+ it "fails for more than one invocation" do
503
+ expect do
504
+ klass.any_instance.should_receive(:foo).once
505
+ instance = klass.new
506
+ 2.times { instance.foo }
507
+ instance.rspec_verify
508
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
509
+ end
510
+ end
511
+
512
+ context "the 'twice' constraint" do
513
+ it "passes for two invocations" do
514
+ klass.any_instance.should_receive(:foo).twice
515
+ instance = klass.new
516
+ 2.times { instance.foo }
517
+ end
518
+
519
+ it "fails for more than two invocations" do
520
+ expect do
521
+ klass.any_instance.should_receive(:foo).twice
522
+ instance = klass.new
523
+ 3.times { instance.foo }
524
+ instance.rspec_verify
525
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
526
+ end
527
+ end
528
+
529
+ context "the 'exactly(n)' constraint" do
530
+ it "passes for n invocations where n = 3" do
531
+ klass.any_instance.should_receive(:foo).exactly(3).times
532
+ instance = klass.new
533
+ 3.times { instance.foo }
534
+ end
535
+
536
+ it "fails for n invocations where n < 3" do
537
+ expect do
538
+ klass.any_instance.should_receive(:foo).exactly(3).times
539
+ instance = klass.new
540
+ 2.times { instance.foo }
541
+ instance.rspec_verify
542
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
543
+ end
544
+
545
+ it "fails for n invocations where n > 3" do
546
+ expect do
547
+ klass.any_instance.should_receive(:foo).exactly(3).times
548
+ instance = klass.new
549
+ 4.times { instance.foo }
550
+ instance.rspec_verify
551
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
552
+ end
553
+ end
554
+
555
+ context "the 'at_least(n)' constraint" do
556
+ it "passes for n invocations where n = 3" do
557
+ klass.any_instance.should_receive(:foo).at_least(3).times
558
+ instance = klass.new
559
+ 3.times { instance.foo }
560
+ end
561
+
562
+ it "fails for n invocations where n < 3" do
563
+ expect do
564
+ klass.any_instance.should_receive(:foo).at_least(3).times
565
+ instance = klass.new
566
+ 2.times { instance.foo }
567
+ instance.rspec_verify
568
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
569
+ end
570
+
571
+ it "passes for n invocations where n > 3" do
572
+ klass.any_instance.should_receive(:foo).at_least(3).times
573
+ instance = klass.new
574
+ 4.times { instance.foo }
575
+ end
576
+ end
577
+
578
+ context "the 'at_most(n)' constraint" do
579
+ it "passes for n invocations where n = 3" do
580
+ klass.any_instance.should_receive(:foo).at_most(3).times
581
+ instance = klass.new
582
+ 3.times { instance.foo }
583
+ end
584
+
585
+ it "passes for n invocations where n < 3" do
586
+ klass.any_instance.should_receive(:foo).at_most(3).times
587
+ instance = klass.new
588
+ 2.times { instance.foo }
589
+ end
590
+
591
+ it "fails for n invocations where n > 3" do
592
+ expect do
593
+ klass.any_instance.should_receive(:foo).at_most(3).times
594
+ instance = klass.new
595
+ 4.times { instance.foo }
596
+ instance.rspec_verify
597
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
598
+ end
599
+ end
600
+
601
+ context "the 'never' constraint" do
602
+ it "passes for 0 invocations" do
603
+ klass.any_instance.should_receive(:foo).never
604
+ klass.rspec_verify
605
+ end
606
+
607
+ it "fails on the first invocation" do
608
+ expect do
609
+ klass.any_instance.should_receive(:foo).never
610
+ klass.new.foo
611
+ end.to raise_error(RSpec::Mocks::MockExpectationError)
612
+ end
613
+
614
+ context "when combined with other expectations" do
615
+ it "passes when the other expecations are met" do
616
+ klass.any_instance.should_receive(:foo).never
617
+ klass.any_instance.should_receive(:existing_method).and_return(5)
618
+ klass.new.existing_method.should eq(5)
619
+ end
620
+
621
+ it "fails when the other expecations are not met" do
622
+ expect do
623
+ klass.any_instance.should_receive(:foo).never
624
+ klass.any_instance.should_receive(:existing_method).and_return(5)
625
+ klass.rspec_verify
626
+ end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
627
+ end
628
+ end
629
+ end
630
+
631
+ context "the 'any_number_of_times' constraint" do
632
+ it "passes for 0 invocations" do
633
+ klass.any_instance.should_receive(:foo).any_number_of_times
634
+ klass.new.rspec_verify
635
+ end
636
+
637
+ it "passes for a non-zero number of invocations" do
638
+ klass.any_instance.should_receive(:foo).any_number_of_times
639
+ instance = klass.new
640
+ instance.foo
641
+ instance.rspec_verify
642
+ end
643
+
644
+ it "does not interfere with other expectations" do
645
+ klass.any_instance.should_receive(:foo).any_number_of_times
646
+ klass.any_instance.should_receive(:existing_method).and_return(5)
647
+ klass.new.existing_method.should eq(5)
648
+ end
649
+
650
+ context "when combined with other expectations" do
651
+ it "passes when the other expecations are met" do
652
+ klass.any_instance.should_receive(:foo).any_number_of_times
653
+ klass.any_instance.should_receive(:existing_method).and_return(5)
654
+ klass.new.existing_method.should eq(5)
655
+ end
656
+
657
+ it "fails when the other expecations are not met" do
658
+ expect do
659
+ klass.any_instance.should_receive(:foo).any_number_of_times
660
+ klass.any_instance.should_receive(:existing_method).and_return(5)
661
+ klass.rspec_verify
662
+ end.to raise_error(RSpec::Mocks::MockExpectationError, existing_method_expectation_error_message)
663
+ end
664
+ end
665
+ end
666
+ end
667
+ end
668
+
669
+ context "when resetting post-verification" do
670
+ let(:space) { RSpec::Mocks::Space.new }
671
+
672
+ context "existing method" do
673
+ before(:each) do
674
+ space.add(klass)
675
+ end
676
+
677
+ context "with stubbing" do
678
+ context "public methods" do
679
+ before(:each) do
680
+ klass.any_instance.stub(:existing_method).and_return(1)
681
+ klass.method_defined?(:__existing_method_without_any_instance__).should be_true
682
+ end
683
+
684
+ it "restores the class to its original state after each example when no instance is created" do
685
+ space.verify_all
686
+
687
+ klass.method_defined?(:__existing_method_without_any_instance__).should be_false
688
+ klass.new.existing_method.should eq(existing_method_return_value)
689
+ end
690
+
691
+ it "restores the class to its original state after each example when one instance is created" do
692
+ klass.new.existing_method
693
+
694
+ space.verify_all
695
+
696
+ klass.method_defined?(:__existing_method_without_any_instance__).should be_false
697
+ klass.new.existing_method.should eq(existing_method_return_value)
698
+ end
699
+
700
+ it "restores the class to its original state after each example when more than one instance is created" do
701
+ klass.new.existing_method
702
+ klass.new.existing_method
703
+
704
+ space.verify_all
705
+
706
+ klass.method_defined?(:__existing_method_without_any_instance__).should be_false
707
+ klass.new.existing_method.should eq(existing_method_return_value)
708
+ end
709
+ end
710
+
711
+ context "private methods" do
712
+ before :each do
713
+ klass.any_instance.stub(:private_method).and_return(:something)
714
+ space.verify_all
715
+ end
716
+
717
+ it "cleans up the backed up method" do
718
+ klass.method_defined?(:__existing_method_without_any_instance__).should be_false
719
+ end
720
+
721
+ it "restores a stubbed private method after the spec is run" do
722
+ klass.private_method_defined?(:private_method).should be_true
723
+ end
724
+
725
+ it "ensures that the restored method behaves as it originally did" do
726
+ klass.new.send(:private_method).should eq(:private_method_return_value)
727
+ end
728
+ end
729
+ end
730
+
731
+ context "with expectations" do
732
+ context "private methods" do
733
+ before :each do
734
+ klass.any_instance.should_receive(:private_method).and_return(:something)
735
+ klass.new.private_method
736
+ space.verify_all
737
+ end
738
+
739
+ it "cleans up the backed up method" do
740
+ klass.method_defined?(:__existing_method_without_any_instance__).should be_false
741
+ end
742
+
743
+ it "restores a stubbed private method after the spec is run" do
744
+ klass.private_method_defined?(:private_method).should be_true
745
+ end
746
+
747
+ it "ensures that the restored method behaves as it originally did" do
748
+ klass.new.send(:private_method).should eq(:private_method_return_value)
749
+ end
750
+ end
751
+
752
+ context "ensures that the subsequent specs do not see expectations set in previous specs" do
753
+ context "when the instance created after the expectation is set" do
754
+ it "first spec" do
755
+ klass.any_instance.should_receive(:existing_method).and_return(Object.new)
756
+ klass.new.existing_method
757
+ end
758
+
759
+ it "second spec" do
760
+ klass.new.existing_method.should eq(existing_method_return_value)
761
+ end
762
+ end
763
+
764
+ context "when the instance created before the expectation is set" do
765
+ before :each do
766
+ @instance = klass.new
767
+ end
768
+
769
+ it "first spec" do
770
+ klass.any_instance.should_receive(:existing_method).and_return(Object.new)
771
+ @instance.existing_method
772
+ end
773
+
774
+ it "second spec" do
775
+ @instance.existing_method.should eq(existing_method_return_value)
776
+ end
777
+ end
778
+ end
779
+
780
+ it "ensures that the next spec does not see that expectation" do
781
+ klass.any_instance.should_receive(:existing_method).and_return(Object.new)
782
+ klass.new.existing_method
783
+ space.verify_all
784
+
785
+ klass.new.existing_method.should eq(existing_method_return_value)
786
+ end
787
+ end
788
+ end
789
+
790
+ context "with multiple calls to any_instance in the same example" do
791
+ it "does not prevent the change from being rolled back" do
792
+ klass.any_instance.stub(:existing_method).and_return(false)
793
+ klass.any_instance.stub(:existing_method).and_return(true)
794
+
795
+ klass.rspec_verify
796
+ klass.new.should respond_to(:existing_method)
797
+ klass.new.existing_method.should eq(existing_method_return_value)
798
+ end
799
+ end
800
+
801
+ it "adds an class to the current space when #any_instance is invoked" do
802
+ klass.any_instance
803
+ RSpec::Mocks::space.send(:receivers).should include(klass)
804
+ end
805
+
806
+ it "adds an instance to the current space when stubbed method is invoked" do
807
+ klass.any_instance.stub(:foo)
808
+ instance = klass.new
809
+ instance.foo
810
+ RSpec::Mocks::space.send(:receivers).should include(instance)
811
+ end
812
+ end
813
+
814
+ context 'when used in conjunction with a `dup`' do
815
+ it "doesn't cause an infinite loop" do
816
+ Object.any_instance.stub(:some_method)
817
+ o = Object.new
818
+ o.some_method
819
+ lambda { o.dup.some_method }.should_not raise_error(SystemStackError)
820
+ end
821
+ end
822
+
823
+ end
824
+ end
825
+ end