dchelimsky-rspec 1.1.10
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/History.txt +1192 -0
- data/License.txt +22 -0
- data/Manifest.txt +403 -0
- data/README.txt +39 -0
- data/Rakefile +90 -0
- data/TODO.txt +10 -0
- data/bin/autospec +4 -0
- data/bin/spec +4 -0
- data/examples/pure/autogenerated_docstrings_example.rb +19 -0
- data/examples/pure/before_and_after_example.rb +40 -0
- data/examples/pure/behave_as_example.rb +45 -0
- data/examples/pure/custom_expectation_matchers.rb +54 -0
- data/examples/pure/custom_formatter.rb +12 -0
- data/examples/pure/dynamic_spec.rb +9 -0
- data/examples/pure/file_accessor.rb +19 -0
- data/examples/pure/file_accessor_spec.rb +38 -0
- data/examples/pure/greeter_spec.rb +31 -0
- data/examples/pure/helper_method_example.rb +14 -0
- data/examples/pure/io_processor.rb +8 -0
- data/examples/pure/io_processor_spec.rb +21 -0
- data/examples/pure/legacy_spec.rb +11 -0
- data/examples/pure/mocking_example.rb +27 -0
- data/examples/pure/multi_threaded_behaviour_runner.rb +28 -0
- data/examples/pure/nested_classes_example.rb +36 -0
- data/examples/pure/partial_mock_example.rb +29 -0
- data/examples/pure/pending_example.rb +20 -0
- data/examples/pure/predicate_example.rb +27 -0
- data/examples/pure/priority.txt +1 -0
- data/examples/pure/shared_example_group_example.rb +81 -0
- data/examples/pure/shared_stack_examples.rb +38 -0
- data/examples/pure/spec_helper.rb +3 -0
- data/examples/pure/stack.rb +36 -0
- data/examples/pure/stack_spec.rb +63 -0
- data/examples/pure/stack_spec_with_nested_example_groups.rb +67 -0
- data/examples/pure/stubbing_example.rb +69 -0
- data/examples/pure/yielding_example.rb +33 -0
- data/examples/stories/adder.rb +13 -0
- data/examples/stories/addition +34 -0
- data/examples/stories/addition.rb +9 -0
- data/examples/stories/calculator.rb +65 -0
- data/examples/stories/game-of-life/.loadpath +5 -0
- data/examples/stories/game-of-life/README.txt +21 -0
- data/examples/stories/game-of-life/behaviour/everything.rb +6 -0
- data/examples/stories/game-of-life/behaviour/examples/examples.rb +3 -0
- data/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +35 -0
- data/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +66 -0
- data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +21 -0
- data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +21 -0
- data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +42 -0
- data/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +42 -0
- data/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +17 -0
- data/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +53 -0
- data/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +52 -0
- data/examples/stories/game-of-life/behaviour/stories/helper.rb +6 -0
- data/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +26 -0
- data/examples/stories/game-of-life/behaviour/stories/steps.rb +5 -0
- data/examples/stories/game-of-life/behaviour/stories/stories.rb +3 -0
- data/examples/stories/game-of-life/behaviour/stories/stories.txt +22 -0
- data/examples/stories/game-of-life/life/game.rb +23 -0
- data/examples/stories/game-of-life/life/grid.rb +43 -0
- data/examples/stories/game-of-life/life.rb +3 -0
- data/examples/stories/helper.rb +9 -0
- data/examples/stories/steps/addition_steps.rb +18 -0
- data/failing_examples/README.txt +7 -0
- data/failing_examples/diffing_spec.rb +36 -0
- data/failing_examples/failing_autogenerated_docstrings_example.rb +19 -0
- data/failing_examples/failure_in_setup.rb +10 -0
- data/failing_examples/failure_in_teardown.rb +10 -0
- data/failing_examples/mocking_example.rb +40 -0
- data/failing_examples/mocking_with_flexmock.rb +26 -0
- data/failing_examples/mocking_with_mocha.rb +25 -0
- data/failing_examples/mocking_with_rr.rb +27 -0
- data/failing_examples/partial_mock_example.rb +20 -0
- data/failing_examples/predicate_example.rb +29 -0
- data/failing_examples/raising_example.rb +47 -0
- data/failing_examples/spec_helper.rb +3 -0
- data/failing_examples/syntax_error_example.rb +7 -0
- data/failing_examples/team_spec.rb +44 -0
- data/failing_examples/timeout_behaviour.rb +7 -0
- data/init.rb +9 -0
- data/lib/autotest/discover.rb +3 -0
- data/lib/autotest/rspec.rb +46 -0
- data/lib/spec/adapters/ruby_engine/mri.rb +8 -0
- data/lib/spec/adapters/ruby_engine/rubinius.rb +8 -0
- data/lib/spec/adapters/ruby_engine.rb +26 -0
- data/lib/spec/adapters.rb +1 -0
- data/lib/spec/example/before_and_after_hooks.rb +93 -0
- data/lib/spec/example/configuration.rb +167 -0
- data/lib/spec/example/errors.rb +30 -0
- data/lib/spec/example/example_group.rb +25 -0
- data/lib/spec/example/example_group_factory.rb +81 -0
- data/lib/spec/example/example_group_methods.rb +368 -0
- data/lib/spec/example/example_matcher.rb +44 -0
- data/lib/spec/example/example_methods.rb +105 -0
- data/lib/spec/example/module_reopening_fix.rb +21 -0
- data/lib/spec/example/pending.rb +18 -0
- data/lib/spec/example/shared_example_group.rb +52 -0
- data/lib/spec/example.rb +12 -0
- data/lib/spec/expectations/differs/default.rb +66 -0
- data/lib/spec/expectations/errors.rb +12 -0
- data/lib/spec/expectations/extensions/object.rb +63 -0
- data/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
- data/lib/spec/expectations/extensions.rb +2 -0
- data/lib/spec/expectations/handler.rb +52 -0
- data/lib/spec/expectations.rb +56 -0
- data/lib/spec/extensions/class.rb +24 -0
- data/lib/spec/extensions/main.rb +87 -0
- data/lib/spec/extensions/metaclass.rb +7 -0
- data/lib/spec/extensions/object.rb +6 -0
- data/lib/spec/extensions.rb +4 -0
- data/lib/spec/interop/test/unit/autorunner.rb +6 -0
- data/lib/spec/interop/test/unit/testcase.rb +71 -0
- data/lib/spec/interop/test/unit/testresult.rb +6 -0
- data/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
- data/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
- data/lib/spec/interop/test.rb +12 -0
- data/lib/spec/matchers/be.rb +221 -0
- data/lib/spec/matchers/be_close.rb +37 -0
- data/lib/spec/matchers/change.rb +148 -0
- data/lib/spec/matchers/eql.rb +43 -0
- data/lib/spec/matchers/equal.rb +43 -0
- data/lib/spec/matchers/exist.rb +22 -0
- data/lib/spec/matchers/has.rb +34 -0
- data/lib/spec/matchers/have.rb +150 -0
- data/lib/spec/matchers/include.rb +77 -0
- data/lib/spec/matchers/match.rb +41 -0
- data/lib/spec/matchers/operator_matcher.rb +79 -0
- data/lib/spec/matchers/raise_error.rb +132 -0
- data/lib/spec/matchers/respond_to.rb +46 -0
- data/lib/spec/matchers/satisfy.rb +47 -0
- data/lib/spec/matchers/simple_matcher.rb +132 -0
- data/lib/spec/matchers/throw_symbol.rb +74 -0
- data/lib/spec/matchers.rb +162 -0
- data/lib/spec/mocks/argument_constraints.rb +165 -0
- data/lib/spec/mocks/argument_expectation.rb +49 -0
- data/lib/spec/mocks/error_generator.rb +84 -0
- data/lib/spec/mocks/errors.rb +10 -0
- data/lib/spec/mocks/extensions/object.rb +3 -0
- data/lib/spec/mocks/extensions.rb +1 -0
- data/lib/spec/mocks/framework.rb +15 -0
- data/lib/spec/mocks/message_expectation.rb +331 -0
- data/lib/spec/mocks/methods.rb +51 -0
- data/lib/spec/mocks/mock.rb +56 -0
- data/lib/spec/mocks/order_group.rb +29 -0
- data/lib/spec/mocks/proxy.rb +224 -0
- data/lib/spec/mocks/space.rb +28 -0
- data/lib/spec/mocks/spec_methods.rb +46 -0
- data/lib/spec/mocks.rb +200 -0
- data/lib/spec/rake/spectask.rb +227 -0
- data/lib/spec/rake/verify_rcov.rb +52 -0
- data/lib/spec/runner/backtrace_tweaker.rb +56 -0
- data/lib/spec/runner/class_and_arguments_parser.rb +16 -0
- data/lib/spec/runner/command_line.rb +17 -0
- data/lib/spec/runner/drb_command_line.rb +20 -0
- data/lib/spec/runner/example_group_runner.rb +59 -0
- data/lib/spec/runner/formatter/base_formatter.rb +79 -0
- data/lib/spec/runner/formatter/base_text_formatter.rb +126 -0
- data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +27 -0
- data/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
- data/lib/spec/runner/formatter/html_formatter.rb +337 -0
- data/lib/spec/runner/formatter/nested_text_formatter.rb +65 -0
- data/lib/spec/runner/formatter/profile_formatter.rb +51 -0
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +34 -0
- data/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
- data/lib/spec/runner/formatter/specdoc_formatter.rb +39 -0
- data/lib/spec/runner/formatter/story/html_formatter.rb +174 -0
- data/lib/spec/runner/formatter/story/plain_text_formatter.rb +194 -0
- data/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
- data/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
- data/lib/spec/runner/heckle_runner.rb +72 -0
- data/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
- data/lib/spec/runner/option_parser.rb +205 -0
- data/lib/spec/runner/options.rb +320 -0
- data/lib/spec/runner/reporter.rb +167 -0
- data/lib/spec/runner/spec_parser.rb +71 -0
- data/lib/spec/runner.rb +213 -0
- data/lib/spec/story/extensions/main.rb +86 -0
- data/lib/spec/story/extensions/regexp.rb +9 -0
- data/lib/spec/story/extensions/string.rb +9 -0
- data/lib/spec/story/extensions.rb +3 -0
- data/lib/spec/story/given_scenario.rb +14 -0
- data/lib/spec/story/runner/plain_text_story_runner.rb +48 -0
- data/lib/spec/story/runner/scenario_collector.rb +18 -0
- data/lib/spec/story/runner/scenario_runner.rb +54 -0
- data/lib/spec/story/runner/story_mediator.rb +137 -0
- data/lib/spec/story/runner/story_parser.rb +247 -0
- data/lib/spec/story/runner/story_runner.rb +70 -0
- data/lib/spec/story/runner.rb +59 -0
- data/lib/spec/story/scenario.rb +14 -0
- data/lib/spec/story/step.rb +70 -0
- data/lib/spec/story/step_group.rb +89 -0
- data/lib/spec/story/step_mother.rb +38 -0
- data/lib/spec/story/story.rb +39 -0
- data/lib/spec/story/world.rb +128 -0
- data/lib/spec/story.rb +10 -0
- data/lib/spec/version.rb +13 -0
- data/lib/spec.rb +32 -0
- data/plugins/mock_frameworks/flexmock.rb +23 -0
- data/plugins/mock_frameworks/mocha.rb +19 -0
- data/plugins/mock_frameworks/rr.rb +21 -0
- data/plugins/mock_frameworks/rspec.rb +20 -0
- data/rake_tasks/examples.rake +7 -0
- data/rake_tasks/examples_with_rcov.rake +9 -0
- data/rake_tasks/failing_examples_with_html.rake +9 -0
- data/rake_tasks/verify_rcov.rake +7 -0
- data/rspec.gemspec +42 -0
- data/spec/README.jruby +15 -0
- data/spec/autotest/autotest_helper.rb +6 -0
- data/spec/autotest/autotest_matchers.rb +47 -0
- data/spec/autotest/discover_spec.rb +19 -0
- data/spec/autotest/rspec_spec.rb +150 -0
- data/spec/rspec_suite.rb +6 -0
- data/spec/ruby_forker.rb +13 -0
- data/spec/spec/adapters/ruby_engine_spec.rb +16 -0
- data/spec/spec/example/configuration_spec.rb +296 -0
- data/spec/spec/example/example_group_class_definition_spec.rb +48 -0
- data/spec/spec/example/example_group_factory_spec.rb +165 -0
- data/spec/spec/example/example_group_methods_spec.rb +584 -0
- data/spec/spec/example/example_group_spec.rb +683 -0
- data/spec/spec/example/example_matcher_spec.rb +96 -0
- data/spec/spec/example/example_methods_spec.rb +169 -0
- data/spec/spec/example/example_runner_spec.rb +194 -0
- data/spec/spec/example/nested_example_group_spec.rb +71 -0
- data/spec/spec/example/pending_module_spec.rb +145 -0
- data/spec/spec/example/predicate_matcher_spec.rb +21 -0
- data/spec/spec/example/shared_example_group_spec.rb +281 -0
- data/spec/spec/example/subclassing_example_group_spec.rb +25 -0
- data/spec/spec/expectations/differs/default_spec.rb +127 -0
- data/spec/spec/expectations/extensions/object_spec.rb +95 -0
- data/spec/spec/expectations/fail_with_spec.rb +71 -0
- data/spec/spec/extensions/main_spec.rb +71 -0
- data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
- data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
- data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
- data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
- data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
- data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
- data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
- data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
- data/spec/spec/interop/test/unit/spec_spec.rb +52 -0
- data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +14 -0
- data/spec/spec/interop/test/unit/testcase_spec.rb +49 -0
- data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
- data/spec/spec/matchers/be_close_spec.rb +39 -0
- data/spec/spec/matchers/be_spec.rb +248 -0
- data/spec/spec/matchers/change_spec.rb +329 -0
- data/spec/spec/matchers/description_generation_spec.rb +153 -0
- data/spec/spec/matchers/eql_spec.rb +28 -0
- data/spec/spec/matchers/equal_spec.rb +28 -0
- data/spec/spec/matchers/exist_spec.rb +57 -0
- data/spec/spec/matchers/handler_spec.rb +150 -0
- data/spec/spec/matchers/has_spec.rb +63 -0
- data/spec/spec/matchers/have_spec.rb +394 -0
- data/spec/spec/matchers/include_spec.rb +64 -0
- data/spec/spec/matchers/match_spec.rb +37 -0
- data/spec/spec/matchers/matcher_methods_spec.rb +78 -0
- data/spec/spec/matchers/mock_constraint_matchers_spec.rb +24 -0
- data/spec/spec/matchers/operator_matcher_spec.rb +191 -0
- data/spec/spec/matchers/raise_error_spec.rb +315 -0
- data/spec/spec/matchers/respond_to_spec.rb +54 -0
- data/spec/spec/matchers/satisfy_spec.rb +36 -0
- data/spec/spec/matchers/simple_matcher_spec.rb +93 -0
- data/spec/spec/matchers/throw_symbol_spec.rb +54 -0
- data/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
- data/spec/spec/mocks/argument_expectation_spec.rb +23 -0
- data/spec/spec/mocks/at_least_spec.rb +97 -0
- data/spec/spec/mocks/at_most_spec.rb +93 -0
- data/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
- data/spec/spec/mocks/bug_report_10263_spec.rb +24 -0
- data/spec/spec/mocks/bug_report_11545_spec.rb +33 -0
- data/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
- data/spec/spec/mocks/bug_report_496.rb +17 -0
- data/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
- data/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
- data/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
- data/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
- data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +95 -0
- data/spec/spec/mocks/hash_including_matcher_spec.rb +53 -0
- data/spec/spec/mocks/mock_ordering_spec.rb +84 -0
- data/spec/spec/mocks/mock_space_spec.rb +54 -0
- data/spec/spec/mocks/mock_spec.rb +555 -0
- data/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
- data/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
- data/spec/spec/mocks/null_object_mock_spec.rb +54 -0
- data/spec/spec/mocks/once_counts_spec.rb +53 -0
- data/spec/spec/mocks/options_hash_spec.rb +35 -0
- data/spec/spec/mocks/partial_mock_spec.rb +149 -0
- data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
- data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +130 -0
- data/spec/spec/mocks/precise_counts_spec.rb +52 -0
- data/spec/spec/mocks/record_messages_spec.rb +26 -0
- data/spec/spec/mocks/stub_spec.rb +188 -0
- data/spec/spec/mocks/twice_counts_spec.rb +67 -0
- data/spec/spec/package/bin_spec_spec.rb +22 -0
- data/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
- data/spec/spec/runner/command_line_spec.rb +141 -0
- data/spec/spec/runner/drb_command_line_spec.rb +97 -0
- data/spec/spec/runner/empty_file.txt +0 -0
- data/spec/spec/runner/examples.txt +2 -0
- data/spec/spec/runner/failed.txt +3 -0
- data/spec/spec/runner/formatter/base_formatter_spec.rb +112 -0
- data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
- data/spec/spec/runner/formatter/html_formatted-1.8.4.html +365 -0
- data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +387 -0
- data/spec/spec/runner/formatter/html_formatted-1.8.5.html +371 -0
- data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +381 -0
- data/spec/spec/runner/formatter/html_formatted-1.8.6.html +370 -0
- data/spec/spec/runner/formatter/html_formatter_spec.rb +61 -0
- data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +318 -0
- data/spec/spec/runner/formatter/profile_formatter_spec.rb +65 -0
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +155 -0
- data/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
- data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +103 -0
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
- data/spec/spec/runner/formatter/story/html_formatter_spec.rb +135 -0
- data/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +600 -0
- data/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +365 -0
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +370 -0
- data/spec/spec/runner/heckle_runner_spec.rb +78 -0
- data/spec/spec/runner/heckler_spec.rb +13 -0
- data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
- data/spec/spec/runner/option_parser_spec.rb +421 -0
- data/spec/spec/runner/options_spec.rb +450 -0
- data/spec/spec/runner/output_one_time_fixture.rb +7 -0
- data/spec/spec/runner/output_one_time_fixture_runner.rb +8 -0
- data/spec/spec/runner/output_one_time_spec.rb +16 -0
- data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +62 -0
- data/spec/spec/runner/reporter_spec.rb +238 -0
- data/spec/spec/runner/resources/a_bar.rb +0 -0
- data/spec/spec/runner/resources/a_foo.rb +0 -0
- data/spec/spec/runner/resources/a_spec.rb +1 -0
- data/spec/spec/runner/spec.opts +2 -0
- data/spec/spec/runner/spec_drb.opts +1 -0
- data/spec/spec/runner/spec_parser/spec_parser_fixture.rb +70 -0
- data/spec/spec/runner/spec_parser_spec.rb +85 -0
- data/spec/spec/runner/spec_spaced.opts +2 -0
- data/spec/spec/runner_spec.rb +11 -0
- data/spec/spec/spec_classes.rb +133 -0
- data/spec/spec/story/builders.rb +46 -0
- data/spec/spec/story/extensions/main_spec.rb +161 -0
- data/spec/spec/story/extensions_spec.rb +14 -0
- data/spec/spec/story/given_scenario_spec.rb +27 -0
- data/spec/spec/story/runner/plain_text_story_runner_spec.rb +90 -0
- data/spec/spec/story/runner/scenario_collector_spec.rb +27 -0
- data/spec/spec/story/runner/scenario_runner_spec.rb +214 -0
- data/spec/spec/story/runner/story_mediator_spec.rb +143 -0
- data/spec/spec/story/runner/story_parser_spec.rb +401 -0
- data/spec/spec/story/runner/story_runner_spec.rb +294 -0
- data/spec/spec/story/runner_spec.rb +93 -0
- data/spec/spec/story/scenario_spec.rb +18 -0
- data/spec/spec/story/step_group_spec.rb +157 -0
- data/spec/spec/story/step_mother_spec.rb +84 -0
- data/spec/spec/story/step_spec.rb +272 -0
- data/spec/spec/story/story_helper.rb +2 -0
- data/spec/spec/story/story_spec.rb +84 -0
- data/spec/spec/story/world_spec.rb +423 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +77 -0
- data/stories/all.rb +5 -0
- data/stories/configuration/before_blocks.story +21 -0
- data/stories/configuration/stories.rb +7 -0
- data/stories/example_groups/autogenerated_docstrings +45 -0
- data/stories/example_groups/example_group_with_should_methods +17 -0
- data/stories/example_groups/nested_groups +17 -0
- data/stories/example_groups/output +25 -0
- data/stories/example_groups/stories.rb +7 -0
- data/stories/helper.rb +6 -0
- data/stories/interop/examples_and_tests_together +30 -0
- data/stories/interop/stories.rb +7 -0
- data/stories/interop/test_case_with_should_methods +17 -0
- data/stories/mock_framework_integration/stories.rb +7 -0
- data/stories/mock_framework_integration/use_flexmock.story +9 -0
- data/stories/pending_stories/README +3 -0
- data/stories/resources/helpers/cmdline.rb +9 -0
- data/stories/resources/helpers/story_helper.rb +16 -0
- data/stories/resources/matchers/smart_match.rb +37 -0
- data/stories/resources/spec/before_blocks_example.rb +32 -0
- data/stories/resources/spec/example_group_with_should_methods.rb +12 -0
- data/stories/resources/spec/simple_spec.rb +8 -0
- data/stories/resources/spec/spec_with_flexmock.rb +18 -0
- data/stories/resources/steps/running_rspec.rb +50 -0
- data/stories/resources/stories/failing_story.rb +15 -0
- data/stories/resources/test/spec_and_test_together.rb +57 -0
- data/stories/resources/test/test_case_with_should_methods.rb +30 -0
- data/stories/stories/multiline_steps.story +23 -0
- data/stories/stories/steps/multiline_steps.rb +13 -0
- data/stories/stories/stories.rb +6 -0
- data/story_server/prototype/javascripts/builder.js +136 -0
- data/story_server/prototype/javascripts/controls.js +972 -0
- data/story_server/prototype/javascripts/dragdrop.js +976 -0
- data/story_server/prototype/javascripts/effects.js +1117 -0
- data/story_server/prototype/javascripts/prototype.js +4140 -0
- data/story_server/prototype/javascripts/rspec.js +149 -0
- data/story_server/prototype/javascripts/scriptaculous.js +58 -0
- data/story_server/prototype/javascripts/slider.js +276 -0
- data/story_server/prototype/javascripts/sound.js +55 -0
- data/story_server/prototype/javascripts/unittest.js +568 -0
- data/story_server/prototype/lib/server.rb +24 -0
- data/story_server/prototype/stories.html +176 -0
- data/story_server/prototype/stylesheets/rspec.css +136 -0
- data/story_server/prototype/stylesheets/test.css +90 -0
- metadata +495 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
2
|
+
|
3
|
+
module Spec
|
4
|
+
module Mocks
|
5
|
+
describe "TwiceCounts" do
|
6
|
+
before(:each) do
|
7
|
+
@mock = mock("test mock")
|
8
|
+
end
|
9
|
+
|
10
|
+
it "twice should fail when call count is higher than expected" do
|
11
|
+
@mock.should_receive(:random_call).twice
|
12
|
+
@mock.random_call
|
13
|
+
@mock.random_call
|
14
|
+
@mock.random_call
|
15
|
+
lambda do
|
16
|
+
@mock.rspec_verify
|
17
|
+
end.should raise_error(MockExpectationError)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "twice should fail when call count is lower than expected" do
|
21
|
+
@mock.should_receive(:random_call).twice
|
22
|
+
@mock.random_call
|
23
|
+
lambda do
|
24
|
+
@mock.rspec_verify
|
25
|
+
end.should raise_error(MockExpectationError)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "twice should fail when called twice with wrong args on the first call" do
|
29
|
+
@mock.should_receive(:random_call).twice.with("1", 1)
|
30
|
+
lambda do
|
31
|
+
@mock.random_call(1, "1")
|
32
|
+
end.should raise_error(MockExpectationError)
|
33
|
+
@mock.rspec_reset
|
34
|
+
end
|
35
|
+
|
36
|
+
it "twice should fail when called twice with wrong args on the second call" do
|
37
|
+
@mock.should_receive(:random_call).twice.with("1", 1)
|
38
|
+
@mock.random_call("1", 1)
|
39
|
+
lambda do
|
40
|
+
@mock.random_call(1, "1")
|
41
|
+
end.should raise_error(MockExpectationError)
|
42
|
+
@mock.rspec_reset
|
43
|
+
end
|
44
|
+
|
45
|
+
it "twice should pass when called twice" do
|
46
|
+
@mock.should_receive(:random_call).twice
|
47
|
+
@mock.random_call
|
48
|
+
@mock.random_call
|
49
|
+
@mock.rspec_verify
|
50
|
+
end
|
51
|
+
|
52
|
+
it "twice should pass when called twice with specified args" do
|
53
|
+
@mock.should_receive(:random_call).twice.with("1", 1)
|
54
|
+
@mock.random_call("1", 1)
|
55
|
+
@mock.random_call("1", 1)
|
56
|
+
@mock.rspec_verify
|
57
|
+
end
|
58
|
+
|
59
|
+
it "twice should pass when called twice with unspecified args" do
|
60
|
+
@mock.should_receive(:random_call).twice
|
61
|
+
@mock.random_call("1")
|
62
|
+
@mock.random_call(1)
|
63
|
+
@mock.rspec_verify
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
require File.dirname(__FILE__) + '/../../ruby_forker'
|
3
|
+
|
4
|
+
describe "The bin/spec script" do
|
5
|
+
include RubyForker
|
6
|
+
|
7
|
+
it "should have no warnings" do
|
8
|
+
pending "Hangs on JRuby" if PLATFORM =~ /java/
|
9
|
+
spec_path = "#{File.dirname(__FILE__)}/../../../bin/spec"
|
10
|
+
|
11
|
+
output = ruby "-w #{spec_path} --help 2>&1"
|
12
|
+
output.should_not =~ /warning/n
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should show the help w/ no args" do
|
16
|
+
pending "Hangs on JRuby" if PLATFORM =~ /java/
|
17
|
+
spec_path = "#{File.dirname(__FILE__)}/../../../bin/spec"
|
18
|
+
|
19
|
+
output = ruby "-w #{spec_path} 2>&1"
|
20
|
+
output.should =~ /^Usage: spec/
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
2
|
+
|
3
|
+
module Spec
|
4
|
+
module Runner
|
5
|
+
describe ClassAndArgumentsParser, ".parse" do
|
6
|
+
|
7
|
+
it "should use a single : to separate class names from arguments" do
|
8
|
+
ClassAndArgumentsParser.parse('Foo').should == ['Foo', nil]
|
9
|
+
ClassAndArgumentsParser.parse('Foo:arg').should == ['Foo', 'arg']
|
10
|
+
ClassAndArgumentsParser.parse('Foo::Bar::Zap:arg').should == ['Foo::Bar::Zap', 'arg']
|
11
|
+
ClassAndArgumentsParser.parse('Foo:arg1,arg2').should == ['Foo', 'arg1,arg2']
|
12
|
+
ClassAndArgumentsParser.parse('Foo::Bar::Zap:arg1,arg2').should == ['Foo::Bar::Zap', 'arg1,arg2']
|
13
|
+
ClassAndArgumentsParser.parse('Foo::Bar::Zap:drb://foo,drb://bar').should == ['Foo::Bar::Zap', 'drb://foo,drb://bar']
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should raise an error when passed an empty string" do
|
17
|
+
lambda do
|
18
|
+
ClassAndArgumentsParser.parse('')
|
19
|
+
end.should raise_error("Couldn't parse \"\"")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
2
|
+
|
3
|
+
module Spec
|
4
|
+
module Runner
|
5
|
+
describe CommandLine, ".run" do
|
6
|
+
with_sandboxed_options do
|
7
|
+
attr_reader :err, :out
|
8
|
+
before do
|
9
|
+
@err = options.error_stream
|
10
|
+
@out = options.output_stream
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should run directory" do
|
14
|
+
file = File.dirname(__FILE__) + '/../../../examples/pure'
|
15
|
+
run_with(OptionParser.parse([file,"-p","**/*.rb"], @err, @out))
|
16
|
+
|
17
|
+
@out.rewind
|
18
|
+
@out.read.should =~ /\d+ examples, 0 failures, 3 pending/n
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should run file" do
|
22
|
+
file = File.dirname(__FILE__) + '/../../../failing_examples/predicate_example.rb'
|
23
|
+
run_with(OptionParser.parse([file], @err, @out))
|
24
|
+
|
25
|
+
@out.rewind
|
26
|
+
@out.read.should =~ /2 examples, 1 failure/n
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should raise when file does not exist" do
|
30
|
+
file = File.dirname(__FILE__) + '/doesntexist'
|
31
|
+
|
32
|
+
lambda {
|
33
|
+
Spec::Runner::CommandLine.run(OptionParser.parse([file], @err, @out))
|
34
|
+
}.should raise_error
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should return true when in --generate-options mode" do
|
38
|
+
# NOTE - this used to say /dev/null but jruby hangs on that for some reason
|
39
|
+
Spec::Runner::CommandLine.run(
|
40
|
+
OptionParser.parse(['--generate-options', '/tmp/foo'], @err, @out)
|
41
|
+
).should be_true
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should dump even if Interrupt exception is occurred" do
|
45
|
+
example_group = Class.new(::Spec::Example::ExampleGroup) do
|
46
|
+
describe("example_group")
|
47
|
+
it "no error" do
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should interrupt" do
|
51
|
+
raise Interrupt, "I'm interrupting"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
options = ::Spec::Runner::Options.new(@err, @out)
|
56
|
+
::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options)
|
57
|
+
options.reporter.should_receive(:dump)
|
58
|
+
options.add_example_group(example_group)
|
59
|
+
|
60
|
+
Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out))
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should heckle when options have heckle_runner" do
|
64
|
+
example_group = Class.new(::Spec::Example::ExampleGroup).describe("example_group") do
|
65
|
+
it "no error" do
|
66
|
+
end
|
67
|
+
end
|
68
|
+
options = ::Spec::Runner::Options.new(@err, @out)
|
69
|
+
::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options)
|
70
|
+
options.add_example_group example_group
|
71
|
+
|
72
|
+
heckle_runner = mock("heckle_runner")
|
73
|
+
heckle_runner.should_receive(:heckle_with)
|
74
|
+
$rspec_mocks.__send__(:mocks).delete(heckle_runner)
|
75
|
+
|
76
|
+
options.heckle_runner = heckle_runner
|
77
|
+
options.add_example_group(example_group)
|
78
|
+
|
79
|
+
Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out))
|
80
|
+
heckle_runner.rspec_verify
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should run examples backwards if options.reverse is true" do
|
84
|
+
options = ::Spec::Runner::Options.new(@err, @out)
|
85
|
+
::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options)
|
86
|
+
options.reverse = true
|
87
|
+
|
88
|
+
b1 = Class.new(Spec::Example::ExampleGroup)
|
89
|
+
b2 = Class.new(Spec::Example::ExampleGroup)
|
90
|
+
|
91
|
+
b2.should_receive(:run).ordered
|
92
|
+
b1.should_receive(:run).ordered
|
93
|
+
|
94
|
+
options.add_example_group(b1)
|
95
|
+
options.add_example_group(b2)
|
96
|
+
|
97
|
+
Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out))
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should pass its ExampleGroup to the reporter" do
|
101
|
+
example_group = describe("example_group") do
|
102
|
+
it "should" do
|
103
|
+
end
|
104
|
+
end
|
105
|
+
options = ::Spec::Runner::Options.new(@err, @out)
|
106
|
+
options.add_example_group(example_group)
|
107
|
+
|
108
|
+
::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options)
|
109
|
+
options.reporter.should_receive(:add_example_group).with(example_group)
|
110
|
+
|
111
|
+
Spec::Runner::CommandLine.run(OptionParser.parse([], @err, @out))
|
112
|
+
end
|
113
|
+
|
114
|
+
it "runs only selected Examples when options.examples is set" do
|
115
|
+
options = ::Spec::Runner::Options.new(@err, @out)
|
116
|
+
::Spec::Runner::Options.should_receive(:new).with(@err, @out).and_return(options)
|
117
|
+
|
118
|
+
options.examples << "example group expected example"
|
119
|
+
expected_example_was_run = false
|
120
|
+
unexpected_example_was_run = false
|
121
|
+
example_group = describe("example group") do
|
122
|
+
it "expected example" do
|
123
|
+
expected_example_was_run = true
|
124
|
+
end
|
125
|
+
it "unexpected example" do
|
126
|
+
unexpected_example_was_run = true
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
options.reporter.should_receive(:add_example_group).with(example_group)
|
131
|
+
|
132
|
+
options.add_example_group example_group
|
133
|
+
run_with(options)
|
134
|
+
|
135
|
+
expected_example_was_run.should be_true
|
136
|
+
unexpected_example_was_run.should be_false
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper.rb'
|
2
|
+
|
3
|
+
module Spec
|
4
|
+
module Runner
|
5
|
+
describe DrbCommandLine, "without running local server" do
|
6
|
+
unless Config::CONFIG['ruby_install_name'] == 'jruby'
|
7
|
+
it "should print error when there is no running local server" do
|
8
|
+
err = StringIO.new
|
9
|
+
out = StringIO.new
|
10
|
+
DrbCommandLine.run(OptionParser.parse(['--version'], err, out))
|
11
|
+
|
12
|
+
err.rewind
|
13
|
+
err.read.should =~ /No server is running/
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "with local server" do
|
19
|
+
|
20
|
+
class CommandLineForSpec
|
21
|
+
def self.run(argv, stderr, stdout)
|
22
|
+
orig_options = Spec::Runner.options
|
23
|
+
tmp_options = OptionParser.parse(argv, stderr, stdout)
|
24
|
+
Spec::Runner.use tmp_options
|
25
|
+
Spec::Runner::CommandLine.run(tmp_options)
|
26
|
+
ensure
|
27
|
+
Spec::Runner.use orig_options
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
unless Config::CONFIG['ruby_install_name'] == 'jruby'
|
32
|
+
before(:all) do
|
33
|
+
DRb.start_service("druby://127.0.0.1:8989", CommandLineForSpec)
|
34
|
+
@@drb_example_file_counter = 0
|
35
|
+
end
|
36
|
+
|
37
|
+
before(:each) do
|
38
|
+
create_dummy_spec_file
|
39
|
+
@@drb_example_file_counter = @@drb_example_file_counter + 1
|
40
|
+
end
|
41
|
+
|
42
|
+
after(:each) do
|
43
|
+
File.delete(@dummy_spec_filename)
|
44
|
+
end
|
45
|
+
|
46
|
+
after(:all) do
|
47
|
+
DRb.stop_service
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should run against local server" do
|
51
|
+
out = run_spec_via_druby(['--version'])
|
52
|
+
out.should =~ /rspec \d+\.\d+\.\d+.*/n
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should output green colorized text when running with --colour option" do
|
56
|
+
out = run_spec_via_druby(["--colour", @dummy_spec_filename])
|
57
|
+
out.should =~ /\e\[32m/n
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should output red colorized text when running with -c option" do
|
61
|
+
out = run_spec_via_druby(["-c", @dummy_spec_filename])
|
62
|
+
out.should =~ /\e\[31m/n
|
63
|
+
end
|
64
|
+
|
65
|
+
def create_dummy_spec_file
|
66
|
+
@dummy_spec_filename = File.expand_path(File.dirname(__FILE__)) + "/_dummy_spec#{@@drb_example_file_counter}.rb"
|
67
|
+
File.open(@dummy_spec_filename, 'w') do |f|
|
68
|
+
f.write %{
|
69
|
+
describe "DUMMY CONTEXT for 'DrbCommandLine with -c option'" do
|
70
|
+
it "should be output with green bar" do
|
71
|
+
true.should be_true
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should be output with red bar" do
|
75
|
+
violated("I want to see a red bar!")
|
76
|
+
end
|
77
|
+
end
|
78
|
+
}
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def run_spec_via_druby(argv)
|
83
|
+
err, out = StringIO.new, StringIO.new
|
84
|
+
out.instance_eval do
|
85
|
+
def tty?; true end
|
86
|
+
end
|
87
|
+
options = ::Spec::Runner::Options.new(err, out)
|
88
|
+
options.argv = argv
|
89
|
+
Spec::Runner::DrbCommandLine.run(options)
|
90
|
+
out.rewind; out.read
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
97
|
+
end
|
File without changes
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/../../../spec_helper"
|
2
|
+
|
3
|
+
module Spec
|
4
|
+
module Runner
|
5
|
+
module Formatter
|
6
|
+
describe BaseFormatter do
|
7
|
+
before :each do
|
8
|
+
@options, @where = nil, nil
|
9
|
+
@formatter = BaseFormatter.new(@options, @where)
|
10
|
+
end
|
11
|
+
|
12
|
+
class HaveInterfaceMatcher
|
13
|
+
def initialize(method)
|
14
|
+
@method = method
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_reader :object
|
18
|
+
attr_reader :method
|
19
|
+
|
20
|
+
def matches?(object)
|
21
|
+
@object = object
|
22
|
+
object.respond_to?(@method)
|
23
|
+
end
|
24
|
+
|
25
|
+
def with(arity)
|
26
|
+
WithArity.new(self, @method, arity)
|
27
|
+
end
|
28
|
+
|
29
|
+
class WithArity
|
30
|
+
def initialize(matcher, method, arity)
|
31
|
+
@have_matcher = matcher
|
32
|
+
@method = method
|
33
|
+
@arity = arity
|
34
|
+
end
|
35
|
+
|
36
|
+
def matches?(an_object)
|
37
|
+
@have_matcher.matches?(an_object) && real_arity == @arity
|
38
|
+
end
|
39
|
+
|
40
|
+
def failure_message
|
41
|
+
"#{@have_matcher} should have method :#{@method} with #{argument_arity}, but it had #{real_arity}"
|
42
|
+
end
|
43
|
+
|
44
|
+
def arguments
|
45
|
+
self
|
46
|
+
end
|
47
|
+
|
48
|
+
alias_method :argument, :arguments
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def real_arity
|
53
|
+
@have_matcher.object.method(@method).arity
|
54
|
+
end
|
55
|
+
|
56
|
+
def argument_arity
|
57
|
+
if @arity == 1
|
58
|
+
"1 argument"
|
59
|
+
else
|
60
|
+
"#{@arity} arguments"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def have_interface_for(method)
|
67
|
+
HaveInterfaceMatcher.new(method)
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should have start as an interface with one argument"do
|
71
|
+
@formatter.should have_interface_for(:start).with(1).argument
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should have add_example_group as an interface with one argument" do
|
75
|
+
@formatter.should have_interface_for(:add_example_group).with(1).argument
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should have example_started as an interface with one argument" do
|
79
|
+
@formatter.should have_interface_for(:example_started).with(1).argument
|
80
|
+
end
|
81
|
+
|
82
|
+
it "should have example_failed as an interface with three arguments" do
|
83
|
+
@formatter.should have_interface_for(:example_failed).with(3).arguments
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should have example_pending as an interface with three arguments" do
|
87
|
+
@formatter.should have_interface_for(:example_pending).with(3).arguments
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should have start_dump as an interface with zero arguments" do
|
91
|
+
@formatter.should have_interface_for(:start_dump).with(0).arguments
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should have dump_failure as an interface with two arguments" do
|
95
|
+
@formatter.should have_interface_for(:dump_failure).with(2).arguments
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should have dump_summary as an interface with two arguments" do
|
99
|
+
@formatter.should have_interface_for(:dump_failure).with(2).arguments
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should have dump_pending as an interface with zero arguments" do
|
103
|
+
@formatter.should have_interface_for(:dump_pending).with(0).arguments
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should have close as an interface with zero arguments" do
|
107
|
+
@formatter.should have_interface_for(:close).with(0).arguments
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|