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.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +56 -0
- data/Rakefile +9 -0
- data/bin/gem_repackager +57 -0
- data/gem_repackager.gemspec +22 -0
- data/lib/gem_repackager.rb +131 -0
- data/lib/gem_repackager/version.rb +5 -0
- data/spec/packager_spec.rb +131 -0
- data/spec/spec_helper.rb +1 -0
- data/support/bin/rspec +19 -0
- data/support/gems/rspec-2.11.0/License.txt +24 -0
- data/support/gems/rspec-2.11.0/README.md +47 -0
- data/support/gems/rspec-2.11.0/lib/rspec.rb +4 -0
- data/support/gems/rspec-2.11.0/lib/rspec/version.rb +5 -0
- data/support/gems/rspec-core-2.11.1/.document +5 -0
- data/support/gems/rspec-core-2.11.1/.yardopts +6 -0
- data/support/gems/rspec-core-2.11.1/Changelog.md +570 -0
- data/support/gems/rspec-core-2.11.1/License.txt +24 -0
- data/support/gems/rspec-core-2.11.1/README.md +235 -0
- data/support/gems/rspec-core-2.11.1/exe/autospec +13 -0
- data/support/gems/rspec-core-2.11.1/exe/rspec +25 -0
- data/support/gems/rspec-core-2.11.1/features/Autotest.md +38 -0
- data/support/gems/rspec-core-2.11.1/features/README.md +17 -0
- data/support/gems/rspec-core-2.11.1/features/Upgrade.md +364 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/README.md +28 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/example_name_option.feature +101 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/exit_status.feature +83 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/format_option.feature +81 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/init.feature +18 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/line_number_appended_to_path.feature +140 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/line_number_option.feature +58 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/order.feature +29 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/pattern_option.feature +31 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/rake_task.feature +68 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/ruby.feature +22 -0
- data/support/gems/rspec-core-2.11.1/features/command_line/tag.feature +91 -0
- data/support/gems/rspec-core-2.11.1/features/configuration/alias_example_to.feature +48 -0
- data/support/gems/rspec-core-2.11.1/features/configuration/custom_settings.feature +84 -0
- data/support/gems/rspec-core-2.11.1/features/configuration/default_path.feature +38 -0
- data/support/gems/rspec-core-2.11.1/features/configuration/fail_fast.feature +77 -0
- data/support/gems/rspec-core-2.11.1/features/configuration/read_options_from_file.feature +87 -0
- data/support/gems/rspec-core-2.11.1/features/example_groups/basic_structure.feature +55 -0
- data/support/gems/rspec-core-2.11.1/features/example_groups/shared_context.feature +74 -0
- data/support/gems/rspec-core-2.11.1/features/example_groups/shared_examples.feature +204 -0
- data/support/gems/rspec-core-2.11.1/features/expectation_framework_integration/configure_expectation_framework.feature +102 -0
- data/support/gems/rspec-core-2.11.1/features/filtering/exclusion_filters.feature +139 -0
- data/support/gems/rspec-core-2.11.1/features/filtering/if_and_unless.feature +168 -0
- data/support/gems/rspec-core-2.11.1/features/filtering/inclusion_filters.feature +105 -0
- data/support/gems/rspec-core-2.11.1/features/filtering/run_all_when_everything_filtered.feature +46 -0
- data/support/gems/rspec-core-2.11.1/features/formatters/custom_formatter.feature +36 -0
- data/support/gems/rspec-core-2.11.1/features/formatters/text_formatter.feature +46 -0
- data/support/gems/rspec-core-2.11.1/features/helper_methods/arbitrary_methods.feature +40 -0
- data/support/gems/rspec-core-2.11.1/features/helper_methods/let.feature +50 -0
- data/support/gems/rspec-core-2.11.1/features/helper_methods/modules.feature +149 -0
- data/support/gems/rspec-core-2.11.1/features/hooks/around_hooks.feature +343 -0
- data/support/gems/rspec-core-2.11.1/features/hooks/before_and_after_hooks.feature +423 -0
- data/support/gems/rspec-core-2.11.1/features/hooks/filtering.feature +234 -0
- data/support/gems/rspec-core-2.11.1/features/metadata/current_example.feature +17 -0
- data/support/gems/rspec-core-2.11.1/features/metadata/described_class.feature +17 -0
- data/support/gems/rspec-core-2.11.1/features/metadata/user_defined.feature +113 -0
- data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_any_framework.feature +106 -0
- data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_flexmock.feature +96 -0
- data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_mocha.feature +97 -0
- data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_rr.feature +98 -0
- data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_rspec.feature +97 -0
- data/support/gems/rspec-core-2.11.1/features/pending/pending_examples.feature +229 -0
- data/support/gems/rspec-core-2.11.1/features/spec_files/arbitrary_file_suffix.feature +13 -0
- data/support/gems/rspec-core-2.11.1/features/step_definitions/additional_cli_steps.rb +30 -0
- data/support/gems/rspec-core-2.11.1/features/subject/attribute_of_subject.feature +124 -0
- data/support/gems/rspec-core-2.11.1/features/subject/explicit_subject.feature +82 -0
- data/support/gems/rspec-core-2.11.1/features/subject/implicit_receiver.feature +29 -0
- data/support/gems/rspec-core-2.11.1/features/subject/implicit_subject.feature +63 -0
- data/support/gems/rspec-core-2.11.1/features/support/env.rb +12 -0
- data/support/gems/rspec-core-2.11.1/lib/autotest/discover.rb +1 -0
- data/support/gems/rspec-core-2.11.1/lib/autotest/rspec2.rb +73 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/autorun.rb +2 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core.rb +126 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/backward_compatibility.rb +65 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb +36 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb +944 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb +129 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/deprecation.rb +36 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/drb_command_line.rb +26 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/drb_options.rb +87 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/dsl.rb +26 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/example.rb +330 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb +466 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions.rb +4 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/instance_eval_with_args.rb +44 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/kernel.rb +9 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/module_eval_with_args.rb +38 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/ordered.rb +21 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/filter_manager.rb +203 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/base_formatter.rb +168 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/base_text_formatter.rb +203 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/documentation_formatter.rb +67 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/helpers.rb +39 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/html_formatter.rb +464 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/progress_formatter.rb +32 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/snippet_extractor.rb +58 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/text_mate_formatter.rb +34 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/hooks.rb +495 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/let.rb +110 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/load_path.rb +3 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/metadata.rb +276 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/metadata_hash_builder.rb +97 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_absolutely_nothing.rb +11 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_flexmock.rb +27 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_mocha.rb +29 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_rr.rb +27 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_rspec.rb +23 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/option_parser.rb +181 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/pending.rb +101 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/project_initializer.rb +87 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/rake_task.rb +179 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/reporter.rb +102 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/ruby_project.rb +44 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb +76 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/shared_context.rb +49 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/shared_example_group.rb +96 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/subject.rb +219 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/version.rb +7 -0
- data/support/gems/rspec-core-2.11.1/lib/rspec/core/world.rb +128 -0
- data/support/gems/rspec-core-2.11.1/spec/autotest/discover_spec.rb +19 -0
- data/support/gems/rspec-core-2.11.1/spec/autotest/failed_results_re_spec.rb +45 -0
- data/support/gems/rspec-core-2.11.1/spec/autotest/rspec_spec.rb +123 -0
- data/support/gems/rspec-core-2.11.1/spec/command_line/order_spec.rb +137 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/command_line_spec.rb +108 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/command_line_spec_output.txt +0 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/configuration_options_spec.rb +377 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/configuration_spec.rb +1196 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/deprecations_spec.rb +66 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/drb_command_line_spec.rb +108 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/drb_options_spec.rb +180 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/dsl_spec.rb +17 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/example_group_spec.rb +1098 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/example_spec.rb +370 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/filter_manager_spec.rb +256 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/base_formatter_spec.rb +80 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/base_text_formatter_spec.rb +363 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/documentation_formatter_spec.rb +88 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/helpers_spec.rb +66 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +410 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.8.7.html +409 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.9.2.html +416 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.9.3.html +416 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatter_spec.rb +82 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/progress_formatter_spec.rb +30 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/snippet_extractor_spec.rb +18 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +410 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +409 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +416 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +416 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatter_spec.rb +83 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/hooks_filtering_spec.rb +227 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/hooks_spec.rb +250 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/kernel_extensions_spec.rb +9 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/let_spec.rb +55 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/metadata_spec.rb +447 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/option_parser_spec.rb +166 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/pending_example_spec.rb +220 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/project_initializer_spec.rb +130 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/rake_task_spec.rb +138 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/reporter_spec.rb +103 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_bar.rb +0 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_foo.rb +0 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_spec.rb +1 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/custom_example_group_runner.rb +14 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/formatter_specs.rb +60 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/utf8_encoded.rb +8 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/rspec_matchers_spec.rb +45 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/ruby_project_spec.rb +24 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/runner_spec.rb +81 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/shared_context_spec.rb +67 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/shared_example_group_spec.rb +84 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/subject_spec.rb +244 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core/world_spec.rb +144 -0
- data/support/gems/rspec-core-2.11.1/spec/rspec/core_spec.rb +35 -0
- data/support/gems/rspec-core-2.11.1/spec/spec_helper.rb +98 -0
- data/support/gems/rspec-core-2.11.1/spec/support/config_options_helper.rb +24 -0
- data/support/gems/rspec-core-2.11.1/spec/support/helper_methods.rb +5 -0
- data/support/gems/rspec-core-2.11.1/spec/support/matchers.rb +65 -0
- data/support/gems/rspec-core-2.11.1/spec/support/shared_example_groups.rb +41 -0
- data/support/gems/rspec-core-2.11.1/spec/support/spec_files.rb +44 -0
- data/support/gems/rspec-expectations-2.11.2/.document +5 -0
- data/support/gems/rspec-expectations-2.11.2/.yardopts +6 -0
- data/support/gems/rspec-expectations-2.11.2/Changelog.md +246 -0
- data/support/gems/rspec-expectations-2.11.2/License.txt +23 -0
- data/support/gems/rspec-expectations-2.11.2/README.md +224 -0
- data/support/gems/rspec-expectations-2.11.2/features/README.md +49 -0
- data/support/gems/rspec-expectations-2.11.2/features/Upgrade.md +53 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/README.md +90 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/be.feature +173 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/be_within.feature +46 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/cover.feature +45 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/end_with.feature +46 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/equality.feature +145 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/exist.feature +43 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/expect_change.feature +59 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/expect_error.feature +138 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/have.feature +103 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/include.feature +121 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/match.feature +50 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/operators.feature +221 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/predicates.feature +128 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/respond_to.feature +78 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/satisfy.feature +31 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/start_with.feature +46 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/throw_symbol.feature +85 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/types.feature +114 -0
- data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/yield.feature +146 -0
- data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/access_running_example.feature +53 -0
- data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_diffable_matcher.feature +27 -0
- data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher.feature +340 -0
- data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher_outside_rspec.feature +38 -0
- data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher_with_fluent_interface.feature +24 -0
- data/support/gems/rspec-expectations-2.11.2/features/customized_message.feature +22 -0
- data/support/gems/rspec-expectations-2.11.2/features/diffing.feature +85 -0
- data/support/gems/rspec-expectations-2.11.2/features/implicit_docstrings.feature +52 -0
- data/support/gems/rspec-expectations-2.11.2/features/step_definitions/additional_cli_steps.rb +22 -0
- data/support/gems/rspec-expectations-2.11.2/features/support/env.rb +5 -0
- data/support/gems/rspec-expectations-2.11.2/features/syntax_configuration.feature +68 -0
- data/support/gems/rspec-expectations-2.11.2/features/test_frameworks/test_unit.feature +46 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec-expectations.rb +1 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations.rb +47 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/deprecation.rb +38 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/differ.rb +81 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/errors.rb +9 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/expectation_target.rb +58 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions.rb +2 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions/array.rb +9 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions/object.rb +39 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/fail_with.rb +55 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/handler.rb +48 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/syntax.rb +110 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/version.rb +8 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers.rb +689 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/be_close.rb +9 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in.rb +39 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/base_matcher.rb +68 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be.rb +185 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_instance_of.rb +11 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_kind_of.rb +11 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_within.rb +45 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/change.rb +132 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/cover.rb +21 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/eq.rb +22 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/eql.rb +23 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/equal.rb +44 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/exist.rb +26 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/has.rb +47 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/have.rb +107 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/include.rb +51 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/match.rb +12 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/match_array.rb +45 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/raise_error.rb +96 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/respond_to.rb +73 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/satisfy.rb +29 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/start_and_end_with.rb +48 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/throw_symbol.rb +93 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/yield.rb +219 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/compatibility.rb +14 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/configuration.rb +66 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/dsl.rb +24 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/extensions/instance_eval_with_args.rb +39 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/generated_descriptions.rb +36 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/matcher.rb +299 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/method_missing.rb +12 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/operator_matcher.rb +84 -0
- data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/pretty.rb +60 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/differ_spec.rb +153 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/expectation_target_spec.rb +65 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/extensions/kernel_spec.rb +67 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/fail_with_spec.rb +70 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/handler_spec.rb +206 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/base_matcher_spec.rb +60 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_close_spec.rb +22 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_instance_of_spec.rb +36 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_kind_of_spec.rb +33 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_spec.rb +452 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_within_spec.rb +76 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/change_spec.rb +522 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/configuration_spec.rb +160 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/cover_spec.rb +65 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/description_generation_spec.rb +176 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/dsl_spec.rb +57 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/eq_spec.rb +50 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/eql_spec.rb +37 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/equal_spec.rb +57 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/exist_spec.rb +104 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/has_spec.rb +113 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/have_spec.rb +458 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/include_spec.rb +363 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/match_array_spec.rb +120 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/match_spec.rb +57 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/matcher_spec.rb +434 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/matchers_spec.rb +31 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/method_missing_spec.rb +24 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/operator_matcher_spec.rb +221 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/raise_error_spec.rb +339 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/respond_to_spec.rb +292 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/satisfy_spec.rb +40 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/start_with_end_with_spec.rb +174 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/throw_symbol_spec.rb +111 -0
- data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/yield_spec.rb +374 -0
- data/support/gems/rspec-expectations-2.11.2/spec/spec_helper.rb +27 -0
- data/support/gems/rspec-expectations-2.11.2/spec/support/classes.rb +56 -0
- data/support/gems/rspec-expectations-2.11.2/spec/support/in_sub_process.rb +31 -0
- data/support/gems/rspec-expectations-2.11.2/spec/support/matchers.rb +22 -0
- data/support/gems/rspec-expectations-2.11.2/spec/support/ruby_version.rb +10 -0
- data/support/gems/rspec-mocks-2.11.1/.document +5 -0
- data/support/gems/rspec-mocks-2.11.1/.yardopts +6 -0
- data/support/gems/rspec-mocks-2.11.1/Changelog.md +199 -0
- data/support/gems/rspec-mocks-2.11.1/License.txt +23 -0
- data/support/gems/rspec-mocks-2.11.1/README.md +276 -0
- data/support/gems/rspec-mocks-2.11.1/features/README.md +67 -0
- data/support/gems/rspec-mocks-2.11.1/features/Scope.md +17 -0
- data/support/gems/rspec-mocks-2.11.1/features/Upgrade.md +22 -0
- data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/README.md +27 -0
- data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/explicit.feature +60 -0
- data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/general_matchers.feature +85 -0
- data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/type_matchers.feature +25 -0
- data/support/gems/rspec-mocks-2.11.1/features/message_expectations/README.md +58 -0
- data/support/gems/rspec-mocks-2.11.1/features/message_expectations/any_instance.feature +21 -0
- data/support/gems/rspec-mocks-2.11.1/features/message_expectations/block_local_expectations.feature.pending +55 -0
- data/support/gems/rspec-mocks-2.11.1/features/message_expectations/expect_message.feature +94 -0
- data/support/gems/rspec-mocks-2.11.1/features/message_expectations/receive_counts.feature +209 -0
- data/support/gems/rspec-mocks-2.11.1/features/message_expectations/warn_when_expectation_is_set_on_nil.feature +50 -0
- data/support/gems/rspec-mocks-2.11.1/features/method_stubs/README.md +43 -0
- data/support/gems/rspec-mocks-2.11.1/features/method_stubs/any_instance.feature +133 -0
- data/support/gems/rspec-mocks-2.11.1/features/method_stubs/as_null_object.feature +35 -0
- data/support/gems/rspec-mocks-2.11.1/features/method_stubs/simple_return_value.feature +64 -0
- data/support/gems/rspec-mocks-2.11.1/features/method_stubs/stub_chain.feature +51 -0
- data/support/gems/rspec-mocks-2.11.1/features/method_stubs/stub_implementation.feature +26 -0
- data/support/gems/rspec-mocks-2.11.1/features/method_stubs/to_ary.feature +47 -0
- data/support/gems/rspec-mocks-2.11.1/features/outside_rspec/configuration.feature +82 -0
- data/support/gems/rspec-mocks-2.11.1/features/outside_rspec/standalone.feature +32 -0
- data/support/gems/rspec-mocks-2.11.1/features/step_definitions/additional_cli_steps.rb +4 -0
- data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/README.md +62 -0
- data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/stub_defined_constant.feature +79 -0
- data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/stub_undefined_constant.feature +50 -0
- data/support/gems/rspec-mocks-2.11.1/features/support/env.rb +6 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks.rb +39 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance.rb +81 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/chain.rb +77 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/expectation_chain.rb +57 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/message_chains.rb +60 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/recorder.rb +197 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/stub_chain.rb +37 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +25 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/argument_list_matcher.rb +93 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/argument_matchers.rb +238 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/error_generator.rb +114 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/errors.rb +12 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/example_methods.rb +95 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/instance_exec.rb +34 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/marshal.rb +23 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/psych.rb +23 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/framework.rb +20 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/message_expectation.rb +488 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/method_double.rb +196 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/methods.rb +155 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/mock.rb +7 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/order_group.rb +40 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/proxy.rb +190 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/serialization.rb +34 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/space.rb +34 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/standalone.rb +3 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/stub_const.rb +280 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/test_double.rb +103 -0
- data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/version.rb +7 -0
- data/support/gems/rspec-mocks-2.11.1/lib/spec/mocks.rb +2 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/and_yield_spec.rb +114 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_instance/message_chains_spec.rb +40 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_instance_spec.rb +825 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_number_of_times_spec.rb +30 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/argument_expectation_spec.rb +34 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/at_least_spec.rb +142 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/at_most_spec.rb +90 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/block_return_value_spec.rb +53 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_10260_spec.rb +8 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_10263_spec.rb +25 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_11545_spec.rb +32 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_496_spec.rb +17 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_600_spec.rb +22 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_7611_spec.rb +16 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_8165_spec.rb +31 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_830_spec.rb +21 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_957_spec.rb +22 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/double_spec.rb +12 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/failing_argument_matchers_spec.rb +95 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/hash_excluding_matcher_spec.rb +67 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/hash_including_matcher_spec.rb +90 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_ordering_spec.rb +103 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_space_spec.rb +58 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_spec.rb +730 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/multiple_return_value_spec.rb +119 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/nil_expectation_warning_spec.rb +62 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/null_object_mock_spec.rb +106 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/once_counts_spec.rb +52 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/options_hash_spec.rb +35 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/partial_mock_spec.rb +156 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/partial_mock_using_mocks_directly_spec.rb +95 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/passing_argument_matchers_spec.rb +142 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/precise_counts_spec.rb +68 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/record_messages_spec.rb +26 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/serialization_spec.rb +111 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stash_spec.rb +27 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_chain_spec.rb +149 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_const_spec.rb +309 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_implementation_spec.rb +68 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_spec.rb +238 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stubbed_message_expectations_spec.rb +47 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/test_double_spec.rb +57 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/to_ary_spec.rb +40 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/twice_counts_spec.rb +66 -0
- data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks_spec.rb +51 -0
- data/support/gems/rspec-mocks-2.11.1/spec/spec_helper.rb +15 -0
- data/support/gems/rspec-rails-2.11.0/.document +5 -0
- data/support/gems/rspec-rails-2.11.0/.yardopts +8 -0
- data/support/gems/rspec-rails-2.11.0/Changelog.md +293 -0
- data/support/gems/rspec-rails-2.11.0/License.txt +22 -0
- data/support/gems/rspec-rails-2.11.0/README.md +494 -0
- data/support/gems/rspec-rails-2.11.0/features/Autotest.md +24 -0
- data/support/gems/rspec-rails-2.11.0/features/Generators.md +8 -0
- data/support/gems/rspec-rails-2.11.0/features/GettingStarted.md +84 -0
- data/support/gems/rspec-rails-2.11.0/features/README.md +56 -0
- data/support/gems/rspec-rails-2.11.0/features/RailsVersions.md +4 -0
- data/support/gems/rspec-rails-2.11.0/features/Transactions.md +84 -0
- data/support/gems/rspec-rails-2.11.0/features/Upgrade.md +117 -0
- data/support/gems/rspec-rails-2.11.0/features/controller_specs/Cookies.md +57 -0
- data/support/gems/rspec-rails-2.11.0/features/controller_specs/README.md +45 -0
- data/support/gems/rspec-rails-2.11.0/features/controller_specs/anonymous_controller.feature +330 -0
- data/support/gems/rspec-rails-2.11.0/features/controller_specs/bypass_rescue.feature +75 -0
- data/support/gems/rspec-rails-2.11.0/features/controller_specs/controller_spec.feature +35 -0
- data/support/gems/rspec-rails-2.11.0/features/controller_specs/isolation_from_views.feature +87 -0
- data/support/gems/rspec-rails-2.11.0/features/controller_specs/render_views.feature +114 -0
- data/support/gems/rspec-rails-2.11.0/features/helper_specs/helper_spec.feature +96 -0
- data/support/gems/rspec-rails-2.11.0/features/mailer_specs/url_helpers.feature +38 -0
- data/support/gems/rspec-rails-2.11.0/features/matchers/README.md +18 -0
- data/support/gems/rspec-rails-2.11.0/features/matchers/new_record_matcher.feature +28 -0
- data/support/gems/rspec-rails-2.11.0/features/matchers/redirect_to_matcher.feature +40 -0
- data/support/gems/rspec-rails-2.11.0/features/matchers/relation_match_array.feature +20 -0
- data/support/gems/rspec-rails-2.11.0/features/matchers/render_template_matcher.feature +28 -0
- data/support/gems/rspec-rails-2.11.0/features/mocks/mock_model.feature +147 -0
- data/support/gems/rspec-rails-2.11.0/features/mocks/stub_model.feature +58 -0
- data/support/gems/rspec-rails-2.11.0/features/model_specs/README.md +21 -0
- data/support/gems/rspec-rails-2.11.0/features/model_specs/errors_on.feature +33 -0
- data/support/gems/rspec-rails-2.11.0/features/model_specs/transactional_examples.feature +109 -0
- data/support/gems/rspec-rails-2.11.0/features/request_specs/request_spec.feature +49 -0
- data/support/gems/rspec-rails-2.11.0/features/routing_specs/README.md +17 -0
- data/support/gems/rspec-rails-2.11.0/features/routing_specs/be_routable_matcher.feature +80 -0
- data/support/gems/rspec-rails-2.11.0/features/routing_specs/named_routes.feature +18 -0
- data/support/gems/rspec-rails-2.11.0/features/routing_specs/route_to_matcher.feature +90 -0
- data/support/gems/rspec-rails-2.11.0/features/step_definitions/additional_cli_steps.rb +4 -0
- data/support/gems/rspec-rails-2.11.0/features/step_definitions/model_steps.rb +3 -0
- data/support/gems/rspec-rails-2.11.0/features/support/env.rb +53 -0
- data/support/gems/rspec-rails-2.11.0/features/view_specs/inferred_controller_path.feature +44 -0
- data/support/gems/rspec-rails-2.11.0/features/view_specs/stub_template.feature +51 -0
- data/support/gems/rspec-rails-2.11.0/features/view_specs/view_spec.feature +174 -0
- data/support/gems/rspec-rails-2.11.0/lib/autotest/rails_rspec2.rb +84 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec.rb +25 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/controller_generator.rb +33 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/templates/controller_spec.rb +14 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/templates/view_spec.rb +5 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/helper/helper_generator.rb +15 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/helper/templates/helper_spec.rb +15 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/install_generator.rb +24 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/templates/.rspec +1 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/templates/spec/spec_helper.rb +38 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/integration/integration_generator.rb +27 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/integration/templates/request_spec.rb +15 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/mailer_generator.rb +20 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/templates/fixture +3 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/templates/mailer_spec.rb +23 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/model_generator.rb +22 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/templates/fixtures.yml +19 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/templates/model_spec.rb +5 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/observer/observer_generator.rb +12 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/observer/templates/observer_spec.rb +5 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/scaffold_generator.rb +158 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/controller_spec.rb +166 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/edit_spec.rb +31 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/index_spec.rb +32 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/new_spec.rb +30 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/routing_spec.rb +37 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/show_spec.rb +28 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/view/templates/view_spec.rb +5 -0
- data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/view/view_generator.rb +21 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec-rails.rb +14 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails.rb +17 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/adapters.rb +79 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example.rb +38 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/controller_example_group.rb +128 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/helper_example_group.rb +40 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/mailer_example_group.rb +22 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/model_example_group.rb +10 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/rails_example_group.rb +14 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/request_example_group.rb +23 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/routing_example_group.rb +27 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/view_example_group.rb +155 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/extensions.rb +1 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/extensions/active_record/base.rb +45 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/fixture_support.rb +40 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers.rb +26 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/be_a_new.rb +76 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/be_new_record.rb +19 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/have_extension.rb +35 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/have_rendered.rb +40 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/redirect_to.rb +37 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/relation_match_array.rb +3 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/routing_matchers.rb +107 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/mocks.rb +243 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/module_inclusion.rb +29 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/tasks/rspec.rake +56 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/vendor/capybara.rb +29 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/vendor/webrat.rb +33 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/version.rb +7 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/view_assigns.rb +45 -0
- data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/view_rendering.rb +121 -0
- data/support/gems/rspec-rails-2.11.0/spec/autotest/rails_rspec2_spec.rb +36 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/controller/controller_generator_spec.rb +86 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/helper/helper_generator_spec.rb +30 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/install/install_generator_spec.rb +18 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/integration/integration_generator_spec.rb +44 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/mailer/mailer_generator_spec.rb +48 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/model/model_generator_spec.rb +52 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/observer/observer_generator_spec.rb +21 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/scaffold/scaffold_generator_spec.rb +107 -0
- data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/view/view_generator_spec.rb +41 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/configuration_spec.rb +26 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/deprecations_spec.rb +18 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/controller_example_group_spec.rb +100 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/helper_example_group_spec.rb +64 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/mailer_example_group_spec.rb +21 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/model_example_group_spec.rb +15 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/request_example_group_spec.rb +17 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/routing_example_group_spec.rb +32 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/view_example_group_spec.rb +214 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/extensions/active_model/errors_on_spec.rb +23 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/extensions/active_record/records_spec.rb +9 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/fixture_support_spec.rb +17 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_a_new_spec.rb +142 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_new_record_spec.rb +19 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_routable_spec.rb +41 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/errors_on_spec.rb +38 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/have_rendered_spec.rb +93 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/redirect_to_spec.rb +80 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/relation_match_array_spec.rb +20 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/route_to_spec.rb +152 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/mocks/mock_model_spec.rb +379 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/mocks/stub_model_spec.rb +154 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/setup_and_teardown_adapter_spec.rb +32 -0
- data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/view_rendering_spec.rb +111 -0
- data/support/gems/rspec-rails-2.11.0/spec/spec_helper.rb +31 -0
- data/support/gems/rspec-rails-2.11.0/spec/support/ar_classes.rb +42 -0
- data/support/gems/rspec-rails-2.11.0/spec/support/helpers.rb +20 -0
- data/support/gems/rspec-rails-2.11.0/spec/support/matchers.rb +9 -0
- data/support/specifications/rspec-2.11.0.gemspec +39 -0
- data/support/specifications/rspec-core-2.11.1.gemspec +61 -0
- data/support/specifications/rspec-expectations-2.11.2.gemspec +40 -0
- data/support/specifications/rspec-mocks-2.11.1.gemspec +37 -0
- data/support/specifications/rspec-rails-2.11.0.gemspec +55 -0
- metadata +653 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
# @private
|
4
|
+
module ConstMissing
|
5
|
+
# Used to print deprecation warnings for Rspec and Spec constants (use
|
6
|
+
# RSpec instead)
|
7
|
+
def const_missing(name)
|
8
|
+
case name
|
9
|
+
when :Rspec, :Spec
|
10
|
+
RSpec.warn_deprecation <<-WARNING
|
11
|
+
*****************************************************************
|
12
|
+
DEPRECATION WARNING: you are using a deprecated constant that will
|
13
|
+
be removed from a future version of RSpec.
|
14
|
+
|
15
|
+
#{caller(0)[2]}
|
16
|
+
|
17
|
+
* #{name} is deprecated.
|
18
|
+
* RSpec is the new top-level module in RSpec-2
|
19
|
+
*****************************************************************
|
20
|
+
WARNING
|
21
|
+
RSpec
|
22
|
+
else
|
23
|
+
begin
|
24
|
+
super
|
25
|
+
rescue Exception => e
|
26
|
+
e.backtrace.reject! {|l| l =~ Regexp.compile(__FILE__) }
|
27
|
+
raise e
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
module Runner
|
35
|
+
# @deprecated use RSpec.configure instead.
|
36
|
+
def self.configure(&block)
|
37
|
+
RSpec.deprecate("Spec::Runner.configure", "RSpec.configure")
|
38
|
+
RSpec.configure(&block)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# @private
|
43
|
+
module Rake
|
44
|
+
# Used to print deprecation warnings for Rake::SpecTask constant (use
|
45
|
+
# RSpec::Core::RakeTask instead)
|
46
|
+
def self.const_missing(name)
|
47
|
+
case name
|
48
|
+
when :SpecTask
|
49
|
+
RSpec.deprecate("Spec::Rake::SpecTask", "RSpec::Core::RakeTask")
|
50
|
+
require 'rspec/core/rake_task'
|
51
|
+
RSpec::Core::RakeTask
|
52
|
+
else
|
53
|
+
begin
|
54
|
+
super
|
55
|
+
rescue Exception => e
|
56
|
+
e.backtrace.reject! {|l| l =~ Regexp.compile(__FILE__) }
|
57
|
+
raise e
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
Object.extend(RSpec::Core::ConstMissing)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
class CommandLine
|
4
|
+
def initialize(options, configuration=RSpec::configuration, world=RSpec::world)
|
5
|
+
if Array === options
|
6
|
+
options = ConfigurationOptions.new(options)
|
7
|
+
options.parse_options
|
8
|
+
end
|
9
|
+
@options = options
|
10
|
+
@configuration = configuration
|
11
|
+
@world = world
|
12
|
+
end
|
13
|
+
|
14
|
+
# Configures and runs a suite
|
15
|
+
#
|
16
|
+
# @param [IO] err
|
17
|
+
# @param [IO] out
|
18
|
+
def run(err, out)
|
19
|
+
@configuration.error_stream = err
|
20
|
+
@configuration.output_stream ||= out
|
21
|
+
@options.configure(@configuration)
|
22
|
+
@configuration.load_spec_files
|
23
|
+
@world.announce_filters
|
24
|
+
|
25
|
+
@configuration.reporter.report(@world.example_count, @configuration.randomize? ? @configuration.seed : nil) do |reporter|
|
26
|
+
begin
|
27
|
+
@configuration.run_hook(:before, :suite)
|
28
|
+
@world.example_groups.ordered.map {|g| g.run(reporter)}.all? ? 0 : @configuration.failure_exit_code
|
29
|
+
ensure
|
30
|
+
@configuration.run_hook(:after, :suite)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,944 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
module RSpec
|
4
|
+
module Core
|
5
|
+
# Stores runtime configuration information.
|
6
|
+
#
|
7
|
+
# @example Standard settings
|
8
|
+
# RSpec.configure do |c|
|
9
|
+
# c.drb = true
|
10
|
+
# c.drb_port = 1234
|
11
|
+
# c.default_path = 'behavior'
|
12
|
+
# end
|
13
|
+
#
|
14
|
+
# @example Hooks
|
15
|
+
# RSpec.configure do |c|
|
16
|
+
# c.before(:suite) { establish_connection }
|
17
|
+
# c.before(:each) { log_in_as :authorized }
|
18
|
+
# c.around(:each) { |ex| Database.transaction(&ex) }
|
19
|
+
# end
|
20
|
+
#
|
21
|
+
# @see RSpec.configure
|
22
|
+
# @see Hooks
|
23
|
+
class Configuration
|
24
|
+
include RSpec::Core::Hooks
|
25
|
+
|
26
|
+
class MustBeConfiguredBeforeExampleGroupsError < StandardError; end
|
27
|
+
|
28
|
+
# @private
|
29
|
+
def self.define_reader(name)
|
30
|
+
eval <<-CODE
|
31
|
+
def #{name}
|
32
|
+
value_for(#{name.inspect}, defined?(@#{name}) ? @#{name} : nil)
|
33
|
+
end
|
34
|
+
CODE
|
35
|
+
end
|
36
|
+
|
37
|
+
# @private
|
38
|
+
def self.deprecate_alias_key
|
39
|
+
RSpec.warn_deprecation <<-MESSAGE
|
40
|
+
The :alias option to add_setting is deprecated. Use :alias_with on the original setting instead.
|
41
|
+
Called from #{caller(0)[5]}
|
42
|
+
MESSAGE
|
43
|
+
end
|
44
|
+
|
45
|
+
# @private
|
46
|
+
def self.define_aliases(name, alias_name)
|
47
|
+
alias_method alias_name, name
|
48
|
+
alias_method "#{alias_name}=", "#{name}="
|
49
|
+
define_predicate_for alias_name
|
50
|
+
end
|
51
|
+
|
52
|
+
# @private
|
53
|
+
def self.define_predicate_for(*names)
|
54
|
+
names.each {|name| alias_method "#{name}?", name}
|
55
|
+
end
|
56
|
+
|
57
|
+
# @private
|
58
|
+
#
|
59
|
+
# Invoked by the `add_setting` instance method. Use that method on a
|
60
|
+
# `Configuration` instance rather than this class method.
|
61
|
+
def self.add_setting(name, opts={})
|
62
|
+
raise "Use the instance add_setting method if you want to set a default" if opts.has_key?(:default)
|
63
|
+
if opts[:alias]
|
64
|
+
deprecate_alias_key
|
65
|
+
define_aliases(opts[:alias], name)
|
66
|
+
else
|
67
|
+
attr_writer name
|
68
|
+
define_reader name
|
69
|
+
define_predicate_for name
|
70
|
+
end
|
71
|
+
[opts[:alias_with]].flatten.compact.each do |alias_name|
|
72
|
+
define_aliases(name, alias_name)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# @macro [attach] add_setting
|
77
|
+
# @attribute $1
|
78
|
+
# Patterns to match against lines in backtraces presented in failure
|
79
|
+
# messages in order to filter them out (default:
|
80
|
+
# DEFAULT_BACKTRACE_PATTERNS). You can either replace this list using
|
81
|
+
# the setter or modify it using the getter.
|
82
|
+
#
|
83
|
+
# To override this behavior and display a full backtrace, use
|
84
|
+
# `--backtrace` on the command line, in a `.rspec` file, or in the
|
85
|
+
# `rspec_options` attribute of RSpec's rake task.
|
86
|
+
add_setting :backtrace_clean_patterns
|
87
|
+
|
88
|
+
# Path to use if no path is provided to the `rspec` command (default:
|
89
|
+
# `"spec"`). Allows you to just type `rspec` instead of `rspec spec` to
|
90
|
+
# run all the examples in the `spec` directory.
|
91
|
+
add_setting :default_path
|
92
|
+
|
93
|
+
# Run examples over DRb (default: `false`). RSpec doesn't supply the DRb
|
94
|
+
# server, but you can use tools like spork.
|
95
|
+
add_setting :drb
|
96
|
+
|
97
|
+
# The drb_port (default: `8989`).
|
98
|
+
add_setting :drb_port
|
99
|
+
|
100
|
+
# Default: `$stderr`.
|
101
|
+
add_setting :error_stream
|
102
|
+
|
103
|
+
# Clean up and exit after the first failure (default: `false`).
|
104
|
+
add_setting :fail_fast
|
105
|
+
|
106
|
+
# The exit code to return if there are any failures (default: 1).
|
107
|
+
add_setting :failure_exit_code
|
108
|
+
|
109
|
+
# Determines the order in which examples are run (default: OS standard
|
110
|
+
# load order for files, declaration order for groups and examples).
|
111
|
+
define_reader :order
|
112
|
+
|
113
|
+
# Default: `$stdout`.
|
114
|
+
# Also known as `output` and `out`
|
115
|
+
add_setting :output_stream, :alias_with => [:output, :out]
|
116
|
+
|
117
|
+
# Load files matching this pattern (default: `'**/*_spec.rb'`)
|
118
|
+
add_setting :pattern, :alias_with => :filename_pattern
|
119
|
+
|
120
|
+
# Report the times for the 10 slowest examples (default: `false`).
|
121
|
+
add_setting :profile_examples
|
122
|
+
|
123
|
+
# Run all examples if none match the configured filters (default: `false`).
|
124
|
+
add_setting :run_all_when_everything_filtered
|
125
|
+
|
126
|
+
# Seed for random ordering (default: generated randomly each run).
|
127
|
+
#
|
128
|
+
# When you run specs with `--order random`, RSpec generates a random seed
|
129
|
+
# for the randomization and prints it to the `output_stream` (assuming
|
130
|
+
# you're using RSpec's built-in formatters). If you discover an ordering
|
131
|
+
# dependency (i.e. examples fail intermittently depending on order), set
|
132
|
+
# this (on Configuration or on the command line with `--seed`) to run
|
133
|
+
# using the same seed while you debug the issue.
|
134
|
+
#
|
135
|
+
# We recommend, actually, that you use the command line approach so you
|
136
|
+
# don't accidentally leave the seed encoded.
|
137
|
+
define_reader :seed
|
138
|
+
|
139
|
+
# When a block passed to pending fails (as expected), display the failure
|
140
|
+
# without reporting it as a failure (default: false).
|
141
|
+
add_setting :show_failures_in_pending_blocks
|
142
|
+
|
143
|
+
# Convert symbols to hashes with the symbol as a key with a value of
|
144
|
+
# `true` (default: false).
|
145
|
+
#
|
146
|
+
# This allows you to tag a group or example like this:
|
147
|
+
#
|
148
|
+
# describe "something slow", :slow do
|
149
|
+
# # ...
|
150
|
+
# end
|
151
|
+
#
|
152
|
+
# ... instead of having to type:
|
153
|
+
#
|
154
|
+
# describe "something slow", :slow => true do
|
155
|
+
# # ...
|
156
|
+
# end
|
157
|
+
add_setting :treat_symbols_as_metadata_keys_with_true_values
|
158
|
+
|
159
|
+
# @private
|
160
|
+
add_setting :tty
|
161
|
+
# @private
|
162
|
+
add_setting :include_or_extend_modules
|
163
|
+
# @private
|
164
|
+
add_setting :files_to_run
|
165
|
+
# @private
|
166
|
+
add_setting :expecting_with_rspec
|
167
|
+
# @private
|
168
|
+
attr_accessor :filter_manager
|
169
|
+
|
170
|
+
DEFAULT_BACKTRACE_PATTERNS = [
|
171
|
+
/\/lib\d*\/ruby\//,
|
172
|
+
/org\/jruby\//,
|
173
|
+
/bin\//,
|
174
|
+
/gems/,
|
175
|
+
/spec\/spec_helper\.rb/,
|
176
|
+
/lib\/rspec\/(core|expectations|matchers|mocks)/
|
177
|
+
]
|
178
|
+
|
179
|
+
def initialize
|
180
|
+
@expectation_frameworks = []
|
181
|
+
@include_or_extend_modules = []
|
182
|
+
@mock_framework = nil
|
183
|
+
@files_to_run = []
|
184
|
+
@formatters = []
|
185
|
+
@color = false
|
186
|
+
@pattern = '**/*_spec.rb'
|
187
|
+
@failure_exit_code = 1
|
188
|
+
@backtrace_clean_patterns = DEFAULT_BACKTRACE_PATTERNS.dup
|
189
|
+
@default_path = 'spec'
|
190
|
+
@filter_manager = FilterManager.new
|
191
|
+
@preferred_options = {}
|
192
|
+
@seed = srand % 0xFFFF
|
193
|
+
end
|
194
|
+
|
195
|
+
# @private
|
196
|
+
#
|
197
|
+
# Used to set higher priority option values from the command line.
|
198
|
+
def force(hash)
|
199
|
+
if hash.has_key?(:seed)
|
200
|
+
hash[:order], hash[:seed] = order_and_seed_from_seed(hash[:seed])
|
201
|
+
elsif hash.has_key?(:order)
|
202
|
+
set_order_and_seed(hash)
|
203
|
+
end
|
204
|
+
@preferred_options.merge!(hash)
|
205
|
+
end
|
206
|
+
|
207
|
+
# @private
|
208
|
+
def reset
|
209
|
+
@reporter = nil
|
210
|
+
@formatters.clear
|
211
|
+
end
|
212
|
+
|
213
|
+
# @overload add_setting(name)
|
214
|
+
# @overload add_setting(name, opts)
|
215
|
+
# @option opts [Symbol] :default
|
216
|
+
#
|
217
|
+
# set a default value for the generated getter and predicate methods:
|
218
|
+
#
|
219
|
+
# add_setting(:foo, :default => "default value")
|
220
|
+
#
|
221
|
+
# @option opts [Symbol] :alias_with
|
222
|
+
#
|
223
|
+
# Use `:alias_with` to alias the setter, getter, and predicate to another
|
224
|
+
# name, or names:
|
225
|
+
#
|
226
|
+
# add_setting(:foo, :alias_with => :bar)
|
227
|
+
# add_setting(:foo, :alias_with => [:bar, :baz])
|
228
|
+
#
|
229
|
+
# Adds a custom setting to the RSpec.configuration object.
|
230
|
+
#
|
231
|
+
# RSpec.configuration.add_setting :foo
|
232
|
+
#
|
233
|
+
# Used internally and by extension frameworks like rspec-rails, so they
|
234
|
+
# can add config settings that are domain specific. For example:
|
235
|
+
#
|
236
|
+
# RSpec.configure do |c|
|
237
|
+
# c.add_setting :use_transactional_fixtures,
|
238
|
+
# :default => true,
|
239
|
+
# :alias_with => :use_transactional_examples
|
240
|
+
# end
|
241
|
+
#
|
242
|
+
# `add_setting` creates three methods on the configuration object, a
|
243
|
+
# setter, a getter, and a predicate:
|
244
|
+
#
|
245
|
+
# RSpec.configuration.foo=(value)
|
246
|
+
# RSpec.configuration.foo
|
247
|
+
# RSpec.configuration.foo? # returns true if foo returns anything but nil or false
|
248
|
+
def add_setting(name, opts={})
|
249
|
+
default = opts.delete(:default)
|
250
|
+
(class << self; self; end).class_eval do
|
251
|
+
add_setting(name, opts)
|
252
|
+
end
|
253
|
+
send("#{name}=", default) if default
|
254
|
+
end
|
255
|
+
|
256
|
+
# Used by formatters to ask whether a backtrace line should be displayed
|
257
|
+
# or not, based on the line matching any `backtrace_clean_patterns`.
|
258
|
+
def cleaned_from_backtrace?(line)
|
259
|
+
# TODO (David 2011-12-25) why are we asking the configuration to do
|
260
|
+
# stuff? Either use the patterns directly or enapsulate the filtering
|
261
|
+
# in a BacktraceCleaner object.
|
262
|
+
backtrace_clean_patterns.any? { |regex| line =~ regex }
|
263
|
+
end
|
264
|
+
|
265
|
+
# Returns the configured mock framework adapter module
|
266
|
+
def mock_framework
|
267
|
+
mock_with :rspec unless @mock_framework
|
268
|
+
@mock_framework
|
269
|
+
end
|
270
|
+
|
271
|
+
# Delegates to mock_framework=(framework)
|
272
|
+
def mock_framework=(framework)
|
273
|
+
mock_with framework
|
274
|
+
end
|
275
|
+
|
276
|
+
# Sets the mock framework adapter module.
|
277
|
+
#
|
278
|
+
# `framework` can be a Symbol or a Module.
|
279
|
+
#
|
280
|
+
# Given any of `:rspec`, `:mocha`, `:flexmock`, or `:rr`, configures the
|
281
|
+
# named framework.
|
282
|
+
#
|
283
|
+
# Given `:nothing`, configures no framework. Use this if you don't use
|
284
|
+
# any mocking framework to save a little bit of overhead.
|
285
|
+
#
|
286
|
+
# Given a Module, includes that module in every example group. The module
|
287
|
+
# should adhere to RSpec's mock framework adapter API:
|
288
|
+
#
|
289
|
+
# setup_mocks_for_rspec
|
290
|
+
# - called before each example
|
291
|
+
#
|
292
|
+
# verify_mocks_for_rspec
|
293
|
+
# - called after each example. Framework should raise an exception
|
294
|
+
# when expectations fail
|
295
|
+
#
|
296
|
+
# teardown_mocks_for_rspec
|
297
|
+
# - called after verify_mocks_for_rspec (even if there are errors)
|
298
|
+
#
|
299
|
+
# If the module responds to `configuration` and `mock_with` receives a block,
|
300
|
+
# it will yield the configuration object to the block e.g.
|
301
|
+
#
|
302
|
+
# config.mock_with OtherMockFrameworkAdapter do |mod_config|
|
303
|
+
# mod_config.custom_setting = true
|
304
|
+
# end
|
305
|
+
def mock_with(framework)
|
306
|
+
framework_module = case framework
|
307
|
+
when Module
|
308
|
+
framework
|
309
|
+
when String, Symbol
|
310
|
+
require case framework.to_s
|
311
|
+
when /rspec/i
|
312
|
+
'rspec/core/mocking/with_rspec'
|
313
|
+
when /mocha/i
|
314
|
+
'rspec/core/mocking/with_mocha'
|
315
|
+
when /rr/i
|
316
|
+
'rspec/core/mocking/with_rr'
|
317
|
+
when /flexmock/i
|
318
|
+
'rspec/core/mocking/with_flexmock'
|
319
|
+
else
|
320
|
+
'rspec/core/mocking/with_absolutely_nothing'
|
321
|
+
end
|
322
|
+
RSpec::Core::MockFrameworkAdapter
|
323
|
+
end
|
324
|
+
|
325
|
+
new_name, old_name = [framework_module, @mock_framework].map do |mod|
|
326
|
+
mod.respond_to?(:framework_name) ? mod.framework_name : :unnamed
|
327
|
+
end
|
328
|
+
|
329
|
+
unless new_name == old_name
|
330
|
+
assert_no_example_groups_defined(:mock_framework)
|
331
|
+
end
|
332
|
+
|
333
|
+
if block_given?
|
334
|
+
raise "#{framework_module} must respond to `configuration` so that mock_with can yield it." unless framework_module.respond_to?(:configuration)
|
335
|
+
yield framework_module.configuration
|
336
|
+
end
|
337
|
+
|
338
|
+
@mock_framework = framework_module
|
339
|
+
end
|
340
|
+
|
341
|
+
# Returns the configured expectation framework adapter module(s)
|
342
|
+
def expectation_frameworks
|
343
|
+
expect_with :rspec if @expectation_frameworks.empty?
|
344
|
+
@expectation_frameworks
|
345
|
+
end
|
346
|
+
|
347
|
+
# Delegates to expect_with(framework)
|
348
|
+
def expectation_framework=(framework)
|
349
|
+
expect_with(framework)
|
350
|
+
end
|
351
|
+
|
352
|
+
# Sets the expectation framework module(s) to be included in each example
|
353
|
+
# group.
|
354
|
+
#
|
355
|
+
# `frameworks` can be `:rspec`, `:stdlib`, a custom module, or any
|
356
|
+
# combination thereof:
|
357
|
+
#
|
358
|
+
# config.expect_with :rspec
|
359
|
+
# config.expect_with :stdlib
|
360
|
+
# config.expect_with :rspec, :stdlib
|
361
|
+
# config.expect_with OtherExpectationFramework
|
362
|
+
#
|
363
|
+
# RSpec will translate `:rspec` and `:stdlib` into the appropriate
|
364
|
+
# modules.
|
365
|
+
#
|
366
|
+
# ## Configuration
|
367
|
+
#
|
368
|
+
# If the module responds to `configuration`, `expect_with` will
|
369
|
+
# yield the `configuration` object if given a block:
|
370
|
+
#
|
371
|
+
# config.expect_with OtherExpectationFramework do |custom_config|
|
372
|
+
# custom_config.custom_setting = true
|
373
|
+
# end
|
374
|
+
def expect_with(*frameworks)
|
375
|
+
modules = frameworks.map do |framework|
|
376
|
+
case framework
|
377
|
+
when Module
|
378
|
+
framework
|
379
|
+
when :rspec
|
380
|
+
require 'rspec/expectations'
|
381
|
+
self.expecting_with_rspec = true
|
382
|
+
::RSpec::Matchers
|
383
|
+
when :stdlib
|
384
|
+
require 'test/unit/assertions'
|
385
|
+
::Test::Unit::Assertions
|
386
|
+
else
|
387
|
+
raise ArgumentError, "#{framework.inspect} is not supported"
|
388
|
+
end
|
389
|
+
end
|
390
|
+
|
391
|
+
if (modules - @expectation_frameworks).any?
|
392
|
+
assert_no_example_groups_defined(:expect_with)
|
393
|
+
end
|
394
|
+
|
395
|
+
if block_given?
|
396
|
+
raise "expect_with only accepts a block with a single argument. Call expect_with #{modules.length} times, once with each argument, instead." if modules.length > 1
|
397
|
+
raise "#{modules.first} must respond to `configuration` so that expect_with can yield it." unless modules.first.respond_to?(:configuration)
|
398
|
+
yield modules.first.configuration
|
399
|
+
end
|
400
|
+
|
401
|
+
@expectation_frameworks.push(*modules)
|
402
|
+
end
|
403
|
+
|
404
|
+
def full_backtrace=(true_or_false)
|
405
|
+
@backtrace_clean_patterns = true_or_false ? [] : DEFAULT_BACKTRACE_PATTERNS
|
406
|
+
end
|
407
|
+
|
408
|
+
def color
|
409
|
+
return false unless output_to_tty?
|
410
|
+
value_for(:color, @color)
|
411
|
+
end
|
412
|
+
|
413
|
+
def color=(bool)
|
414
|
+
if bool
|
415
|
+
@color = true
|
416
|
+
if RSpec.windows_os? and not ENV['ANSICON']
|
417
|
+
warn "You must use ANSICON 1.31 or later (http://adoxa.110mb.com/ansicon/) to use colour on Windows"
|
418
|
+
@color = false
|
419
|
+
end
|
420
|
+
end
|
421
|
+
end
|
422
|
+
|
423
|
+
# TODO - deprecate color_enabled - probably not until the last 2.x
|
424
|
+
# release before 3.0
|
425
|
+
alias_method :color_enabled, :color
|
426
|
+
alias_method :color_enabled=, :color=
|
427
|
+
define_predicate_for :color_enabled, :color
|
428
|
+
|
429
|
+
def libs=(libs)
|
430
|
+
libs.map {|lib| $LOAD_PATH.unshift lib}
|
431
|
+
end
|
432
|
+
|
433
|
+
def requires=(paths)
|
434
|
+
paths.map {|path| require path}
|
435
|
+
end
|
436
|
+
|
437
|
+
def debug=(bool)
|
438
|
+
return unless bool
|
439
|
+
begin
|
440
|
+
require 'ruby-debug'
|
441
|
+
Debugger.start
|
442
|
+
rescue LoadError => e
|
443
|
+
raise <<-EOM
|
444
|
+
|
445
|
+
#{'*'*50}
|
446
|
+
#{e.message}
|
447
|
+
|
448
|
+
If you have it installed as a ruby gem, then you need to either require
|
449
|
+
'rubygems' or configure the RUBYOPT environment variable with the value
|
450
|
+
'rubygems'.
|
451
|
+
|
452
|
+
#{e.backtrace.join("\n")}
|
453
|
+
#{'*'*50}
|
454
|
+
EOM
|
455
|
+
end
|
456
|
+
end
|
457
|
+
|
458
|
+
# Run examples defined on `line_numbers` in all files to run.
|
459
|
+
def line_numbers=(line_numbers)
|
460
|
+
filter_run :line_numbers => line_numbers.map{|l| l.to_i}
|
461
|
+
end
|
462
|
+
|
463
|
+
def full_description=(description)
|
464
|
+
filter_run :full_description => Regexp.union(*Array(description).map {|d| Regexp.new(d) })
|
465
|
+
end
|
466
|
+
|
467
|
+
# @overload add_formatter(formatter)
|
468
|
+
#
|
469
|
+
# Adds a formatter to the formatters collection. `formatter` can be a
|
470
|
+
# string representing any of the built-in formatters (see
|
471
|
+
# `built_in_formatter`), or a custom formatter class.
|
472
|
+
#
|
473
|
+
# ### Note
|
474
|
+
#
|
475
|
+
# For internal purposes, `add_formatter` also accepts the name of a class
|
476
|
+
# and path to a file that contains that class definition, but you should
|
477
|
+
# consider that a private api that may change at any time without notice.
|
478
|
+
def add_formatter(formatter_to_use, path=nil)
|
479
|
+
formatter_class =
|
480
|
+
built_in_formatter(formatter_to_use) ||
|
481
|
+
custom_formatter(formatter_to_use) ||
|
482
|
+
(raise ArgumentError, "Formatter '#{formatter_to_use}' unknown - maybe you meant 'documentation' or 'progress'?.")
|
483
|
+
|
484
|
+
formatters << formatter_class.new(path ? file_at(path) : output)
|
485
|
+
end
|
486
|
+
|
487
|
+
alias_method :formatter=, :add_formatter
|
488
|
+
|
489
|
+
def formatters
|
490
|
+
@formatters ||= []
|
491
|
+
end
|
492
|
+
|
493
|
+
def reporter
|
494
|
+
@reporter ||= begin
|
495
|
+
add_formatter('progress') if formatters.empty?
|
496
|
+
Reporter.new(*formatters)
|
497
|
+
end
|
498
|
+
end
|
499
|
+
|
500
|
+
# @private
|
501
|
+
def files_or_directories_to_run=(*files)
|
502
|
+
files = files.flatten
|
503
|
+
files << default_path if command == 'rspec' && default_path && files.empty?
|
504
|
+
self.files_to_run = get_files_to_run(files)
|
505
|
+
end
|
506
|
+
|
507
|
+
# Creates a method that delegates to `example` including the submitted
|
508
|
+
# `args`. Used internally to add variants of `example` like `pending`:
|
509
|
+
#
|
510
|
+
# @example
|
511
|
+
# alias_example_to :pending, :pending => true
|
512
|
+
#
|
513
|
+
# # This lets you do this:
|
514
|
+
#
|
515
|
+
# describe Thing do
|
516
|
+
# pending "does something" do
|
517
|
+
# thing = Thing.new
|
518
|
+
# end
|
519
|
+
# end
|
520
|
+
#
|
521
|
+
# # ... which is the equivalent of
|
522
|
+
#
|
523
|
+
# describe Thing do
|
524
|
+
# it "does something", :pending => true do
|
525
|
+
# thing = Thing.new
|
526
|
+
# end
|
527
|
+
# end
|
528
|
+
def alias_example_to(new_name, *args)
|
529
|
+
extra_options = build_metadata_hash_from(args)
|
530
|
+
RSpec::Core::ExampleGroup.alias_example_to(new_name, extra_options)
|
531
|
+
end
|
532
|
+
|
533
|
+
# Define an alias for it_should_behave_like that allows different
|
534
|
+
# language (like "it_has_behavior" or "it_behaves_like") to be
|
535
|
+
# employed when including shared examples.
|
536
|
+
#
|
537
|
+
# Example:
|
538
|
+
#
|
539
|
+
# alias_it_behaves_like_to(:it_has_behavior, 'has behavior:')
|
540
|
+
#
|
541
|
+
# allows the user to include a shared example group like:
|
542
|
+
#
|
543
|
+
# describe Entity do
|
544
|
+
# it_has_behavior 'sortability' do
|
545
|
+
# let(:sortable) { Entity.new }
|
546
|
+
# end
|
547
|
+
# end
|
548
|
+
#
|
549
|
+
# which is reported in the output as:
|
550
|
+
#
|
551
|
+
# Entity
|
552
|
+
# has behavior: sortability
|
553
|
+
# # sortability examples here
|
554
|
+
def alias_it_behaves_like_to(new_name, report_label = '')
|
555
|
+
RSpec::Core::ExampleGroup.alias_it_behaves_like_to(new_name, report_label)
|
556
|
+
end
|
557
|
+
|
558
|
+
alias_method :alias_it_should_behave_like_to, :alias_it_behaves_like_to
|
559
|
+
|
560
|
+
# Adds key/value pairs to the `inclusion_filter`. If the
|
561
|
+
# `treat_symbols_as_metadata_keys_with_true_values` config option is set
|
562
|
+
# to true and `args` includes any symbols that are not part of a hash,
|
563
|
+
# each symbol is treated as a key in the hash with the value `true`.
|
564
|
+
#
|
565
|
+
# ### Note
|
566
|
+
#
|
567
|
+
# Filters set using this method can be overridden from the command line
|
568
|
+
# or config files (e.g. `.rspec`).
|
569
|
+
#
|
570
|
+
# @example
|
571
|
+
# # given this declaration
|
572
|
+
# describe "something", :foo => 'bar' do
|
573
|
+
# # ...
|
574
|
+
# end
|
575
|
+
#
|
576
|
+
# # any of the following will include that group
|
577
|
+
# config.filter_run_including :foo => 'bar'
|
578
|
+
# config.filter_run_including :foo => /^ba/
|
579
|
+
# config.filter_run_including :foo => lambda {|v| v == 'bar'}
|
580
|
+
# config.filter_run_including :foo => lambda {|v,m| m[:foo] == 'bar'}
|
581
|
+
#
|
582
|
+
# # given a proc with an arity of 1, the lambda is passed the value related to the key, e.g.
|
583
|
+
# config.filter_run_including :foo => lambda {|v| v == 'bar'}
|
584
|
+
#
|
585
|
+
# # given a proc with an arity of 2, the lambda is passed the value related to the key,
|
586
|
+
# # and the metadata itself e.g.
|
587
|
+
# config.filter_run_including :foo => lambda {|v,m| m[:foo] == 'bar'}
|
588
|
+
#
|
589
|
+
# # with treat_symbols_as_metadata_keys_with_true_values = true
|
590
|
+
# filter_run_including :foo # same as filter_run_including :foo => true
|
591
|
+
def filter_run_including(*args)
|
592
|
+
filter_manager.include_with_low_priority build_metadata_hash_from(args)
|
593
|
+
end
|
594
|
+
|
595
|
+
alias_method :filter_run, :filter_run_including
|
596
|
+
|
597
|
+
# Clears and reassigns the `inclusion_filter`. Set to `nil` if you don't
|
598
|
+
# want any inclusion filter at all.
|
599
|
+
#
|
600
|
+
# ### Warning
|
601
|
+
#
|
602
|
+
# This overrides any inclusion filters/tags set on the command line or in
|
603
|
+
# configuration files.
|
604
|
+
def inclusion_filter=(filter)
|
605
|
+
filter_manager.include! build_metadata_hash_from([filter])
|
606
|
+
end
|
607
|
+
|
608
|
+
alias_method :filter=, :inclusion_filter=
|
609
|
+
|
610
|
+
# Returns the `inclusion_filter`. If none has been set, returns an empty
|
611
|
+
# hash.
|
612
|
+
def inclusion_filter
|
613
|
+
filter_manager.inclusions
|
614
|
+
end
|
615
|
+
|
616
|
+
alias_method :filter, :inclusion_filter
|
617
|
+
|
618
|
+
# Adds key/value pairs to the `exclusion_filter`. If the
|
619
|
+
# `treat_symbols_as_metadata_keys_with_true_values` config option is set
|
620
|
+
# to true and `args` excludes any symbols that are not part of a hash,
|
621
|
+
# each symbol is treated as a key in the hash with the value `true`.
|
622
|
+
#
|
623
|
+
# ### Note
|
624
|
+
#
|
625
|
+
# Filters set using this method can be overridden from the command line
|
626
|
+
# or config files (e.g. `.rspec`).
|
627
|
+
#
|
628
|
+
# @example
|
629
|
+
# # given this declaration
|
630
|
+
# describe "something", :foo => 'bar' do
|
631
|
+
# # ...
|
632
|
+
# end
|
633
|
+
#
|
634
|
+
# # any of the following will exclude that group
|
635
|
+
# config.filter_run_excluding :foo => 'bar'
|
636
|
+
# config.filter_run_excluding :foo => /^ba/
|
637
|
+
# config.filter_run_excluding :foo => lambda {|v| v == 'bar'}
|
638
|
+
# config.filter_run_excluding :foo => lambda {|v,m| m[:foo] == 'bar'}
|
639
|
+
#
|
640
|
+
# # given a proc with an arity of 1, the lambda is passed the value related to the key, e.g.
|
641
|
+
# config.filter_run_excluding :foo => lambda {|v| v == 'bar'}
|
642
|
+
#
|
643
|
+
# # given a proc with an arity of 2, the lambda is passed the value related to the key,
|
644
|
+
# # and the metadata itself e.g.
|
645
|
+
# config.filter_run_excluding :foo => lambda {|v,m| m[:foo] == 'bar'}
|
646
|
+
#
|
647
|
+
# # with treat_symbols_as_metadata_keys_with_true_values = true
|
648
|
+
# filter_run_excluding :foo # same as filter_run_excluding :foo => true
|
649
|
+
def filter_run_excluding(*args)
|
650
|
+
filter_manager.exclude_with_low_priority build_metadata_hash_from(args)
|
651
|
+
end
|
652
|
+
|
653
|
+
# Clears and reassigns the `exclusion_filter`. Set to `nil` if you don't
|
654
|
+
# want any exclusion filter at all.
|
655
|
+
#
|
656
|
+
# ### Warning
|
657
|
+
#
|
658
|
+
# This overrides any exclusion filters/tags set on the command line or in
|
659
|
+
# configuration files.
|
660
|
+
def exclusion_filter=(filter)
|
661
|
+
filter_manager.exclude! build_metadata_hash_from([filter])
|
662
|
+
end
|
663
|
+
|
664
|
+
# Returns the `exclusion_filter`. If none has been set, returns an empty
|
665
|
+
# hash.
|
666
|
+
def exclusion_filter
|
667
|
+
filter_manager.exclusions
|
668
|
+
end
|
669
|
+
|
670
|
+
# Tells RSpec to include `mod` in example groups. Methods defined in
|
671
|
+
# `mod` are exposed to examples (not example groups). Use `filters` to
|
672
|
+
# constrain the groups in which to include the module.
|
673
|
+
#
|
674
|
+
# @example
|
675
|
+
#
|
676
|
+
# module AuthenticationHelpers
|
677
|
+
# def login_as(user)
|
678
|
+
# # ...
|
679
|
+
# end
|
680
|
+
# end
|
681
|
+
#
|
682
|
+
# module UserHelpers
|
683
|
+
# def users(username)
|
684
|
+
# # ...
|
685
|
+
# end
|
686
|
+
# end
|
687
|
+
#
|
688
|
+
# RSpec.configure do |config|
|
689
|
+
# config.include(UserHelpers) # included in all modules
|
690
|
+
# config.include(AuthenticationHelpers, :type => :request)
|
691
|
+
# end
|
692
|
+
#
|
693
|
+
# describe "edit profile", :type => :request do
|
694
|
+
# it "can be viewed by owning user" do
|
695
|
+
# login_as users(:jdoe)
|
696
|
+
# get "/profiles/jdoe"
|
697
|
+
# assert_select ".username", :text => 'jdoe'
|
698
|
+
# end
|
699
|
+
# end
|
700
|
+
#
|
701
|
+
# @see #extend
|
702
|
+
def include(mod, *filters)
|
703
|
+
include_or_extend_modules << [:include, mod, build_metadata_hash_from(filters)]
|
704
|
+
end
|
705
|
+
|
706
|
+
# Tells RSpec to extend example groups with `mod`. Methods defined in
|
707
|
+
# `mod` are exposed to example groups (not examples). Use `filters` to
|
708
|
+
# constrain the groups to extend.
|
709
|
+
#
|
710
|
+
# Similar to `include`, but behavior is added to example groups, which
|
711
|
+
# are classes, rather than the examples, which are instances of those
|
712
|
+
# classes.
|
713
|
+
#
|
714
|
+
# @example
|
715
|
+
#
|
716
|
+
# module UiHelpers
|
717
|
+
# def run_in_browser
|
718
|
+
# # ...
|
719
|
+
# end
|
720
|
+
# end
|
721
|
+
#
|
722
|
+
# RSpec.configure do |config|
|
723
|
+
# config.extend(UiHelpers, :type => :request)
|
724
|
+
# end
|
725
|
+
#
|
726
|
+
# describe "edit profile", :type => :request do
|
727
|
+
# run_in_browser
|
728
|
+
#
|
729
|
+
# it "does stuff in the client" do
|
730
|
+
# # ...
|
731
|
+
# end
|
732
|
+
# end
|
733
|
+
#
|
734
|
+
# @see #include
|
735
|
+
def extend(mod, *filters)
|
736
|
+
include_or_extend_modules << [:extend, mod, build_metadata_hash_from(filters)]
|
737
|
+
end
|
738
|
+
|
739
|
+
# @private
|
740
|
+
#
|
741
|
+
# Used internally to extend a group with modules using `include` and/or
|
742
|
+
# `extend`.
|
743
|
+
def configure_group(group)
|
744
|
+
include_or_extend_modules.each do |include_or_extend, mod, filters|
|
745
|
+
next unless filters.empty? || group.any_apply?(filters)
|
746
|
+
send("safe_#{include_or_extend}", mod, group)
|
747
|
+
end
|
748
|
+
end
|
749
|
+
|
750
|
+
# @private
|
751
|
+
def safe_include(mod, host)
|
752
|
+
host.send(:include,mod) unless host < mod
|
753
|
+
end
|
754
|
+
|
755
|
+
# @private
|
756
|
+
if RUBY_VERSION.to_f >= 1.9
|
757
|
+
def safe_extend(mod, host)
|
758
|
+
host.extend(mod) unless (class << host; self; end) < mod
|
759
|
+
end
|
760
|
+
else
|
761
|
+
def safe_extend(mod, host)
|
762
|
+
host.extend(mod) unless (class << host; self; end).included_modules.include?(mod)
|
763
|
+
end
|
764
|
+
end
|
765
|
+
|
766
|
+
# @private
|
767
|
+
def configure_mock_framework
|
768
|
+
RSpec::Core::ExampleGroup.send(:include, mock_framework)
|
769
|
+
end
|
770
|
+
|
771
|
+
# @private
|
772
|
+
def configure_expectation_framework
|
773
|
+
expectation_frameworks.each do |framework|
|
774
|
+
RSpec::Core::ExampleGroup.send(:include, framework)
|
775
|
+
end
|
776
|
+
end
|
777
|
+
|
778
|
+
# @private
|
779
|
+
def load_spec_files
|
780
|
+
files_to_run.uniq.map {|f| load File.expand_path(f) }
|
781
|
+
raise_if_rspec_1_is_loaded
|
782
|
+
end
|
783
|
+
|
784
|
+
# @api
|
785
|
+
#
|
786
|
+
# Sets the seed value and sets `order='rand'`
|
787
|
+
def seed=(seed)
|
788
|
+
order_and_seed_from_seed(seed)
|
789
|
+
end
|
790
|
+
|
791
|
+
# @api
|
792
|
+
#
|
793
|
+
# Sets the order and, if order is `'rand:<seed>'`, also sets the seed.
|
794
|
+
def order=(type)
|
795
|
+
order_and_seed_from_order(type)
|
796
|
+
end
|
797
|
+
|
798
|
+
def randomize?
|
799
|
+
order.to_s.match(/rand/)
|
800
|
+
end
|
801
|
+
|
802
|
+
private
|
803
|
+
|
804
|
+
def get_files_to_run(paths)
|
805
|
+
patterns = pattern.split(",")
|
806
|
+
paths.map do |path|
|
807
|
+
path = path.gsub(File::ALT_SEPARATOR, File::SEPARATOR) if File::ALT_SEPARATOR
|
808
|
+
File.directory?(path) ? gather_directories(path, patterns) : extract_location(path)
|
809
|
+
end.flatten
|
810
|
+
end
|
811
|
+
|
812
|
+
def gather_directories(path, patterns)
|
813
|
+
patterns.map do |pattern|
|
814
|
+
pattern =~ /^#{path}/ ? Dir[pattern.strip] : Dir["#{path}/{#{pattern.strip}}"]
|
815
|
+
end
|
816
|
+
end
|
817
|
+
|
818
|
+
def extract_location(path)
|
819
|
+
if path =~ /^(.*?)((?:\:\d+)+)$/
|
820
|
+
path, lines = $1, $2[1..-1].split(":").map{|n| n.to_i}
|
821
|
+
filter_manager.add_location path, lines
|
822
|
+
end
|
823
|
+
path
|
824
|
+
end
|
825
|
+
|
826
|
+
def command
|
827
|
+
$0.split(File::SEPARATOR).last
|
828
|
+
end
|
829
|
+
|
830
|
+
def value_for(key, default=nil)
|
831
|
+
@preferred_options.has_key?(key) ? @preferred_options[key] : default
|
832
|
+
end
|
833
|
+
|
834
|
+
def assert_no_example_groups_defined(config_option)
|
835
|
+
if RSpec.world.example_groups.any?
|
836
|
+
raise MustBeConfiguredBeforeExampleGroupsError.new(
|
837
|
+
"RSpec's #{config_option} configuration option must be configured before " +
|
838
|
+
"any example groups are defined, but you have already defined a group."
|
839
|
+
)
|
840
|
+
end
|
841
|
+
end
|
842
|
+
|
843
|
+
def raise_if_rspec_1_is_loaded
|
844
|
+
if defined?(Spec) && defined?(Spec::VERSION::MAJOR) && Spec::VERSION::MAJOR == 1
|
845
|
+
raise <<-MESSAGE
|
846
|
+
|
847
|
+
#{'*'*80}
|
848
|
+
You are running rspec-2, but it seems as though rspec-1 has been loaded as
|
849
|
+
well. This is likely due to a statement like this somewhere in the specs:
|
850
|
+
|
851
|
+
require 'spec'
|
852
|
+
|
853
|
+
Please locate that statement, remove it, and try again.
|
854
|
+
#{'*'*80}
|
855
|
+
MESSAGE
|
856
|
+
end
|
857
|
+
end
|
858
|
+
|
859
|
+
def output_to_tty?
|
860
|
+
begin
|
861
|
+
output_stream.tty? || tty?
|
862
|
+
rescue NoMethodError
|
863
|
+
false
|
864
|
+
end
|
865
|
+
end
|
866
|
+
|
867
|
+
def built_in_formatter(key)
|
868
|
+
case key.to_s
|
869
|
+
when 'd', 'doc', 'documentation', 's', 'n', 'spec', 'nested'
|
870
|
+
require 'rspec/core/formatters/documentation_formatter'
|
871
|
+
RSpec::Core::Formatters::DocumentationFormatter
|
872
|
+
when 'h', 'html'
|
873
|
+
require 'rspec/core/formatters/html_formatter'
|
874
|
+
RSpec::Core::Formatters::HtmlFormatter
|
875
|
+
when 't', 'textmate'
|
876
|
+
require 'rspec/core/formatters/text_mate_formatter'
|
877
|
+
RSpec::Core::Formatters::TextMateFormatter
|
878
|
+
when 'p', 'progress'
|
879
|
+
require 'rspec/core/formatters/progress_formatter'
|
880
|
+
RSpec::Core::Formatters::ProgressFormatter
|
881
|
+
end
|
882
|
+
end
|
883
|
+
|
884
|
+
def custom_formatter(formatter_ref)
|
885
|
+
if Class === formatter_ref
|
886
|
+
formatter_ref
|
887
|
+
elsif string_const?(formatter_ref)
|
888
|
+
begin
|
889
|
+
eval(formatter_ref)
|
890
|
+
rescue NameError
|
891
|
+
require path_for(formatter_ref)
|
892
|
+
eval(formatter_ref)
|
893
|
+
end
|
894
|
+
end
|
895
|
+
end
|
896
|
+
|
897
|
+
def string_const?(str)
|
898
|
+
str.is_a?(String) && /\A[A-Z][a-zA-Z0-9_:]*\z/ =~ str
|
899
|
+
end
|
900
|
+
|
901
|
+
def path_for(const_ref)
|
902
|
+
underscore_with_fix_for_non_standard_rspec_naming(const_ref)
|
903
|
+
end
|
904
|
+
|
905
|
+
def underscore_with_fix_for_non_standard_rspec_naming(string)
|
906
|
+
underscore(string).sub(%r{(^|/)r_spec($|/)}, '\\1rspec\\2')
|
907
|
+
end
|
908
|
+
|
909
|
+
# activesupport/lib/active_support/inflector/methods.rb, line 48
|
910
|
+
def underscore(camel_cased_word)
|
911
|
+
word = camel_cased_word.to_s.dup
|
912
|
+
word.gsub!(/::/, '/')
|
913
|
+
word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
|
914
|
+
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
915
|
+
word.tr!("-", "_")
|
916
|
+
word.downcase!
|
917
|
+
word
|
918
|
+
end
|
919
|
+
|
920
|
+
def file_at(path)
|
921
|
+
FileUtils.mkdir_p(File.dirname(path))
|
922
|
+
File.new(path, 'w')
|
923
|
+
end
|
924
|
+
|
925
|
+
def order_and_seed_from_seed(value)
|
926
|
+
@order, @seed = 'rand', value.to_i
|
927
|
+
end
|
928
|
+
|
929
|
+
def set_order_and_seed(hash)
|
930
|
+
hash[:order], seed = order_and_seed_from_order(hash[:order])
|
931
|
+
hash[:seed] = seed if seed
|
932
|
+
end
|
933
|
+
|
934
|
+
def order_and_seed_from_order(type)
|
935
|
+
order, seed = type.to_s.split(':')
|
936
|
+
@order = order
|
937
|
+
@seed = seed = seed.to_i if seed
|
938
|
+
@order, @seed = nil, nil if order == 'default'
|
939
|
+
return order, seed
|
940
|
+
end
|
941
|
+
|
942
|
+
end
|
943
|
+
end
|
944
|
+
end
|