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,1196 @@
1
+ require 'spec_helper'
2
+ require 'tmpdir'
3
+
4
+ # so the stdlib module is available...
5
+ module Test; module Unit; module Assertions; end; end; end
6
+
7
+ module RSpec::Core
8
+
9
+ describe Configuration do
10
+
11
+ let(:config) { Configuration.new }
12
+
13
+ describe "#load_spec_files" do
14
+
15
+ it "loads files using load" do
16
+ config.files_to_run = ["foo.bar", "blah_spec.rb"]
17
+ config.should_receive(:load).twice
18
+ config.load_spec_files
19
+ end
20
+
21
+ it "loads each file once, even if duplicated in list" do
22
+ config.files_to_run = ["a_spec.rb", "a_spec.rb"]
23
+ config.should_receive(:load).once
24
+ config.load_spec_files
25
+ end
26
+
27
+ context "with rspec-1 loaded" do
28
+ before do
29
+ Object.const_set(:Spec, Module.new)
30
+ ::Spec::const_set(:VERSION, Module.new)
31
+ ::Spec::VERSION::const_set(:MAJOR, 1)
32
+ end
33
+ after { Object.__send__(:remove_const, :Spec) }
34
+ it "raises with a helpful message" do
35
+ expect {
36
+ config.load_spec_files
37
+ }.to raise_error(/rspec-1 has been loaded/)
38
+ end
39
+ end
40
+ end
41
+
42
+ describe "#treat_symbols_as_metadata_keys_with_true_values?" do
43
+ it 'defaults to false' do
44
+ config.treat_symbols_as_metadata_keys_with_true_values?.should be_false
45
+ end
46
+
47
+ it 'can be set to true' do
48
+ config.treat_symbols_as_metadata_keys_with_true_values = true
49
+ config.treat_symbols_as_metadata_keys_with_true_values?.should be_true
50
+ end
51
+ end
52
+
53
+ describe "#mock_framework" do
54
+ it "defaults to :rspec" do
55
+ config.should_receive(:require).with('rspec/core/mocking/with_rspec')
56
+ config.mock_framework
57
+ end
58
+ end
59
+
60
+ describe "#mock_framework="do
61
+ it "delegates to mock_with" do
62
+ config.should_receive(:mock_with).with(:rspec)
63
+ config.mock_framework = :rspec
64
+ end
65
+ end
66
+
67
+ shared_examples "a configurable framework adapter" do |m|
68
+ it "yields a config object if the framework_module supports it" do
69
+ custom_config = Struct.new(:custom_setting).new
70
+ mod = Module.new
71
+ mod.stub(:configuration => custom_config)
72
+
73
+ config.send m, mod do |mod_config|
74
+ mod_config.custom_setting = true
75
+ end
76
+
77
+ custom_config.custom_setting.should be_true
78
+ end
79
+
80
+ it "raises if framework module doesn't support configuration" do
81
+ mod = Module.new
82
+
83
+ lambda do
84
+ config.send m, mod do |mod_config|
85
+ end
86
+ end.should raise_error(/must respond to `configuration`/)
87
+ end
88
+ end
89
+
90
+ describe "#mock_with" do
91
+ before { config.stub(:require) }
92
+
93
+ it_behaves_like "a configurable framework adapter", :mock_with
94
+
95
+ [:rspec, :mocha, :rr, :flexmock].each do |framework|
96
+ context "with #{framework}" do
97
+ it "requires the adapter for #{framework}" do
98
+ config.should_receive(:require).with("rspec/core/mocking/with_#{framework}")
99
+ config.mock_with framework
100
+ end
101
+ end
102
+ end
103
+
104
+ context "with a module" do
105
+ it "sets the mock_framework_adapter to that module" do
106
+ mod = Module.new
107
+ config.mock_with mod
108
+ config.mock_framework.should eq(mod)
109
+ end
110
+ end
111
+
112
+ it "uses the null adapter when set to any unknown key" do
113
+ config.should_receive(:require).with('rspec/core/mocking/with_absolutely_nothing')
114
+ config.mock_with :crazy_new_mocking_framework_ive_not_yet_heard_of
115
+ end
116
+
117
+ context 'when there are already some example groups defined' do
118
+ it 'raises an error since this setting must be applied before any groups are defined' do
119
+ RSpec.world.stub(:example_groups).and_return([double.as_null_object])
120
+ expect {
121
+ config.mock_with :mocha
122
+ }.to raise_error(/must be configured before any example groups are defined/)
123
+ end
124
+
125
+ it 'does not raise an error if the default `mock_with :rspec` is re-configured' do
126
+ config.mock_framework # called by RSpec when configuring the first example group
127
+ RSpec.world.stub(:example_groups).and_return([double.as_null_object])
128
+ config.mock_with :rspec
129
+ end
130
+
131
+ it 'does not raise an error if re-setting the same config' do
132
+ groups = []
133
+ RSpec.world.stub(:example_groups => groups)
134
+ config.mock_with :mocha
135
+ groups << double.as_null_object
136
+ config.mock_with :mocha
137
+ end
138
+ end
139
+ end
140
+
141
+ describe "#expectation_framework" do
142
+ it "defaults to :rspec" do
143
+ config.should_receive(:require).with('rspec/expectations')
144
+ config.expectation_frameworks
145
+ end
146
+ end
147
+
148
+ describe "#expectation_framework=" do
149
+ it "delegates to expect_with=" do
150
+ config.should_receive(:expect_with).with(:rspec)
151
+ config.expectation_framework = :rspec
152
+ end
153
+ end
154
+
155
+ describe "#expect_with" do
156
+ before { config.stub(:require) }
157
+
158
+ it_behaves_like "a configurable framework adapter", :expect_with
159
+
160
+ [
161
+ [:rspec, 'rspec/expectations'],
162
+ [:stdlib, 'test/unit/assertions']
163
+ ].each do |framework, required_file|
164
+ context "with #{framework}" do
165
+ it "requires #{required_file}" do
166
+ config.should_receive(:require).with(required_file)
167
+ config.expect_with framework
168
+ end
169
+ end
170
+ end
171
+
172
+ it "supports multiple calls" do
173
+ config.expect_with :rspec
174
+ config.expect_with :stdlib
175
+ config.expectation_frameworks.should eq [RSpec::Matchers, Test::Unit::Assertions]
176
+ end
177
+
178
+ it "raises if block given with multiple args" do
179
+ lambda do
180
+ config.expect_with :rspec, :stdlib do |mod_config|
181
+ end
182
+ end.should raise_error(/expect_with only accepts/)
183
+ end
184
+
185
+ it "raises ArgumentError if framework is not supported" do
186
+ expect do
187
+ config.expect_with :not_supported
188
+ end.to raise_error(ArgumentError)
189
+ end
190
+
191
+ context 'when there are already some example groups defined' do
192
+ it 'raises an error since this setting must be applied before any groups are defined' do
193
+ RSpec.world.stub(:example_groups).and_return([double.as_null_object])
194
+ expect {
195
+ config.expect_with :rspec
196
+ }.to raise_error(/must be configured before any example groups are defined/)
197
+ end
198
+
199
+ it 'does not raise an error if the default `expect_with :rspec` is re-configured' do
200
+ config.expectation_frameworks # called by RSpec when configuring the first example group
201
+ RSpec.world.stub(:example_groups).and_return([double.as_null_object])
202
+ config.expect_with :rspec
203
+ end
204
+
205
+ it 'does not raise an error if re-setting the same config' do
206
+ groups = []
207
+ RSpec.world.stub(:example_groups => groups)
208
+ config.expect_with :stdlib
209
+ groups << double.as_null_object
210
+ config.expect_with :stdlib
211
+ end
212
+ end
213
+ end
214
+
215
+ describe "#expecting_with_rspec?" do
216
+ before { config.stub(:require) }
217
+
218
+ it "returns false by default" do
219
+ config.should_not be_expecting_with_rspec
220
+ end
221
+
222
+ it "returns true when `expect_with :rspec` has been configured" do
223
+ config.expect_with :rspec
224
+ config.should be_expecting_with_rspec
225
+ end
226
+
227
+ it "returns true when `expect_with :rspec, :stdlib` has been configured" do
228
+ config.expect_with :rspec, :stdlib
229
+ config.should be_expecting_with_rspec
230
+ end
231
+
232
+ it "returns true when `expect_with :stdlib, :rspec` has been configured" do
233
+ config.expect_with :stdlib, :rspec
234
+ config.should be_expecting_with_rspec
235
+ end
236
+
237
+ it "returns false when `expect_with :stdlib` has been configured" do
238
+ config.expect_with :stdlib
239
+ config.should_not be_expecting_with_rspec
240
+ end
241
+ end
242
+
243
+ describe "#files_to_run" do
244
+ it "loads files not following pattern if named explicitly" do
245
+ config.files_or_directories_to_run = "spec/rspec/core/resources/a_bar.rb"
246
+ config.files_to_run.should eq([ "spec/rspec/core/resources/a_bar.rb"])
247
+ end
248
+
249
+ it "prevents repetition of dir when start of the pattern" do
250
+ config.pattern = "spec/**/a_spec.rb"
251
+ config.files_or_directories_to_run = "spec"
252
+ config.files_to_run.should eq(["spec/rspec/core/resources/a_spec.rb"])
253
+ end
254
+
255
+ it "does not prevent repetition of dir when later of the pattern" do
256
+ config.pattern = "rspec/**/a_spec.rb"
257
+ config.files_or_directories_to_run = "spec"
258
+ config.files_to_run.should eq(["spec/rspec/core/resources/a_spec.rb"])
259
+ end
260
+
261
+ context "with <path>:<line_number>" do
262
+ it "overrides inclusion filters set on config" do
263
+ config.filter_run_including :foo => :bar
264
+ config.files_or_directories_to_run = "path/to/file.rb:37"
265
+ config.inclusion_filter.size.should eq(1)
266
+ config.inclusion_filter[:locations].keys.first.should match(/path\/to\/file\.rb$/)
267
+ config.inclusion_filter[:locations].values.first.should eq([37])
268
+ end
269
+
270
+ it "overrides inclusion filters set before config" do
271
+ config.force(:inclusion_filter => {:foo => :bar})
272
+ config.files_or_directories_to_run = "path/to/file.rb:37"
273
+ config.inclusion_filter.size.should eq(1)
274
+ config.inclusion_filter[:locations].keys.first.should match(/path\/to\/file\.rb$/)
275
+ config.inclusion_filter[:locations].values.first.should eq([37])
276
+ end
277
+
278
+ it "clears exclusion filters set on config" do
279
+ config.exclusion_filter = { :foo => :bar }
280
+ config.files_or_directories_to_run = "path/to/file.rb:37"
281
+ config.exclusion_filter.should be_empty,
282
+ "expected exclusion filter to be empty:\n#{config.exclusion_filter}"
283
+ end
284
+
285
+ it "clears exclusion filters set before config" do
286
+ config.force(:exclusion_filter => { :foo => :bar })
287
+ config.files_or_directories_to_run = "path/to/file.rb:37"
288
+ config.exclusion_filter.should be_empty,
289
+ "expected exclusion filter to be empty:\n#{config.exclusion_filter}"
290
+ end
291
+ end
292
+
293
+ context "with default pattern" do
294
+ it "loads files named _spec.rb" do
295
+ config.files_or_directories_to_run = "spec/rspec/core/resources"
296
+ config.files_to_run.should eq([ "spec/rspec/core/resources/a_spec.rb"])
297
+ end
298
+
299
+ it "loads files in Windows", :if => RSpec.windows_os? do
300
+ config.files_or_directories_to_run = "C:\\path\\to\\project\\spec\\sub\\foo_spec.rb"
301
+ config.files_to_run.should eq([ "C:/path/to/project/spec/sub/foo_spec.rb"])
302
+ end
303
+
304
+ it "loads files in Windows when directory is specified", :if => RSpec.windows_os? do
305
+ config.files_or_directories_to_run = "spec\\rspec\\core\\resources"
306
+ config.files_to_run.should eq([ "spec/rspec/core/resources/a_spec.rb"])
307
+ end
308
+ end
309
+
310
+ context "with default default_path" do
311
+ it "loads files in the default path when run by rspec" do
312
+ config.stub(:command) { 'rspec' }
313
+ config.files_or_directories_to_run = []
314
+ config.files_to_run.should_not be_empty
315
+ end
316
+
317
+ it "does not load files in the default path when run by ruby" do
318
+ config.stub(:command) { 'ruby' }
319
+ config.files_or_directories_to_run = []
320
+ config.files_to_run.should be_empty
321
+ end
322
+ end
323
+ end
324
+
325
+ %w[pattern= filename_pattern=].each do |setter|
326
+ describe "##{setter}" do
327
+ context "with single pattern" do
328
+ before { config.send(setter, "**/*_foo.rb") }
329
+ it "loads files following pattern" do
330
+ file = File.expand_path(File.dirname(__FILE__) + "/resources/a_foo.rb")
331
+ config.files_or_directories_to_run = file
332
+ config.files_to_run.should include(file)
333
+ end
334
+
335
+ it "loads files in directories following pattern" do
336
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
337
+ config.files_or_directories_to_run = dir
338
+ config.files_to_run.should include("#{dir}/a_foo.rb")
339
+ end
340
+
341
+ it "does not load files in directories not following pattern" do
342
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
343
+ config.files_or_directories_to_run = dir
344
+ config.files_to_run.should_not include("#{dir}/a_bar.rb")
345
+ end
346
+ end
347
+
348
+ context "with multiple patterns" do
349
+ it "supports comma separated values" do
350
+ config.send(setter, "**/*_foo.rb,**/*_bar.rb")
351
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
352
+ config.files_or_directories_to_run = dir
353
+ config.files_to_run.should include("#{dir}/a_foo.rb")
354
+ config.files_to_run.should include("#{dir}/a_bar.rb")
355
+ end
356
+
357
+ it "supports comma separated values with spaces" do
358
+ config.send(setter, "**/*_foo.rb, **/*_bar.rb")
359
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
360
+ config.files_or_directories_to_run = dir
361
+ config.files_to_run.should include("#{dir}/a_foo.rb")
362
+ config.files_to_run.should include("#{dir}/a_bar.rb")
363
+ end
364
+ end
365
+ end
366
+ end
367
+
368
+ describe "path with line number" do
369
+ it "assigns the line number as a location filter" do
370
+ config.files_or_directories_to_run = "path/to/a_spec.rb:37"
371
+ config.filter.should eq({:locations => {File.expand_path("path/to/a_spec.rb") => [37]}})
372
+ end
373
+ end
374
+
375
+ context "with full_description" do
376
+ it "overrides filters" do
377
+ config.filter_run :focused => true
378
+ config.full_description = "foo"
379
+ config.filter.should_not have_key(:focused)
380
+ end
381
+ end
382
+
383
+ context "with line number" do
384
+
385
+ it "assigns the file and line number as a location filter" do
386
+ config.files_or_directories_to_run = "path/to/a_spec.rb:37"
387
+ config.filter.should eq({:locations => {File.expand_path("path/to/a_spec.rb") => [37]}})
388
+ end
389
+
390
+ it "assigns multiple files with line numbers as location filters" do
391
+ config.files_or_directories_to_run = "path/to/a_spec.rb:37", "other_spec.rb:44"
392
+ config.filter.should eq({:locations => {File.expand_path("path/to/a_spec.rb") => [37],
393
+ File.expand_path("other_spec.rb") => [44]}})
394
+ end
395
+
396
+ it "assigns files with multiple line numbers as location filters" do
397
+ config.files_or_directories_to_run = "path/to/a_spec.rb:37", "path/to/a_spec.rb:44"
398
+ config.filter.should eq({:locations => {File.expand_path("path/to/a_spec.rb") => [37, 44]}})
399
+ end
400
+ end
401
+
402
+ context "with multiple line numbers" do
403
+ it "assigns the file and line numbers as a location filter" do
404
+ config.files_or_directories_to_run = "path/to/a_spec.rb:1:3:5:7"
405
+ config.filter.should eq({:locations => {File.expand_path("path/to/a_spec.rb") => [1,3,5,7]}})
406
+ end
407
+ end
408
+
409
+ it "assigns the example name as the filter on description" do
410
+ config.full_description = "foo"
411
+ config.filter.should eq({:full_description => /foo/})
412
+ end
413
+
414
+ it "assigns the example names as the filter on description if description is an array" do
415
+ config.full_description = [ "foo", "bar" ]
416
+ config.filter.should eq({:full_description => Regexp.union(/foo/, /bar/)})
417
+ end
418
+
419
+ describe "#default_path" do
420
+ it 'defaults to "spec"' do
421
+ config.default_path.should eq('spec')
422
+ end
423
+ end
424
+
425
+ describe "#include" do
426
+
427
+ module InstanceLevelMethods
428
+ def you_call_this_a_blt?
429
+ "egad man, where's the mayo?!?!?"
430
+ end
431
+ end
432
+
433
+ it_behaves_like "metadata hash builder" do
434
+ def metadata_hash(*args)
435
+ config.include(InstanceLevelMethods, *args)
436
+ config.include_or_extend_modules.last.last
437
+ end
438
+ end
439
+
440
+ context "with no filter" do
441
+ it "includes the given module into each example group" do
442
+ RSpec.configure do |c|
443
+ c.include(InstanceLevelMethods)
444
+ end
445
+
446
+ group = ExampleGroup.describe('does like, stuff and junk', :magic_key => :include) { }
447
+ group.should_not respond_to(:you_call_this_a_blt?)
448
+ group.new.you_call_this_a_blt?.should eq("egad man, where's the mayo?!?!?")
449
+ end
450
+ end
451
+
452
+ context "with a filter" do
453
+ it "includes the given module into each matching example group" do
454
+ RSpec.configure do |c|
455
+ c.include(InstanceLevelMethods, :magic_key => :include)
456
+ end
457
+
458
+ group = ExampleGroup.describe('does like, stuff and junk', :magic_key => :include) { }
459
+ group.should_not respond_to(:you_call_this_a_blt?)
460
+ group.new.you_call_this_a_blt?.should eq("egad man, where's the mayo?!?!?")
461
+ end
462
+ end
463
+
464
+ end
465
+
466
+ describe "#extend" do
467
+
468
+ module ThatThingISentYou
469
+ def that_thing
470
+ end
471
+ end
472
+
473
+ it_behaves_like "metadata hash builder" do
474
+ def metadata_hash(*args)
475
+ config.extend(ThatThingISentYou, *args)
476
+ config.include_or_extend_modules.last.last
477
+ end
478
+ end
479
+
480
+ it "extends the given module into each matching example group" do
481
+ RSpec.configure do |c|
482
+ c.extend(ThatThingISentYou, :magic_key => :extend)
483
+ end
484
+
485
+ group = ExampleGroup.describe(ThatThingISentYou, :magic_key => :extend) { }
486
+ group.should respond_to(:that_thing)
487
+ end
488
+
489
+ end
490
+
491
+ describe "#run_all_when_everything_filtered?" do
492
+
493
+ it "defaults to false" do
494
+ config.run_all_when_everything_filtered?.should be_false
495
+ end
496
+
497
+ it "can be queried with question method" do
498
+ config.run_all_when_everything_filtered = true
499
+ config.run_all_when_everything_filtered?.should be_true
500
+ end
501
+ end
502
+
503
+ %w[color color_enabled].each do |color_option|
504
+ describe "##{color_option}=" do
505
+ context "given true" do
506
+ context "with non-tty output and no autotest" do
507
+ it "does not set color_enabled" do
508
+ config.output_stream = StringIO.new
509
+ config.output_stream.stub(:tty?) { false }
510
+ config.tty = false
511
+ config.send "#{color_option}=", true
512
+ config.send(color_option).should be_false
513
+ end
514
+ end
515
+
516
+ context "with tty output" do
517
+ it "does not set color_enabled" do
518
+ config.output_stream = StringIO.new
519
+ config.output_stream.stub(:tty?) { true }
520
+ config.tty = false
521
+ config.send "#{color_option}=", true
522
+ config.send(color_option).should be_true
523
+ end
524
+ end
525
+
526
+ context "with tty set" do
527
+ it "does not set color_enabled" do
528
+ config.output_stream = StringIO.new
529
+ config.output_stream.stub(:tty?) { false }
530
+ config.tty = true
531
+ config.send "#{color_option}=", true
532
+ config.send(color_option).should be_true
533
+ end
534
+ end
535
+
536
+ context "on windows" do
537
+ before do
538
+ @original_host = RbConfig::CONFIG['host_os']
539
+ RbConfig::CONFIG['host_os'] = 'mingw'
540
+ config.stub(:require)
541
+ config.stub(:warn)
542
+ end
543
+
544
+ after do
545
+ RbConfig::CONFIG['host_os'] = @original_host
546
+ end
547
+
548
+ context "with ANSICON available" do
549
+ before(:all) do
550
+ @original_ansicon = ENV['ANSICON']
551
+ ENV['ANSICON'] = 'ANSICON'
552
+ end
553
+
554
+ after(:all) do
555
+ ENV['ANSICON'] = @original_ansicon
556
+ end
557
+
558
+ it "enables colors" do
559
+ config.output_stream = StringIO.new
560
+ config.output_stream.stub(:tty?) { true }
561
+ config.send "#{color_option}=", true
562
+ config.send(color_option).should be_true
563
+ end
564
+
565
+ it "leaves output stream intact" do
566
+ config.output_stream = $stdout
567
+ config.stub(:require) do |what|
568
+ config.output_stream = 'foo' if what =~ /Win32/
569
+ end
570
+ config.send "#{color_option}=", true
571
+ config.output_stream.should eq($stdout)
572
+ end
573
+ end
574
+
575
+ context "with ANSICON NOT available" do
576
+ it "warns to install ANSICON" do
577
+ config.stub(:require) { raise LoadError }
578
+ config.should_receive(:warn).
579
+ with(/You must use ANSICON/)
580
+ config.send "#{color_option}=", true
581
+ end
582
+
583
+ it "sets color_enabled to false" do
584
+ config.stub(:require) { raise LoadError }
585
+ config.send "#{color_option}=", true
586
+ config.color_enabled = true
587
+ config.send(color_option).should be_false
588
+ end
589
+ end
590
+ end
591
+ end
592
+ end
593
+
594
+ it "prefers incoming cli_args" do
595
+ config.output_stream = StringIO.new
596
+ config.output_stream.stub :tty? => true
597
+ config.force :color => true
598
+ config.color = false
599
+ config.color.should be_true
600
+ end
601
+ end
602
+
603
+ describe '#formatter=' do
604
+ it "delegates to add_formatter (better API for user-facing configuration)" do
605
+ config.should_receive(:add_formatter).with('these','options')
606
+ config.add_formatter('these','options')
607
+ end
608
+ end
609
+
610
+ describe "#add_formatter" do
611
+
612
+ it "adds to the list of formatters" do
613
+ config.add_formatter :documentation
614
+ config.formatters.first.should be_an_instance_of(Formatters::DocumentationFormatter)
615
+ end
616
+
617
+ it "finds a formatter by name (w/ Symbol)" do
618
+ config.add_formatter :documentation
619
+ config.formatters.first.should be_an_instance_of(Formatters::DocumentationFormatter)
620
+ end
621
+
622
+ it "finds a formatter by name (w/ String)" do
623
+ config.add_formatter 'documentation'
624
+ config.formatters.first.should be_an_instance_of(Formatters::DocumentationFormatter)
625
+ end
626
+
627
+ it "finds a formatter by class" do
628
+ formatter_class = Class.new(Formatters::BaseTextFormatter)
629
+ config.add_formatter formatter_class
630
+ config.formatters.first.should be_an_instance_of(formatter_class)
631
+ end
632
+
633
+ it "finds a formatter by class name" do
634
+ Object.const_set("ACustomFormatter", Class.new(Formatters::BaseFormatter))
635
+ config.add_formatter "ACustomFormatter"
636
+ config.formatters.first.should be_an_instance_of(ACustomFormatter)
637
+ end
638
+
639
+ it "finds a formatter by class fully qualified name" do
640
+ RSpec.const_set("CustomFormatter", Class.new(Formatters::BaseFormatter))
641
+ config.add_formatter "RSpec::CustomFormatter"
642
+ config.formatters.first.should be_an_instance_of(RSpec::CustomFormatter)
643
+ end
644
+
645
+ it "requires a formatter file based on its fully qualified name" do
646
+ config.should_receive(:require).with('rspec/custom_formatter2') do
647
+ RSpec.const_set("CustomFormatter2", Class.new(Formatters::BaseFormatter))
648
+ end
649
+ config.add_formatter "RSpec::CustomFormatter2"
650
+ config.formatters.first.should be_an_instance_of(RSpec::CustomFormatter2)
651
+ end
652
+
653
+ it "raises NameError if class is unresolvable" do
654
+ config.should_receive(:require).with('rspec/custom_formatter3')
655
+ lambda { config.add_formatter "RSpec::CustomFormatter3" }.should raise_error(NameError)
656
+ end
657
+
658
+ it "raises ArgumentError if formatter is unknown" do
659
+ lambda { config.add_formatter :progresss }.should raise_error(ArgumentError)
660
+ end
661
+
662
+ context "with a 2nd arg defining the output" do
663
+ it "creates a file at that path and sets it as the output" do
664
+ path = File.join(Dir.tmpdir, 'output.txt')
665
+ config.add_formatter('doc', path)
666
+ config.formatters.first.output.should be_a(File)
667
+ config.formatters.first.output.path.should eq(path)
668
+ end
669
+ end
670
+ end
671
+
672
+ describe "#filter_run_including" do
673
+ it_behaves_like "metadata hash builder" do
674
+ def metadata_hash(*args)
675
+ config.filter_run_including(*args)
676
+ config.inclusion_filter
677
+ end
678
+ end
679
+
680
+ it "sets the filter with a hash" do
681
+ config.filter_run_including :foo => true
682
+ config.inclusion_filter[:foo].should be(true)
683
+ end
684
+
685
+ it "sets the filter with a symbol" do
686
+ RSpec.configuration.stub(:treat_symbols_as_metadata_keys_with_true_values? => true)
687
+ config.filter_run_including :foo
688
+ config.inclusion_filter[:foo].should be(true)
689
+ end
690
+
691
+ it "merges with existing filters" do
692
+ config.filter_run_including :foo => true
693
+ config.filter_run_including :bar => false
694
+
695
+ config.inclusion_filter[:foo].should be(true)
696
+ config.inclusion_filter[:bar].should be(false)
697
+ end
698
+ end
699
+
700
+ describe "#filter_run_excluding" do
701
+ it_behaves_like "metadata hash builder" do
702
+ def metadata_hash(*args)
703
+ config.filter_run_excluding(*args)
704
+ config.exclusion_filter
705
+ end
706
+ end
707
+
708
+ it "sets the filter" do
709
+ config.filter_run_excluding :foo => true
710
+ config.exclusion_filter[:foo].should be(true)
711
+ end
712
+
713
+ it "sets the filter using a symbol" do
714
+ RSpec.configuration.stub(:treat_symbols_as_metadata_keys_with_true_values? => true)
715
+ config.filter_run_excluding :foo
716
+ config.exclusion_filter[:foo].should be(true)
717
+ end
718
+
719
+ it "merges with existing filters" do
720
+ config.filter_run_excluding :foo => true
721
+ config.filter_run_excluding :bar => false
722
+
723
+ config.exclusion_filter[:foo].should be(true)
724
+ config.exclusion_filter[:bar].should be(false)
725
+ end
726
+ end
727
+
728
+ describe "#inclusion_filter" do
729
+ it "returns {} even if set to nil" do
730
+ config.inclusion_filter = nil
731
+ config.inclusion_filter.should eq({})
732
+ end
733
+ end
734
+
735
+ describe "#inclusion_filter=" do
736
+ it "treats symbols as hash keys with true values when told to" do
737
+ RSpec.configuration.stub(:treat_symbols_as_metadata_keys_with_true_values? => true)
738
+ config.inclusion_filter = :foo
739
+ config.inclusion_filter.should eq({:foo => true})
740
+ end
741
+
742
+ it "overrides any inclusion filters set on the command line or in configuration files" do
743
+ config.force(:inclusion_filter => { :foo => :bar })
744
+ config.inclusion_filter = {:want => :this}
745
+ config.inclusion_filter.should eq({:want => :this})
746
+ end
747
+ end
748
+
749
+ describe "#exclusion_filter" do
750
+ it "returns {} even if set to nil" do
751
+ config.exclusion_filter = nil
752
+ config.exclusion_filter.should eq({})
753
+ end
754
+
755
+ describe "the default :if filter" do
756
+ it "does not exclude a spec with { :if => true } metadata" do
757
+ config.exclusion_filter[:if].call(true).should be_false
758
+ end
759
+
760
+ it "excludes a spec with { :if => false } metadata" do
761
+ config.exclusion_filter[:if].call(false).should be_true
762
+ end
763
+
764
+ it "excludes a spec with { :if => nil } metadata" do
765
+ config.exclusion_filter[:if].call(nil).should be_true
766
+ end
767
+ end
768
+
769
+ describe "the default :unless filter" do
770
+ it "excludes a spec with { :unless => true } metadata" do
771
+ config.exclusion_filter[:unless].call(true).should be_true
772
+ end
773
+
774
+ it "does not exclude a spec with { :unless => false } metadata" do
775
+ config.exclusion_filter[:unless].call(false).should be_false
776
+ end
777
+
778
+ it "does not exclude a spec with { :unless => nil } metadata" do
779
+ config.exclusion_filter[:unless].call(nil).should be_false
780
+ end
781
+ end
782
+ end
783
+
784
+ describe "#exclusion_filter=" do
785
+ it "treats symbols as hash keys with true values when told to" do
786
+ RSpec.configuration.stub(:treat_symbols_as_metadata_keys_with_true_values? => true)
787
+ config.exclusion_filter = :foo
788
+ config.exclusion_filter.should eq({:foo => true})
789
+ end
790
+
791
+ it "overrides any exclusion filters set on the command line or in configuration files" do
792
+ config.force(:exclusion_filter => { :foo => :bar })
793
+ config.exclusion_filter = {:want => :this}
794
+ config.exclusion_filter.should eq({:want => :this})
795
+ end
796
+ end
797
+
798
+ describe "line_numbers=" do
799
+ before { config.filter_manager.stub(:warn) }
800
+
801
+ it "sets the line numbers" do
802
+ config.line_numbers = ['37']
803
+ config.filter.should eq({:line_numbers => [37]})
804
+ end
805
+
806
+ it "overrides filters" do
807
+ config.filter_run :focused => true
808
+ config.line_numbers = ['37']
809
+ config.filter.should eq({:line_numbers => [37]})
810
+ end
811
+
812
+ it "prevents subsequent filters" do
813
+ config.line_numbers = ['37']
814
+ config.filter_run :focused => true
815
+ config.filter.should eq({:line_numbers => [37]})
816
+ end
817
+ end
818
+
819
+ describe "#full_backtrace=" do
820
+ context "given true" do
821
+ it "clears the backtrace clean patterns" do
822
+ config.full_backtrace = true
823
+ config.backtrace_clean_patterns.should eq([])
824
+ end
825
+ end
826
+
827
+ context "given false" do
828
+ it "restores backtrace clean patterns" do
829
+ config.full_backtrace = false
830
+ config.backtrace_clean_patterns.should eq(RSpec::Core::Configuration::DEFAULT_BACKTRACE_PATTERNS)
831
+ end
832
+ end
833
+
834
+ it "doesn't impact other instances of config" do
835
+ config_1 = Configuration.new
836
+ config_2 = Configuration.new
837
+
838
+ config_1.full_backtrace = true
839
+ config_2.backtrace_clean_patterns.should_not be_empty
840
+ end
841
+ end
842
+
843
+ describe "#cleaned_from_backtrace? defaults" do
844
+ it "returns true for rspec files" do
845
+ config.cleaned_from_backtrace?("lib/rspec/core.rb").
846
+ should be_true
847
+ end
848
+
849
+ it "returns true for spec_helper" do
850
+ config.cleaned_from_backtrace?("spec/spec_helper.rb").
851
+ should be_true
852
+ end
853
+
854
+ it "returns true for java files (for JRuby)" do
855
+ config.cleaned_from_backtrace?("org/jruby/RubyArray.java:2336").
856
+ should be_true
857
+ end
858
+ end
859
+
860
+ describe "#debug=true" do
861
+ before do
862
+ if defined?(Debugger)
863
+ @orig_debugger = Debugger
864
+ Object.send(:remove_const, :Debugger)
865
+ else
866
+ @orig_debugger = nil
867
+ end
868
+ Object.const_set("Debugger", debugger)
869
+ end
870
+
871
+ after do
872
+ Object.send(:remove_const, :Debugger)
873
+ Object.const_set("Debugger", @orig_debugger) if @orig_debugger
874
+ end
875
+
876
+ let(:debugger) { double('Debugger').as_null_object }
877
+
878
+ it "requires 'ruby-debug'" do
879
+ config.should_receive(:require).with('ruby-debug')
880
+ config.debug = true
881
+ end
882
+
883
+ it "starts the debugger" do
884
+ config.stub(:require)
885
+ debugger.should_receive(:start)
886
+ config.debug = true
887
+ end
888
+ end
889
+
890
+ describe "#debug=false" do
891
+ it "does not require 'ruby-debug'" do
892
+ config.should_not_receive(:require).with('ruby-debug')
893
+ config.debug = false
894
+ end
895
+ end
896
+
897
+ describe "#output=" do
898
+ it "sets the output" do
899
+ output = mock("output")
900
+ config.output = output
901
+ config.output.should equal(output)
902
+ end
903
+ end
904
+
905
+ describe "#libs=" do
906
+ it "adds directories to the LOAD_PATH" do
907
+ $LOAD_PATH.should_receive(:unshift).with("a/dir")
908
+ config.libs = ["a/dir"]
909
+ end
910
+ end
911
+
912
+ describe "#requires=" do
913
+ it "requires paths" do
914
+ config.should_receive(:require).with("a/path")
915
+ config.requires = ["a/path"]
916
+ end
917
+ end
918
+
919
+ describe "#add_setting" do
920
+ describe "with no modifiers" do
921
+ context "with no additional options" do
922
+ before do
923
+ config.add_setting :custom_option
924
+ end
925
+
926
+ it "defaults to nil" do
927
+ config.custom_option.should be_nil
928
+ end
929
+
930
+ it "adds a predicate" do
931
+ config.custom_option?.should be_false
932
+ end
933
+
934
+ it "can be overridden" do
935
+ config.custom_option = "a value"
936
+ config.custom_option.should eq("a value")
937
+ end
938
+ end
939
+
940
+ context "with :default => 'a value'" do
941
+ before do
942
+ config.add_setting :custom_option, :default => 'a value'
943
+ end
944
+
945
+ it "defaults to 'a value'" do
946
+ config.custom_option.should eq("a value")
947
+ end
948
+
949
+ it "returns true for the predicate" do
950
+ config.custom_option?.should be_true
951
+ end
952
+
953
+ it "can be overridden with a truthy value" do
954
+ config.custom_option = "a new value"
955
+ config.custom_option.should eq("a new value")
956
+ end
957
+
958
+ it "can be overridden with nil" do
959
+ config.custom_option = nil
960
+ config.custom_option.should eq(nil)
961
+ end
962
+
963
+ it "can be overridden with false" do
964
+ config.custom_option = false
965
+ config.custom_option.should eq(false)
966
+ end
967
+ end
968
+ end
969
+
970
+ context "with :alias => " do
971
+ it "is deprecated" do
972
+ RSpec::should_receive(:warn).with(/deprecated/)
973
+ config.add_setting :custom_option
974
+ config.add_setting :another_custom_option, :alias => :custom_option
975
+ end
976
+ end
977
+
978
+ context "with :alias_with => " do
979
+ before do
980
+ config.add_setting :custom_option, :alias_with => :another_custom_option
981
+ end
982
+
983
+ it "delegates the getter to the other option" do
984
+ config.another_custom_option = "this value"
985
+ config.custom_option.should eq("this value")
986
+ end
987
+
988
+ it "delegates the setter to the other option" do
989
+ config.custom_option = "this value"
990
+ config.another_custom_option.should eq("this value")
991
+ end
992
+
993
+ it "delegates the predicate to the other option" do
994
+ config.custom_option = true
995
+ config.another_custom_option?.should be_true
996
+ end
997
+ end
998
+ end
999
+
1000
+ describe "#configure_group" do
1001
+ it "extends with 'extend'" do
1002
+ mod = Module.new
1003
+ group = ExampleGroup.describe("group", :foo => :bar)
1004
+
1005
+ config.extend(mod, :foo => :bar)
1006
+ config.configure_group(group)
1007
+ group.should be_a(mod)
1008
+ end
1009
+
1010
+ it "extends with 'module'" do
1011
+ mod = Module.new
1012
+ group = ExampleGroup.describe("group", :foo => :bar)
1013
+
1014
+ config.include(mod, :foo => :bar)
1015
+ config.configure_group(group)
1016
+ group.included_modules.should include(mod)
1017
+ end
1018
+
1019
+ it "requires only one matching filter" do
1020
+ mod = Module.new
1021
+ group = ExampleGroup.describe("group", :foo => :bar)
1022
+
1023
+ config.include(mod, :foo => :bar, :baz => :bam)
1024
+ config.configure_group(group)
1025
+ group.included_modules.should include(mod)
1026
+ end
1027
+
1028
+ it "includes each one before deciding whether to include the next" do
1029
+ mod1 = Module.new do
1030
+ def self.included(host)
1031
+ host.metadata[:foo] = :bar
1032
+ end
1033
+ end
1034
+ mod2 = Module.new
1035
+
1036
+ group = ExampleGroup.describe("group")
1037
+
1038
+ config.include(mod1)
1039
+ config.include(mod2, :foo => :bar)
1040
+ config.configure_group(group)
1041
+ group.included_modules.should include(mod1)
1042
+ group.included_modules.should include(mod2)
1043
+ end
1044
+
1045
+ module IncludeOrExtendMeOnce
1046
+ def self.included(host)
1047
+ raise "included again" if host.instance_methods.include?(:foobar)
1048
+ host.class_eval { def foobar; end }
1049
+ end
1050
+
1051
+ def self.extended(host)
1052
+ raise "extended again" if host.respond_to?(:foobar)
1053
+ def host.foobar; end
1054
+ end
1055
+ end
1056
+
1057
+ it "doesn't include a module when already included in ancestor" do
1058
+ config.include(IncludeOrExtendMeOnce, :foo => :bar)
1059
+
1060
+ group = ExampleGroup.describe("group", :foo => :bar)
1061
+ child = group.describe("child")
1062
+
1063
+ config.configure_group(group)
1064
+ config.configure_group(child)
1065
+ end
1066
+
1067
+ it "doesn't extend when ancestor is already extended with same module" do
1068
+ config.extend(IncludeOrExtendMeOnce, :foo => :bar)
1069
+
1070
+ group = ExampleGroup.describe("group", :foo => :bar)
1071
+ child = group.describe("child")
1072
+
1073
+ config.configure_group(group)
1074
+ config.configure_group(child)
1075
+ end
1076
+ end
1077
+
1078
+ describe "#alias_example_to" do
1079
+ it_behaves_like "metadata hash builder" do
1080
+ after do
1081
+ RSpec::Core::ExampleGroup.module_eval do
1082
+ class << self
1083
+ undef :my_example_method if method_defined? :my_example_method
1084
+ end
1085
+ end
1086
+ end
1087
+ def metadata_hash(*args)
1088
+ config.alias_example_to :my_example_method, *args
1089
+ group = ExampleGroup.describe("group")
1090
+ example = group.my_example_method("description")
1091
+ example.metadata
1092
+ end
1093
+ end
1094
+ end
1095
+
1096
+ describe "#reset" do
1097
+ it "clears the reporter" do
1098
+ config.reporter.should_not be_nil
1099
+ config.reset
1100
+ config.instance_variable_get("@reporter").should be_nil
1101
+ end
1102
+
1103
+ it "clears the formatters" do
1104
+ config.add_formatter "doc"
1105
+ config.reset
1106
+ config.formatters.should be_empty
1107
+ end
1108
+ end
1109
+
1110
+ describe "#force" do
1111
+ it "forces order" do
1112
+ config.force :order => "default"
1113
+ config.order = "rand"
1114
+ config.order.should eq("default")
1115
+ end
1116
+
1117
+ it "forces order and seed with :order => 'rand:37'" do
1118
+ config.force :order => "rand:37"
1119
+ config.order = "default"
1120
+ config.order.should eq("rand")
1121
+ config.seed.should eq(37)
1122
+ end
1123
+
1124
+ it "forces order and seed with :seed => '37'" do
1125
+ config.force :seed => "37"
1126
+ config.order = "default"
1127
+ config.seed.should eq(37)
1128
+ config.order.should eq("rand")
1129
+ end
1130
+
1131
+ it "forces 'false' value" do
1132
+ config.add_setting :custom_option
1133
+ config.custom_option = true
1134
+ config.custom_option?.should be_true
1135
+ config.force :custom_option => false
1136
+ config.custom_option?.should be_false
1137
+ config.custom_option = true
1138
+ config.custom_option?.should be_false
1139
+ end
1140
+ end
1141
+
1142
+ describe '#seed' do
1143
+ it 'returns the seed as an int' do
1144
+ config.seed = '123'
1145
+ config.seed.should eq(123)
1146
+ end
1147
+ end
1148
+
1149
+ describe '#randomize?' do
1150
+ context 'with order set to :random' do
1151
+ before { config.order = :random }
1152
+
1153
+ it 'returns true' do
1154
+ config.randomize?.should be_true
1155
+ end
1156
+ end
1157
+
1158
+ context 'with order set to nil' do
1159
+ before { config.order = nil }
1160
+
1161
+ it 'returns false' do
1162
+ config.randomize?.should be_false
1163
+ end
1164
+ end
1165
+ end
1166
+
1167
+ describe '#order=' do
1168
+ context 'given "random:123"' do
1169
+ before { config.order = 'random:123' }
1170
+
1171
+ it 'sets order to "random"' do
1172
+ config.order.should eq('random')
1173
+ end
1174
+
1175
+ it 'sets seed to 123' do
1176
+ config.seed.should eq(123)
1177
+ end
1178
+ end
1179
+
1180
+ context 'given "default"' do
1181
+ before do
1182
+ config.order = 'rand:123'
1183
+ config.order = 'default'
1184
+ end
1185
+
1186
+ it "sets the order to nil" do
1187
+ config.order.should be_nil
1188
+ end
1189
+
1190
+ it "sets the seed to nil" do
1191
+ config.seed.should be_nil
1192
+ end
1193
+ end
1194
+ end
1195
+ end
1196
+ end