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,26 @@
|
|
1
|
+
# stub frameworks like to gum up Object, so this is deliberately
|
2
|
+
# set NOT to run so that you don't accidentally run it when you
|
3
|
+
# run this dir.
|
4
|
+
|
5
|
+
# To run it, stand in this directory and say:
|
6
|
+
#
|
7
|
+
# RUN_FLEXMOCK_EXAMPLE=true ruby ../bin/spec mocking_with_flexmock.rb
|
8
|
+
|
9
|
+
if ENV['RUN_FLEXMOCK_EXAMPLE']
|
10
|
+
Spec::Runner.configure do |config|
|
11
|
+
config.mock_with :flexmock
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "Flexmocks" do
|
15
|
+
it "should fail when the expected message is received with wrong arguments" do
|
16
|
+
m = flexmock("now flex!")
|
17
|
+
m.should_receive(:msg).with("arg").once
|
18
|
+
m.msg("other arg")
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should fail when the expected message is not received at all" do
|
22
|
+
m = flexmock("now flex!")
|
23
|
+
m.should_receive(:msg).with("arg").once
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# stub frameworks like to gum up Object, so this is deliberately
|
2
|
+
# set NOT to run so that you don't accidentally run it when you
|
3
|
+
# run this dir.
|
4
|
+
|
5
|
+
# To run it, stand in this directory and say:
|
6
|
+
#
|
7
|
+
# RUN_MOCHA_EXAMPLE=true ruby ../bin/spec mocking_with_mocha.rb
|
8
|
+
|
9
|
+
if ENV['RUN_MOCHA_EXAMPLE']
|
10
|
+
Spec::Runner.configure do |config|
|
11
|
+
config.mock_with :mocha
|
12
|
+
end
|
13
|
+
describe "Mocha framework" do
|
14
|
+
it "should should be made available by saying config.mock_with :mocha" do
|
15
|
+
m = mock()
|
16
|
+
m.expects(:msg).with("arg")
|
17
|
+
m.msg
|
18
|
+
end
|
19
|
+
it "should should be made available by saying config.mock_with :mocha" do
|
20
|
+
o = Object.new
|
21
|
+
o.expects(:msg).with("arg")
|
22
|
+
o.msg
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# stub frameworks like to gum up Object, so this is deliberately
|
2
|
+
# set NOT to run so that you don't accidentally run it when you
|
3
|
+
# run this dir.
|
4
|
+
|
5
|
+
# To run it, stand in this directory and say:
|
6
|
+
#
|
7
|
+
# RUN_RR_EXAMPLE=true ruby ../bin/spec mocking_with_rr.rb
|
8
|
+
|
9
|
+
if ENV['RUN_RR_EXAMPLE']
|
10
|
+
Spec::Runner.configure do |config|
|
11
|
+
config.mock_with :rr
|
12
|
+
end
|
13
|
+
describe "RR framework" do
|
14
|
+
it "should should be made available by saying config.mock_with :rr" do
|
15
|
+
o = Object.new
|
16
|
+
mock(o).msg("arg")
|
17
|
+
o.msg
|
18
|
+
end
|
19
|
+
it "should should be made available by saying config.mock_with :rr" do
|
20
|
+
o = Object.new
|
21
|
+
mock(o) do |m|
|
22
|
+
m.msg("arg")
|
23
|
+
end
|
24
|
+
o.msg
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
class MockableClass
|
4
|
+
def self.find id
|
5
|
+
return :original_return
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "A partial mock" do
|
10
|
+
|
11
|
+
it "should work at the class level (but fail here due to the type mismatch)" do
|
12
|
+
MockableClass.should_receive(:find).with(1).and_return {:stub_return}
|
13
|
+
MockableClass.find("1").should equal(:stub_return)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should revert to the original after each spec" do
|
17
|
+
MockableClass.find(1).should equal(:original_return)
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
class BddFramework
|
4
|
+
def intuitive?
|
5
|
+
true
|
6
|
+
end
|
7
|
+
|
8
|
+
def adopted_quickly?
|
9
|
+
#this will cause failures because it reallly SHOULD be adopted quickly
|
10
|
+
false
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "BDD framework" do
|
15
|
+
|
16
|
+
before(:each) do
|
17
|
+
@bdd_framework = BddFramework.new
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should be adopted quickly" do
|
21
|
+
#this will fail because it reallly SHOULD be adopted quickly
|
22
|
+
@bdd_framework.should be_adopted_quickly
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should be intuitive" do
|
26
|
+
@bdd_framework.should be_intuitive
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
describe "This example" do
|
2
|
+
|
3
|
+
it "should show that a NoMethodError is raised but an Exception was expected" do
|
4
|
+
proc { ''.nonexistent_method }.should raise_error
|
5
|
+
end
|
6
|
+
|
7
|
+
it "should pass" do
|
8
|
+
proc { ''.nonexistent_method }.should raise_error(NoMethodError)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should show that a NoMethodError is raised but a SyntaxError was expected" do
|
12
|
+
proc { ''.nonexistent_method }.should raise_error(SyntaxError)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should show that nothing is raised when SyntaxError was expected" do
|
16
|
+
proc { }.should raise_error(SyntaxError)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should show that a NoMethodError is raised but a Exception was expected" do
|
20
|
+
proc { ''.nonexistent_method }.should_not raise_error
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should show that a NoMethodError is raised" do
|
24
|
+
proc { ''.nonexistent_method }.should_not raise_error(NoMethodError)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should also pass" do
|
28
|
+
proc { ''.nonexistent_method }.should_not raise_error(SyntaxError)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should show that a NoMethodError is raised when nothing expected" do
|
32
|
+
proc { ''.nonexistent_method }.should_not raise_error(Exception)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should show that the wrong message was received" do
|
36
|
+
proc { raise StandardError.new("what is an enterprise?") }.should raise_error(StandardError, "not this")
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should show that the unexpected error/message was thrown" do
|
40
|
+
proc { raise StandardError.new("abc") }.should_not raise_error(StandardError, "abc")
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should pass too" do
|
44
|
+
proc { raise StandardError.new("abc") }.should_not raise_error(StandardError, "xyz")
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
|
3
|
+
|
4
|
+
class Team
|
5
|
+
attr_reader :players
|
6
|
+
def initialize
|
7
|
+
@players = Players.new
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class Players
|
12
|
+
def initialize
|
13
|
+
@players = []
|
14
|
+
end
|
15
|
+
def size
|
16
|
+
@players.size
|
17
|
+
end
|
18
|
+
def include? player
|
19
|
+
raise "player must be a string" unless player.is_a?(String)
|
20
|
+
@players.include? player
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "A new team" do
|
25
|
+
|
26
|
+
before(:each) do
|
27
|
+
@team = Team.new
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should have 3 players (failing example)" do
|
31
|
+
@team.should have(3).players
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should include some player (failing example)" do
|
35
|
+
@team.players.should include("Some Player")
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should include 5 (failing example)" do
|
39
|
+
@team.players.should include(5)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should have no players"
|
43
|
+
|
44
|
+
end
|
data/init.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
# Placeholder to satisfy Rails.
|
2
|
+
#
|
3
|
+
# Do NOT add any require statements to this file. Doing
|
4
|
+
# so will cause Rails to load this plugin all of the time.
|
5
|
+
#
|
6
|
+
# Running 'ruby script/generate rspec' will
|
7
|
+
# generate spec/spec_helper.rb, which includes the necessary
|
8
|
+
# require statements and configuration. This file should
|
9
|
+
# be required by all of your spec files.
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'autotest'
|
2
|
+
|
3
|
+
Autotest.add_hook :initialize do |at|
|
4
|
+
at.clear_mappings
|
5
|
+
# watch out: Ruby bug (1.8.6):
|
6
|
+
# %r(/) != /\//
|
7
|
+
at.add_mapping(%r%^spec/.*_spec.rb$%) { |filename, _|
|
8
|
+
filename
|
9
|
+
}
|
10
|
+
at.add_mapping(%r%^lib/(.*)\.rb$%) { |_, m|
|
11
|
+
["spec/#{m[1]}_spec.rb"]
|
12
|
+
}
|
13
|
+
at.add_mapping(%r%^spec/(spec_helper|shared/.*)\.rb$%) {
|
14
|
+
at.files_matching %r%^spec/.*_spec\.rb$%
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
class RspecCommandError < StandardError; end
|
19
|
+
|
20
|
+
class Autotest::Rspec < Autotest
|
21
|
+
|
22
|
+
def initialize
|
23
|
+
super
|
24
|
+
self.failed_results_re = /^\d+\)\n(?:\e\[\d*m)?(?:.*?Error in )?'([^\n]*)'(?: FAILED)?(?:\e\[\d*m)?\n(.*?)\n\n/m
|
25
|
+
self.completed_re = /\n(?:\e\[\d*m)?\d* examples?/m
|
26
|
+
end
|
27
|
+
|
28
|
+
def consolidate_failures(failed)
|
29
|
+
filters = new_hash_of_arrays
|
30
|
+
failed.each do |spec, trace|
|
31
|
+
if trace =~ /\n(\.\/)?(.*spec\.rb):[\d]+:\Z?/
|
32
|
+
filters[$2] << spec
|
33
|
+
end
|
34
|
+
end
|
35
|
+
return filters
|
36
|
+
end
|
37
|
+
|
38
|
+
def make_test_cmd(files_to_test)
|
39
|
+
return '' if files_to_test.empty?
|
40
|
+
return "#{ruby} -S #{files_to_test.keys.flatten.join(' ')} #{add_options_if_present}"
|
41
|
+
end
|
42
|
+
|
43
|
+
def add_options_if_present # :nodoc:
|
44
|
+
File.exist?("spec/spec.opts") ? "-O spec/spec.opts " : ""
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec/adapters/ruby_engine/mri'
|
2
|
+
require 'spec/adapters/ruby_engine/rubinius'
|
3
|
+
|
4
|
+
module Spec
|
5
|
+
module Adapters
|
6
|
+
module RubyEngine
|
7
|
+
|
8
|
+
ENGINES = {
|
9
|
+
'mri' => MRI.new,
|
10
|
+
'rbx' => Rubinius.new
|
11
|
+
}
|
12
|
+
|
13
|
+
def self.engine
|
14
|
+
if Object.const_defined?('RUBY_ENGINE')
|
15
|
+
return Object.const_get('RUBY_ENGINE')
|
16
|
+
else
|
17
|
+
return 'mri'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.adapter
|
22
|
+
return ENGINES[engine]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'spec/adapters/ruby_engine'
|
@@ -0,0 +1,93 @@
|
|
1
|
+
module Spec
|
2
|
+
module Example
|
3
|
+
module BeforeAndAfterHooks
|
4
|
+
# Registers a block to be executed before each example.
|
5
|
+
# This method prepends +block+ to existing before blocks.
|
6
|
+
def prepend_before(*args, &block)
|
7
|
+
scope, options = scope_and_options(*args)
|
8
|
+
parts = before_parts_from_scope(scope)
|
9
|
+
parts.unshift(block)
|
10
|
+
end
|
11
|
+
|
12
|
+
# Registers a block to be executed before each example.
|
13
|
+
# This method appends +block+ to existing before blocks.
|
14
|
+
def append_before(*args, &block)
|
15
|
+
scope, options = scope_and_options(*args)
|
16
|
+
parts = before_parts_from_scope(scope)
|
17
|
+
parts << block
|
18
|
+
end
|
19
|
+
alias_method :before, :append_before
|
20
|
+
|
21
|
+
# Registers a block to be executed after each example.
|
22
|
+
# This method prepends +block+ to existing after blocks.
|
23
|
+
def prepend_after(*args, &block)
|
24
|
+
scope, options = scope_and_options(*args)
|
25
|
+
parts = after_parts_from_scope(scope)
|
26
|
+
parts.unshift(block)
|
27
|
+
end
|
28
|
+
alias_method :after, :prepend_after
|
29
|
+
|
30
|
+
# Registers a block to be executed after each example.
|
31
|
+
# This method appends +block+ to existing after blocks.
|
32
|
+
def append_after(*args, &block)
|
33
|
+
scope, options = scope_and_options(*args)
|
34
|
+
parts = after_parts_from_scope(scope)
|
35
|
+
parts << block
|
36
|
+
end
|
37
|
+
|
38
|
+
def remove_after(scope, &block)
|
39
|
+
after_each_parts.delete(block)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Deprecated. Use before(:each)
|
43
|
+
def setup(&block)
|
44
|
+
before(:each, &block)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Deprecated. Use after(:each)
|
48
|
+
def teardown(&block)
|
49
|
+
after(:each, &block)
|
50
|
+
end
|
51
|
+
|
52
|
+
def before_all_parts # :nodoc:
|
53
|
+
@before_all_parts ||= []
|
54
|
+
end
|
55
|
+
|
56
|
+
def after_all_parts # :nodoc:
|
57
|
+
@after_all_parts ||= []
|
58
|
+
end
|
59
|
+
|
60
|
+
def before_each_parts # :nodoc:
|
61
|
+
@before_each_parts ||= []
|
62
|
+
end
|
63
|
+
|
64
|
+
def after_each_parts # :nodoc:
|
65
|
+
@after_each_parts ||= []
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def scope_and_options(*args)
|
71
|
+
args, options = args_and_options(*args)
|
72
|
+
scope = (args[0] || :each), options
|
73
|
+
end
|
74
|
+
|
75
|
+
def before_parts_from_scope(scope)
|
76
|
+
case scope
|
77
|
+
when :each; before_each_parts
|
78
|
+
when :all; before_all_parts
|
79
|
+
when :suite; Spec::Runner.options.before_suite_parts
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def after_parts_from_scope(scope)
|
84
|
+
case scope
|
85
|
+
when :each; after_each_parts
|
86
|
+
when :all; after_all_parts
|
87
|
+
when :suite; Spec::Runner.options.after_suite_parts
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|