media-path 0.1
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/CHANGELOG +3 -0
- data/LICENSE +20 -0
- data/README.textile +40 -0
- data/Rakefile +79 -0
- data/TODO.txt +6 -0
- data/deps.rip +5 -0
- data/lib/media-path.rb +269 -0
- data/media-path.gemspec +38 -0
- data/script/spec +14 -0
- data/spec/media-path_spec.rb +158 -0
- data/spec/spec.opts +5 -0
- data/spec/stubs/blog/public/js/moo.js +0 -0
- data/url.rb +20 -0
- data/url_spec.rb +35 -0
- data/vendor/rspec/History.rdoc +1512 -0
- data/vendor/rspec/License.txt +22 -0
- data/vendor/rspec/Manifest.txt +383 -0
- data/vendor/rspec/README.rdoc +55 -0
- data/vendor/rspec/Rakefile +145 -0
- data/vendor/rspec/Ruby1.9.rdoc +31 -0
- data/vendor/rspec/TODO.txt +17 -0
- data/vendor/rspec/Upgrade.rdoc +199 -0
- data/vendor/rspec/bin/autospec +4 -0
- data/vendor/rspec/bin/spec +5 -0
- data/vendor/rspec/cucumber.yml +5 -0
- data/vendor/rspec/examples/failing/README.txt +11 -0
- data/vendor/rspec/examples/failing/diffing_spec.rb +36 -0
- data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +17 -0
- data/vendor/rspec/examples/failing/failure_in_after.rb +10 -0
- data/vendor/rspec/examples/failing/failure_in_before.rb +10 -0
- data/vendor/rspec/examples/failing/mocking_example.rb +38 -0
- data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +26 -0
- data/vendor/rspec/examples/failing/mocking_with_mocha.rb +25 -0
- data/vendor/rspec/examples/failing/mocking_with_rr.rb +27 -0
- data/vendor/rspec/examples/failing/partial_mock_example.rb +18 -0
- data/vendor/rspec/examples/failing/pending_example.rb +7 -0
- data/vendor/rspec/examples/failing/predicate_example.rb +32 -0
- data/vendor/rspec/examples/failing/raising_example.rb +47 -0
- data/vendor/rspec/examples/failing/syntax_error_example.rb +7 -0
- data/vendor/rspec/examples/failing/team_spec.rb +41 -0
- data/vendor/rspec/examples/failing/timeout_behaviour.rb +5 -0
- data/vendor/rspec/examples/passing/custom_formatter.rb +11 -0
- data/vendor/rspec/examples/passing/custom_matchers.rb +54 -0
- data/vendor/rspec/examples/passing/dynamic_spec.rb +7 -0
- data/vendor/rspec/examples/passing/file_accessor.rb +18 -0
- data/vendor/rspec/examples/passing/file_accessor_spec.rb +37 -0
- data/vendor/rspec/examples/passing/filtered_formatter.rb +17 -0
- data/vendor/rspec/examples/passing/filtered_formatter_example.rb +31 -0
- data/vendor/rspec/examples/passing/greeter_spec.rb +30 -0
- data/vendor/rspec/examples/passing/helper_method_example.rb +12 -0
- data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +16 -0
- data/vendor/rspec/examples/passing/io_processor.rb +8 -0
- data/vendor/rspec/examples/passing/io_processor_spec.rb +20 -0
- data/vendor/rspec/examples/passing/mocking_example.rb +25 -0
- data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +26 -0
- data/vendor/rspec/examples/passing/nested_classes_example.rb +35 -0
- data/vendor/rspec/examples/passing/options_example.rb +29 -0
- data/vendor/rspec/examples/passing/options_formatter.rb +20 -0
- data/vendor/rspec/examples/passing/partial_mock_example.rb +27 -0
- data/vendor/rspec/examples/passing/pending_example.rb +18 -0
- data/vendor/rspec/examples/passing/predicate_example.rb +25 -0
- data/vendor/rspec/examples/passing/shared_example_group_example.rb +79 -0
- data/vendor/rspec/examples/passing/shared_stack_examples.rb +36 -0
- data/vendor/rspec/examples/passing/simple_matcher_example.rb +29 -0
- data/vendor/rspec/examples/passing/stack.rb +36 -0
- data/vendor/rspec/examples/passing/stack_spec.rb +63 -0
- data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
- data/vendor/rspec/examples/passing/stubbing_example.rb +67 -0
- data/vendor/rspec/examples/passing/yielding_example.rb +31 -0
- data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
- data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
- data/vendor/rspec/features-pending/heckle/heckle.feature +56 -0
- data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
- data/vendor/rspec/features/command_line/line_number_option.feature +56 -0
- data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
- data/vendor/rspec/features/example_groups/define_example_attribute.feature +41 -0
- data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
- data/vendor/rspec/features/example_groups/implicit_docstrings.feature +59 -0
- data/vendor/rspec/features/example_groups/nested_groups.feature +32 -0
- data/vendor/rspec/features/expectations/customized_message.feature +54 -0
- data/vendor/rspec/features/expectations/expect_change.feature +65 -0
- data/vendor/rspec/features/expectations/expect_error.feature +44 -0
- data/vendor/rspec/features/extensions/custom_example_group.feature +19 -0
- data/vendor/rspec/features/formatters/custom_formatter.feature +30 -0
- data/vendor/rspec/features/interop/examples_and_tests_together.feature +84 -0
- data/vendor/rspec/features/interop/rspec_output.feature +25 -0
- data/vendor/rspec/features/interop/test_but_not_test_unit.feature +26 -0
- data/vendor/rspec/features/interop/test_case_with_should_methods.feature +46 -0
- data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
- data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
- data/vendor/rspec/features/matchers/define_diffable_matcher.feature +26 -0
- data/vendor/rspec/features/matchers/define_matcher.feature +179 -0
- data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
- data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
- data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
- data/vendor/rspec/features/matchers/match_unless_raises.feature +60 -0
- data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
- data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
- data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
- data/vendor/rspec/features/mock_framework_integration/use_rr.feature +27 -0
- data/vendor/rspec/features/mocks/block_local_expectations.feature +62 -0
- data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
- data/vendor/rspec/features/mocks/stub_implementation.feature +26 -0
- data/vendor/rspec/features/pending/pending_examples.feature +81 -0
- data/vendor/rspec/features/runner/specify_line_number.feature +32 -0
- data/vendor/rspec/features/spec_helper/spec_helper.feature +25 -0
- data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
- data/vendor/rspec/features/subject/explicit_subject.feature +31 -0
- data/vendor/rspec/features/subject/implicit_subject.feature +43 -0
- data/vendor/rspec/features/support/env.rb +82 -0
- data/vendor/rspec/features/support/matchers/smart_match.rb +12 -0
- data/vendor/rspec/geminstaller.yml +28 -0
- data/vendor/rspec/init.rb +9 -0
- data/vendor/rspec/lib/autotest/discover.rb +3 -0
- data/vendor/rspec/lib/autotest/rspec.rb +54 -0
- data/vendor/rspec/lib/spec.rb +8 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
- data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
- data/vendor/rspec/lib/spec/autorun.rb +3 -0
- data/vendor/rspec/lib/spec/deprecation.rb +40 -0
- data/vendor/rspec/lib/spec/dsl.rb +1 -0
- data/vendor/rspec/lib/spec/dsl/main.rb +92 -0
- data/vendor/rspec/lib/spec/example.rb +164 -0
- data/vendor/rspec/lib/spec/example/args_and_options.rb +27 -0
- data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
- data/vendor/rspec/lib/spec/example/errors.rb +25 -0
- data/vendor/rspec/lib/spec/example/example_group.rb +10 -0
- data/vendor/rspec/lib/spec/example/example_group_factory.rb +82 -0
- data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
- data/vendor/rspec/lib/spec/example/example_group_methods.rb +282 -0
- data/vendor/rspec/lib/spec/example/example_group_proxy.rb +61 -0
- data/vendor/rspec/lib/spec/example/example_matcher.rb +43 -0
- data/vendor/rspec/lib/spec/example/example_methods.rb +152 -0
- data/vendor/rspec/lib/spec/example/example_proxy.rb +41 -0
- data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
- data/vendor/rspec/lib/spec/example/pending.rb +18 -0
- data/vendor/rspec/lib/spec/example/predicate_matchers.rb +46 -0
- data/vendor/rspec/lib/spec/example/shared_example_group.rb +59 -0
- data/vendor/rspec/lib/spec/example/subject.rb +108 -0
- data/vendor/rspec/lib/spec/expectations.rb +35 -0
- data/vendor/rspec/lib/spec/expectations/errors.rb +12 -0
- data/vendor/rspec/lib/spec/expectations/extensions.rb +1 -0
- data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
- data/vendor/rspec/lib/spec/expectations/fail_with.rb +45 -0
- data/vendor/rspec/lib/spec/expectations/handler.rb +50 -0
- data/vendor/rspec/lib/spec/extensions/instance_exec.rb +31 -0
- data/vendor/rspec/lib/spec/interop/test.rb +44 -0
- data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
- data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
- data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
- data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
- data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
- data/vendor/rspec/lib/spec/matchers.rb +195 -0
- data/vendor/rspec/lib/spec/matchers/be.rb +211 -0
- data/vendor/rspec/lib/spec/matchers/be_close.rb +32 -0
- data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
- data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
- data/vendor/rspec/lib/spec/matchers/change.rb +151 -0
- data/vendor/rspec/lib/spec/matchers/compatibility.rb +14 -0
- data/vendor/rspec/lib/spec/matchers/dsl.rb +20 -0
- data/vendor/rspec/lib/spec/matchers/eql.rb +42 -0
- data/vendor/rspec/lib/spec/matchers/equal.rb +53 -0
- data/vendor/rspec/lib/spec/matchers/errors.rb +5 -0
- data/vendor/rspec/lib/spec/matchers/exist.rb +16 -0
- data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
- data/vendor/rspec/lib/spec/matchers/has.rb +35 -0
- data/vendor/rspec/lib/spec/matchers/have.rb +152 -0
- data/vendor/rspec/lib/spec/matchers/include.rb +44 -0
- data/vendor/rspec/lib/spec/matchers/match.rb +21 -0
- data/vendor/rspec/lib/spec/matchers/match_array.rb +71 -0
- data/vendor/rspec/lib/spec/matchers/matcher.rb +102 -0
- data/vendor/rspec/lib/spec/matchers/method_missing.rb +9 -0
- data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
- data/vendor/rspec/lib/spec/matchers/pretty.rb +37 -0
- data/vendor/rspec/lib/spec/matchers/raise_error.rb +129 -0
- data/vendor/rspec/lib/spec/matchers/respond_to.rb +71 -0
- data/vendor/rspec/lib/spec/matchers/satisfy.rb +47 -0
- data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
- data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
- data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
- data/vendor/rspec/lib/spec/mocks.rb +200 -0
- data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
- data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
- data/vendor/rspec/lib/spec/mocks/error_generator.rb +92 -0
- data/vendor/rspec/lib/spec/mocks/errors.rb +10 -0
- data/vendor/rspec/lib/spec/mocks/example_methods.rb +69 -0
- data/vendor/rspec/lib/spec/mocks/extensions.rb +1 -0
- data/vendor/rspec/lib/spec/mocks/extensions/object.rb +3 -0
- data/vendor/rspec/lib/spec/mocks/framework.rb +15 -0
- data/vendor/rspec/lib/spec/mocks/message_expectation.rb +343 -0
- data/vendor/rspec/lib/spec/mocks/methods.rb +89 -0
- data/vendor/rspec/lib/spec/mocks/mock.rb +71 -0
- data/vendor/rspec/lib/spec/mocks/order_group.rb +29 -0
- data/vendor/rspec/lib/spec/mocks/proxy.rb +245 -0
- data/vendor/rspec/lib/spec/mocks/space.rb +28 -0
- data/vendor/rspec/lib/spec/rake/spectask.rb +230 -0
- data/vendor/rspec/lib/spec/rake/verify_rcov.rb +52 -0
- data/vendor/rspec/lib/spec/ruby.rb +9 -0
- data/vendor/rspec/lib/spec/runner.rb +66 -0
- data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
- data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
- data/vendor/rspec/lib/spec/runner/command_line.rb +15 -0
- data/vendor/rspec/lib/spec/runner/configuration.rb +194 -0
- data/vendor/rspec/lib/spec/runner/differs/default.rb +93 -0
- data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
- data/vendor/rspec/lib/spec/runner/drb_command_line.rb +32 -0
- data/vendor/rspec/lib/spec/runner/example_group_runner.rb +58 -0
- data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
- data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
- data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
- data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
- data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
- data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
- data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
- data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
- data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
- data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
- data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
- data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
- data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
- data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
- data/vendor/rspec/lib/spec/runner/heckle_runner.rb +72 -0
- data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
- data/vendor/rspec/lib/spec/runner/line_number_query.rb +78 -0
- data/vendor/rspec/lib/spec/runner/option_parser.rb +225 -0
- data/vendor/rspec/lib/spec/runner/options.rb +405 -0
- data/vendor/rspec/lib/spec/runner/reporter.rb +171 -0
- data/vendor/rspec/lib/spec/stubs/cucumber.rb +5 -0
- data/vendor/rspec/lib/spec/test/unit.rb +10 -0
- data/vendor/rspec/lib/spec/version.rb +14 -0
- data/vendor/rspec/resources/helpers/cmdline.rb +8 -0
- data/vendor/rspec/resources/rake/examples.rake +7 -0
- data/vendor/rspec/resources/rake/examples_with_rcov.rake +9 -0
- data/vendor/rspec/resources/rake/failing_examples_with_html.rake +9 -0
- data/vendor/rspec/resources/rake/verify_rcov.rake +7 -0
- data/vendor/rspec/spec/README.jruby +15 -0
- data/vendor/rspec/spec/autotest/autotest_helper.rb +8 -0
- data/vendor/rspec/spec/autotest/autotest_matchers.rb +38 -0
- data/vendor/rspec/spec/autotest/discover_spec.rb +8 -0
- data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
- data/vendor/rspec/spec/autotest/rspec_spec.rb +126 -0
- data/vendor/rspec/spec/ruby_forker.rb +13 -0
- data/vendor/rspec/spec/spec.opts +6 -0
- data/vendor/rspec/spec/spec/dsl/main_spec.rb +95 -0
- data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
- data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
- data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +759 -0
- data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
- data/vendor/rspec/spec/spec/example/example_group_spec.rb +643 -0
- data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
- data/vendor/rspec/spec/spec/example/example_methods_spec.rb +162 -0
- data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
- data/vendor/rspec/spec/spec/example/helper_method_spec.rb +24 -0
- data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
- data/vendor/rspec/spec/spec/example/pending_module_spec.rb +58 -0
- data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
- data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
- data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
- data/vendor/rspec/spec/spec/example/subject_spec.rb +103 -0
- data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
- data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
- data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
- data/vendor/rspec/spec/spec/expectations/handler_spec.rb +206 -0
- data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
- data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
- data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
- data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
- data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
- data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
- data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
- data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
- data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
- data/vendor/rspec/spec/spec/matchers/be_spec.rb +419 -0
- data/vendor/rspec/spec/spec/matchers/change_spec.rb +349 -0
- data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
- data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
- data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
- data/vendor/rspec/spec/spec/matchers/eql_spec.rb +33 -0
- data/vendor/rspec/spec/spec/matchers/equal_spec.rb +57 -0
- data/vendor/rspec/spec/spec/matchers/exist_spec.rb +65 -0
- data/vendor/rspec/spec/spec/matchers/has_spec.rb +190 -0
- data/vendor/rspec/spec/spec/matchers/have_spec.rb +396 -0
- data/vendor/rspec/spec/spec/matchers/include_spec.rb +88 -0
- data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
- data/vendor/rspec/spec/spec/matchers/match_spec.rb +57 -0
- data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
- data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +273 -0
- data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
- data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
- data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
- data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
- data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
- data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
- data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
- data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +117 -0
- data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
- data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
- data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
- data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
- data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
- data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
- data/vendor/rspec/spec/spec/mocks/double_spec.rb +12 -0
- data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
- data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
- data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
- data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
- data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
- data/vendor/rspec/spec/spec/mocks/mock_spec.rb +594 -0
- data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
- data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
- data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
- data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
- data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
- data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
- data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
- data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
- data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
- data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
- data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
- data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
- data/vendor/rspec/spec/spec/mocks/stub_spec.rb +203 -0
- data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
- data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
- data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
- data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
- data/vendor/rspec/spec/spec/rake/spectask_spec.rb +150 -0
- data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
- data/vendor/rspec/spec/spec/runner/command_line_spec.rb +162 -0
- data/vendor/rspec/spec/spec/runner/configuration_spec.rb +320 -0
- data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +146 -0
- data/vendor/rspec/spec/spec/runner/empty_file.txt +0 -0
- data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
- data/vendor/rspec/spec/spec/runner/examples.txt +2 -0
- data/vendor/rspec/spec/spec/runner/failed.txt +3 -0
- data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
- data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
- data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
- data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
- data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
- data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
- data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
- data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
- data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
- data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
- data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
- data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
- data/vendor/rspec/spec/spec/runner/heckler_spec.rb +20 -0
- data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
- data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
- data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
- data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +554 -0
- data/vendor/rspec/spec/spec/runner/options_spec.rb +554 -0
- data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
- data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
- data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
- data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +123 -0
- data/vendor/rspec/spec/spec/runner/reporter_spec.rb +244 -0
- data/vendor/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
- data/vendor/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
- data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
- data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
- data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
- data/vendor/rspec/spec/spec/runner/spec.opts +2 -0
- data/vendor/rspec/spec/spec/runner/spec_drb.opts +2 -0
- data/vendor/rspec/spec/spec/runner/spec_spaced.opts +2 -0
- data/vendor/rspec/spec/spec/runner_spec.rb +13 -0
- data/vendor/rspec/spec/spec_helper.rb +112 -0
- data/vendor/rspec/spec/support/macros.rb +29 -0
- data/vendor/rspec/spec/support/spec_classes.rb +133 -0
- data/vendor/rubyexts/CHANGELOG +2 -0
- data/vendor/rubyexts/LICENSE +20 -0
- data/vendor/rubyexts/README.textile +0 -0
- data/vendor/rubyexts/Rakefile +79 -0
- data/vendor/rubyexts/TODO.txt +6 -0
- data/vendor/rubyexts/lib/rubyexts.rb +102 -0
- data/vendor/rubyexts/lib/rubyexts/array.rb +20 -0
- data/vendor/rubyexts/lib/rubyexts/attribute.rb +151 -0
- data/vendor/rubyexts/lib/rubyexts/capture_io.rb +32 -0
- data/vendor/rubyexts/lib/rubyexts/class.rb +177 -0
- data/vendor/rubyexts/lib/rubyexts/colored_string.rb +103 -0
- data/vendor/rubyexts/lib/rubyexts/enumerable.rb +30 -0
- data/vendor/rubyexts/lib/rubyexts/file.rb +84 -0
- data/vendor/rubyexts/lib/rubyexts/hash.rb +180 -0
- data/vendor/rubyexts/lib/rubyexts/kernel.rb +91 -0
- data/vendor/rubyexts/lib/rubyexts/module.rb +53 -0
- data/vendor/rubyexts/lib/rubyexts/object.rb +56 -0
- data/vendor/rubyexts/lib/rubyexts/object_space.rb +16 -0
- data/vendor/rubyexts/lib/rubyexts/os.rb +89 -0
- data/vendor/rubyexts/lib/rubyexts/platform.rb +27 -0
- data/vendor/rubyexts/lib/rubyexts/random.rb +25 -0
- data/vendor/rubyexts/lib/rubyexts/string.rb +92 -0
- data/vendor/rubyexts/lib/rubyexts/time.rb +15 -0
- data/vendor/rubyexts/lib/rubyexts/time_dsl.rb +62 -0
- data/vendor/rubyexts/lib/rubyexts/try_dup.rb +43 -0
- data/vendor/rubyexts/lib/rubyexts/unique_array.rb +16 -0
- data/vendor/rubyexts/rubyexts.gemspec +36 -0
- data/vendor/rubyexts/script/spec +12 -0
- data/vendor/rubyexts/spec/rubyexts/array_spec.rb +19 -0
- data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +37 -0
- data/vendor/rubyexts/spec/rubyexts/class_spec.rb +1 -0
- data/vendor/rubyexts/spec/rubyexts/cli_spec.rb +0 -0
- data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +9 -0
- data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +52 -0
- data/vendor/rubyexts/spec/rubyexts/file_spec.rb +78 -0
- data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +91 -0
- data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +9 -0
- data/vendor/rubyexts/spec/rubyexts/module_spec.rb +0 -0
- data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +17 -0
- data/vendor/rubyexts/spec/rubyexts/object_spec.rb +57 -0
- data/vendor/rubyexts/spec/rubyexts/os_spec.rb +121 -0
- data/vendor/rubyexts/spec/rubyexts/platform_spec.rb +0 -0
- data/vendor/rubyexts/spec/rubyexts/random_spec.rb +31 -0
- data/vendor/rubyexts/spec/rubyexts/string_spec.rb +23 -0
- data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +88 -0
- data/vendor/rubyexts/spec/rubyexts/time_spec.rb +11 -0
- data/vendor/rubyexts/spec/rubyexts/unique_array_spec.rb +0 -0
- data/vendor/rubyexts/spec/rubyexts_spec.rb +182 -0
- data/vendor/rubyexts/spec/spec.opts +5 -0
- data/vendor/rubyexts/spec/spec_helper.rb +16 -0
- metadata +510 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# -*- ruby -*-
|
|
2
|
+
gem 'hoe', '>=2.0.0'
|
|
3
|
+
require 'hoe'
|
|
4
|
+
|
|
5
|
+
$:.unshift 'lib'
|
|
6
|
+
|
|
7
|
+
require 'spec/version'
|
|
8
|
+
require 'spec/rake/spectask'
|
|
9
|
+
require 'spec/ruby'
|
|
10
|
+
require 'cucumber/rake/task'
|
|
11
|
+
|
|
12
|
+
Hoe.spec 'rspec' do
|
|
13
|
+
self.version = Spec::VERSION::STRING
|
|
14
|
+
self.summary = Spec::VERSION::SUMMARY
|
|
15
|
+
self.description = "Behaviour Driven Development for Ruby."
|
|
16
|
+
self.rubyforge_name = 'rspec'
|
|
17
|
+
self.developer('RSpec Development Team', 'rspec-devel@rubyforge.org')
|
|
18
|
+
self.extra_dev_deps << ["cucumber",">=0.3"] << ["bmabey-fakefs",">=0.1.1"] << ["syntax",">=1.0"] << ["diff-lcs",">=1.1.2"]
|
|
19
|
+
self.extra_dev_deps << ["heckle",">=1.4.3"] unless Spec::Ruby.version >= "1.9"
|
|
20
|
+
self.remote_rdoc_dir = "rspec/#{Spec::VERSION::STRING}"
|
|
21
|
+
self.rspec_options = ['--options', 'spec/spec.opts']
|
|
22
|
+
self.history_file = 'History.rdoc'
|
|
23
|
+
self.readme_file = 'README.rdoc'
|
|
24
|
+
self.post_install_message = <<-POST_INSTALL_MESSAGE
|
|
25
|
+
#{'*'*50}
|
|
26
|
+
|
|
27
|
+
Thank you for installing rspec-#{Spec::VERSION::STRING}
|
|
28
|
+
|
|
29
|
+
Please be sure to read History.rdoc and Upgrade.rdoc
|
|
30
|
+
for useful information about this release.
|
|
31
|
+
|
|
32
|
+
#{'*'*50}
|
|
33
|
+
POST_INSTALL_MESSAGE
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
['audit','test','test_deps','default','post_blog'].each do |task|
|
|
37
|
+
Rake.application.instance_variable_get('@tasks').delete(task)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
task :post_blog do
|
|
41
|
+
# no-op
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Some of the tasks are in separate files since they are also part of the website documentation
|
|
45
|
+
load 'resources/rake/examples.rake'
|
|
46
|
+
load 'resources/rake/examples_with_rcov.rake'
|
|
47
|
+
load 'resources/rake/failing_examples_with_html.rake'
|
|
48
|
+
load 'resources/rake/verify_rcov.rake'
|
|
49
|
+
|
|
50
|
+
task :cleanup_rcov_files do
|
|
51
|
+
rm_rf 'coverage.data'
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
if RUBY_VERSION =~ /^1.8/
|
|
56
|
+
task :default => [:cleanup_rcov_files, :features, :verify_rcov]
|
|
57
|
+
else
|
|
58
|
+
task :default => [:spec, :features]
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
namespace :spec do
|
|
62
|
+
|
|
63
|
+
desc "Run all specs with rcov"
|
|
64
|
+
Spec::Rake::SpecTask.new(:rcov) do |t|
|
|
65
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
|
66
|
+
t.spec_opts = ['--options', 'spec/spec.opts']
|
|
67
|
+
t.rcov = true
|
|
68
|
+
t.rcov_dir = 'coverage'
|
|
69
|
+
t.rcov_opts = ['--exclude', "features,kernel,load-diff-lcs\.rb,instance_exec\.rb,lib/spec.rb,lib/spec/runner.rb,^spec/*,bin/spec,examples,/gems,/Library/Ruby,\.autotest,#{ENV['GEM_HOME']}"]
|
|
70
|
+
t.rcov_opts << '--sort coverage --text-summary --aggregate coverage.data'
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
desc "Run files listed in spec/spec_files.txt"
|
|
74
|
+
Spec::Rake::SpecTask.new(:focus) do |t|
|
|
75
|
+
if File.exists?('spec/spec_files.txt')
|
|
76
|
+
t.spec_files = File.readlines('spec/spec_files.txt').collect{|f| f.chomp}
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
desc "Run Cucumber features"
|
|
82
|
+
if RUBY_VERSION =~ /^1.8/
|
|
83
|
+
Cucumber::Rake::Task.new :features do |t|
|
|
84
|
+
t.rcov = true
|
|
85
|
+
t.rcov_opts = ['--exclude', "features,kernel,load-diff-lcs\.rb,instance_exec\.rb,lib/spec.rb,lib/spec/runner.rb,^spec/*,bin/spec,examples,/gems,/Library/Ruby,\.autotest,#{ENV['GEM_HOME']}"]
|
|
86
|
+
t.rcov_opts << '--no-html --aggregate coverage.data'
|
|
87
|
+
t.cucumber_opts = %w{--format progress}
|
|
88
|
+
end
|
|
89
|
+
else
|
|
90
|
+
task :features do
|
|
91
|
+
sh 'cucumber --profile no_heckle'
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
desc "Run failing examples (see failure output)"
|
|
96
|
+
Spec::Rake::SpecTask.new('failing_examples') do |t|
|
|
97
|
+
t.spec_files = FileList['failing_examples/**/*_spec.rb']
|
|
98
|
+
t.spec_opts = ['--options', 'spec/spec.opts']
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def egrep(pattern)
|
|
102
|
+
Dir['**/*.rb'].each do |fn|
|
|
103
|
+
count = 0
|
|
104
|
+
open(fn) do |f|
|
|
105
|
+
while line = f.gets
|
|
106
|
+
count += 1
|
|
107
|
+
if line =~ pattern
|
|
108
|
+
puts "#{fn}:#{count}:#{line}"
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
desc "Look for TODO and FIXME tags in the code"
|
|
116
|
+
task :todo do
|
|
117
|
+
egrep /(FIXME|TODO|TBD)/
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
desc "verify_committed, verify_rcov, post_news, release"
|
|
121
|
+
task :complete_release => [:verify_committed, :verify_rcov, :post_news, :release]
|
|
122
|
+
|
|
123
|
+
desc "Verifies that there is no uncommitted code"
|
|
124
|
+
task :verify_committed do
|
|
125
|
+
IO.popen('git status') do |io|
|
|
126
|
+
io.each_line do |line|
|
|
127
|
+
raise "\n!!! Do a git commit first !!!\n\n" if line =~ /^#\s*modified:/
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
namespace :update do
|
|
133
|
+
desc "update the manifest"
|
|
134
|
+
task :manifest do
|
|
135
|
+
system %q[touch Manifest.txt; rake check_manifest | grep -v "(in " | patch]
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
task :clobber => :clobber_tmp
|
|
140
|
+
|
|
141
|
+
task :clobber_tmp do
|
|
142
|
+
cmd = %q[rm -r tmp]
|
|
143
|
+
puts cmd
|
|
144
|
+
system cmd if test ?d, 'tmp'
|
|
145
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
= RSpec and Ruby 1.9
|
|
2
|
+
|
|
3
|
+
RSpec runs on Ruby 1.9.1 with the following caveats.
|
|
4
|
+
|
|
5
|
+
== Test::Unit
|
|
6
|
+
|
|
7
|
+
RSpec/Test::Unit interop will run with the test-unit-1.2.3 gem, but you must install it.
|
|
8
|
+
|
|
9
|
+
== Class Variables
|
|
10
|
+
|
|
11
|
+
Due to changes in scoping rules, class variables within example groups are not
|
|
12
|
+
supported in Ruby 1.9.
|
|
13
|
+
|
|
14
|
+
describe "a class variable" do
|
|
15
|
+
@@class_variable = "a class variable"
|
|
16
|
+
|
|
17
|
+
it "can access class variables in examples in Ruby 1.8" do
|
|
18
|
+
with_ruby 1.8 do
|
|
19
|
+
@@class_variable.should == "a class variable"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "can NOT access class variables in examples in Ruby 1.9" do
|
|
24
|
+
with_ruby 1.9 do
|
|
25
|
+
lambda do
|
|
26
|
+
@@class_variable.should == "a class variable"
|
|
27
|
+
end.should raise_error(NameError)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
== Refactoring
|
|
2
|
+
|
|
3
|
+
** global predictate matchers should be stored in run_options
|
|
4
|
+
* eliminate dependency on global options and configuration
|
|
5
|
+
** the only place they should exist is in the Runner, which should manage them
|
|
6
|
+
|
|
7
|
+
== Future
|
|
8
|
+
|
|
9
|
+
* do SOMETHING with the website
|
|
10
|
+
* separate the underlying framework from the DSL
|
|
11
|
+
* be able to do everything with classes and methods
|
|
12
|
+
* tweak raise_error rdoc to show only one arg
|
|
13
|
+
|
|
14
|
+
== rspec-2.0
|
|
15
|
+
|
|
16
|
+
* rename top level namespace to Rspec and commands to 'rspec' and 'autorspec'
|
|
17
|
+
* continue to support Spec 'spec' and 'autospec' as aliases for a reasonable time
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
= Upgrade to rspec-1.2.9
|
|
2
|
+
|
|
3
|
+
== What's new
|
|
4
|
+
|
|
5
|
+
=== spec/spec.opts
|
|
6
|
+
|
|
7
|
+
If you have a spec/spec.opts file, the spec command will now use that
|
|
8
|
+
automatically as long as you don't include any options on the command line.
|
|
9
|
+
|
|
10
|
+
=== let()
|
|
11
|
+
|
|
12
|
+
Writing specs tends to follow a regular pattern of using local variables, discovering duplication, and then having to convert to local variables to instance variables by adding an "@" symbol. The let() method assigns the result of a lazy eval'd block as the return value of an instance method using
|
|
13
|
+
the same name. This way you can go from this:
|
|
14
|
+
|
|
15
|
+
describe Subscription do
|
|
16
|
+
it "does something" do
|
|
17
|
+
subscription = Subscription.create :limit => 1
|
|
18
|
+
subscription...
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it "does something else" do
|
|
22
|
+
subscription = Subscription.create :limit => 1
|
|
23
|
+
subscription...
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
to this:
|
|
28
|
+
|
|
29
|
+
describe Subscription do
|
|
30
|
+
let(:subscription) { Subscription.create :limit => 1 }
|
|
31
|
+
|
|
32
|
+
it "does something" do
|
|
33
|
+
subscription...
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "does something else" do
|
|
37
|
+
subscription...
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
=== its()
|
|
42
|
+
|
|
43
|
+
If you're in the habit of writing one-liners using implicit subject, this new
|
|
44
|
+
its() feature is for you. Here's the basic idea:
|
|
45
|
+
|
|
46
|
+
describe Array do
|
|
47
|
+
its(:length) { should == 0 }
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
= Upgrade to rspec-1.2.3-1.2.7
|
|
51
|
+
|
|
52
|
+
== What's Changed
|
|
53
|
+
|
|
54
|
+
=== Matcher DSL
|
|
55
|
+
|
|
56
|
+
Use Spec::Matchers.define instead of Spec::Matchers.create (which is now
|
|
57
|
+
deprecated).
|
|
58
|
+
|
|
59
|
+
=== Explicit Predicate Matchers are deprecated
|
|
60
|
+
|
|
61
|
+
With the addition of the new Matcher DSL the old, confusing, and
|
|
62
|
+
almost-nobody-uses-it explicit predicate matcher functionality's days are now
|
|
63
|
+
numbered.
|
|
64
|
+
|
|
65
|
+
If you're not familiar with this feature, don't worry about it. If you have anything
|
|
66
|
+
that looks like this:
|
|
67
|
+
|
|
68
|
+
predicate_matchers[:swim] = :can_swim?
|
|
69
|
+
|
|
70
|
+
Or this
|
|
71
|
+
|
|
72
|
+
config.predicate_matchers[:swim] = :can_swim?
|
|
73
|
+
|
|
74
|
+
Change it to this:
|
|
75
|
+
|
|
76
|
+
Spec::Matchers.define :swim do
|
|
77
|
+
match do |potential_swimmer|
|
|
78
|
+
potential_swimmer.can_swim?
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
== Custom Formatters
|
|
83
|
+
|
|
84
|
+
If you have an custom formatter, the <tt>add_example_group</tt> method has
|
|
85
|
+
been changed to <tt>example_group_started</tt>, and kept as an alias so your
|
|
86
|
+
formatters will still work. Though not yet, <tt>add_example_group</tt> will be
|
|
87
|
+
deprecated in a future minor release, and removed in a future major release,
|
|
88
|
+
so we recommend you make this change now.
|
|
89
|
+
|
|
90
|
+
= Upgrade to rspec-1.2.2
|
|
91
|
+
|
|
92
|
+
== What's Changed
|
|
93
|
+
|
|
94
|
+
=== <tt>require 'rubygems' unless ENV['NO_RUBYGEMS']</tt>
|
|
95
|
+
|
|
96
|
+
After minor public outcry and confusion, we restored necessary references to
|
|
97
|
+
rubygems in rspec. If you use a different mechanism for managing gems, just
|
|
98
|
+
set a <tt>NO_RUBYGEMS</tt> environment variable (to any non-nil value).
|
|
99
|
+
|
|
100
|
+
=== Proxies and locations
|
|
101
|
+
|
|
102
|
+
This is probably only interesting to you if you use custom formatters.
|
|
103
|
+
|
|
104
|
+
Formatters now receive Spec::Example::ExampleGroupProxy and
|
|
105
|
+
Spec::Example::ExampleGroup objects with cohesive APIs for reporting. See the
|
|
106
|
+
RDoc for those classes and Spec::Runner::Formatter::BaseFormatter for more
|
|
107
|
+
information.
|
|
108
|
+
|
|
109
|
+
== What's new
|
|
110
|
+
|
|
111
|
+
=== The new matcher DSL works with test/unit (without the rest of rspec)
|
|
112
|
+
|
|
113
|
+
We'll be separating this out to its own gem for rspec 2.0, but for now, just install
|
|
114
|
+
rspec >= 1.2.1 and add the following to your <tt>test_helper</tt> file:
|
|
115
|
+
|
|
116
|
+
require 'spec/expectations'
|
|
117
|
+
class Test::Unit::TestCase
|
|
118
|
+
include Spec::Matchers
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
This will add <tt>should()</tt> and <tt>should_not()</tt> to your objects, make all of
|
|
122
|
+
rspec's built-in matchers available to your tests, INCLUDING rspec's DSL for
|
|
123
|
+
creating matchers (see below, under Upgrade to rspec-1.2.0)
|
|
124
|
+
|
|
125
|
+
=== debugger
|
|
126
|
+
|
|
127
|
+
If you have ruby-debug installed, you can set a breakpoint by adding <tt>debugger()</tt>
|
|
128
|
+
in your code:
|
|
129
|
+
|
|
130
|
+
# some code .....
|
|
131
|
+
debugger
|
|
132
|
+
# some more code ....
|
|
133
|
+
|
|
134
|
+
... and using the <tt>--debugger</tt> or <tt>-u</tt> command line option.
|
|
135
|
+
|
|
136
|
+
spec path/to/file.rb --debugger
|
|
137
|
+
|
|
138
|
+
= Upgrade to rspec-1.2.0
|
|
139
|
+
|
|
140
|
+
== What's Changed
|
|
141
|
+
|
|
142
|
+
=== WARNINGS
|
|
143
|
+
|
|
144
|
+
* If you use the ruby command to run specs instead of the spec command, you'll
|
|
145
|
+
need to require 'spec/autorun' or they won't run. This won't affect you if
|
|
146
|
+
you use the spec command or the Spec::Rake::SpecTask that ships with RSpec.
|
|
147
|
+
|
|
148
|
+
* require 'spec/test/unit' to invoke test/unit interop if you're using
|
|
149
|
+
RSpec's core (this is handled implicitly with spec-rails)
|
|
150
|
+
|
|
151
|
+
* setup and teardown are gone - use before and after instead
|
|
152
|
+
|
|
153
|
+
* you can still use setup and teardown if you're using
|
|
154
|
+
Test::Unit::TestCase as the base ExampleGroup class (which is implicit
|
|
155
|
+
in rspec-rails)
|
|
156
|
+
|
|
157
|
+
* The matcher protocol has been improved. The old protocol is still supported,
|
|
158
|
+
but we added support for two new methods that speak a bit more clearly:
|
|
159
|
+
|
|
160
|
+
failure_message => failure_message_for_should
|
|
161
|
+
negative_failure_message => failure_message_for_should_not
|
|
162
|
+
|
|
163
|
+
* All references to rubygems have been removed from within rspec's code.
|
|
164
|
+
|
|
165
|
+
* See http://gist.github.com/54177 for rationale and suggestions on
|
|
166
|
+
alternative approaches to loading rubygems
|
|
167
|
+
|
|
168
|
+
== What's New
|
|
169
|
+
|
|
170
|
+
=== Ruby 1.9
|
|
171
|
+
|
|
172
|
+
RSpec now works with Ruby 1.9.1. See http://wiki.github.com/dchelimsky/rspec/ruby-191
|
|
173
|
+
for useful information.
|
|
174
|
+
|
|
175
|
+
=== Improved heckle integration
|
|
176
|
+
|
|
177
|
+
RSpec works with heckle again! Gotta use heckle >= 1.4.2 for this to work
|
|
178
|
+
though, and it only works with ruby-1.8.6 and 1.8.7 (heckle doesn't support
|
|
179
|
+
1.9.1 yet).
|
|
180
|
+
|
|
181
|
+
[sudo] gem install heckle --version ">=1.4.2"
|
|
182
|
+
spec spec/game/mastermind.rb --heckle Game::Mastermind
|
|
183
|
+
|
|
184
|
+
=== New Matcher DSL
|
|
185
|
+
|
|
186
|
+
We've added a new DSL for generating custom matchers very simply and cleanly.
|
|
187
|
+
We'll still support the simple_matcher method, so never fear if you're using
|
|
188
|
+
that, but we recommend that you start developing your new matchers with this
|
|
189
|
+
new syntax.
|
|
190
|
+
|
|
191
|
+
Spec::Matchers.create :be_a_multiple_of do |smaller|
|
|
192
|
+
match do |bigger|
|
|
193
|
+
bigger % smaller == 0
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
9.should be_a_multiple_of(3)
|
|
198
|
+
|
|
199
|
+
See <tt>features/matchers/define_matcher.feature</tt> for more examples
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"Why have failing examples?", you might ask.
|
|
2
|
+
|
|
3
|
+
They allow us to see failure messages. RSpec wants to provide meaningful and
|
|
4
|
+
helpful failure messages. The failures in this directory not only provide you
|
|
5
|
+
a way of seeing the failure messages, but they provide RSpec's own specs a way
|
|
6
|
+
of describing what they should look like and ensuring they stay correct.
|
|
7
|
+
|
|
8
|
+
To see the types of messages you can expect, stand in the root directory and
|
|
9
|
+
run:
|
|
10
|
+
|
|
11
|
+
bin/spec examples/failing/*.rb
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
describe "Running specs with --diff" do
|
|
2
|
+
it "should print diff of different strings" do
|
|
3
|
+
uk = <<-EOF
|
|
4
|
+
RSpec is a
|
|
5
|
+
behaviour driven development
|
|
6
|
+
framework for Ruby
|
|
7
|
+
EOF
|
|
8
|
+
usa = <<-EOF
|
|
9
|
+
RSpec is a
|
|
10
|
+
behavior driven development
|
|
11
|
+
framework for Ruby
|
|
12
|
+
EOF
|
|
13
|
+
usa.should == uk
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
class Animal
|
|
17
|
+
def initialize(name,species)
|
|
18
|
+
@name,@species = name,species
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def inspect
|
|
22
|
+
<<-EOA
|
|
23
|
+
<Animal
|
|
24
|
+
name=#{@name},
|
|
25
|
+
species=#{@species}
|
|
26
|
+
>
|
|
27
|
+
EOA
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it "should print diff of different objects' pretty representation" do
|
|
32
|
+
expected = Animal.new "bob", "giraffe"
|
|
33
|
+
actual = Animal.new "bob", "tortoise"
|
|
34
|
+
expected.should eql(actual)
|
|
35
|
+
end
|
|
36
|
+
end
|