rspec 0.0.10 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +8 -0
- data/README +20 -0
- data/Rakefile.rb +122 -0
- data/lib/rspec.rb +9 -0
- data/lib/spec.rb +4 -29
- data/lib/spec/context.rb +61 -0
- data/lib/spec/{mocks/errors.rb → exceptions.rb} +5 -4
- data/lib/spec/expectations.rb +61 -50
- data/lib/spec/mock.rb +104 -0
- data/lib/spec/text_runner.rb +84 -0
- metadata +48 -452
- data/.autotest +0 -3
- data/.gitignore +0 -7
- data/History.txt +0 -1104
- data/MIT-LICENSE +0 -20
- data/Manifest.txt +0 -387
- data/README.txt +0 -36
- data/Rakefile +0 -88
- data/TODO +0 -1
- data/bin/autospec +0 -3
- data/bin/spec +0 -4
- data/bin/spec_translator +0 -8
- data/examples/pure/autogenerated_docstrings_example.rb +0 -19
- data/examples/pure/before_and_after_example.rb +0 -40
- data/examples/pure/behave_as_example.rb +0 -45
- data/examples/pure/custom_expectation_matchers.rb +0 -54
- data/examples/pure/custom_formatter.rb +0 -12
- data/examples/pure/dynamic_spec.rb +0 -9
- data/examples/pure/file_accessor.rb +0 -19
- data/examples/pure/file_accessor_spec.rb +0 -38
- data/examples/pure/greeter_spec.rb +0 -31
- data/examples/pure/helper_method_example.rb +0 -14
- data/examples/pure/io_processor.rb +0 -8
- data/examples/pure/io_processor_spec.rb +0 -21
- data/examples/pure/legacy_spec.rb +0 -11
- data/examples/pure/mocking_example.rb +0 -27
- data/examples/pure/multi_threaded_behaviour_runner.rb +0 -28
- data/examples/pure/nested_classes_example.rb +0 -36
- data/examples/pure/partial_mock_example.rb +0 -29
- data/examples/pure/pending_example.rb +0 -20
- data/examples/pure/predicate_example.rb +0 -27
- data/examples/pure/priority.txt +0 -1
- data/examples/pure/shared_example_group_example.rb +0 -81
- data/examples/pure/shared_stack_examples.rb +0 -38
- data/examples/pure/spec_helper.rb +0 -3
- data/examples/pure/stack.rb +0 -36
- data/examples/pure/stack_spec.rb +0 -63
- data/examples/pure/stack_spec_with_nested_example_groups.rb +0 -67
- data/examples/pure/stubbing_example.rb +0 -69
- data/examples/stories/adder.rb +0 -13
- data/examples/stories/addition +0 -34
- data/examples/stories/addition.rb +0 -9
- data/examples/stories/calculator.rb +0 -65
- data/examples/stories/game-of-life/.loadpath +0 -5
- data/examples/stories/game-of-life/README.txt +0 -21
- data/examples/stories/game-of-life/behaviour/everything.rb +0 -6
- data/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
- data/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
- data/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
- data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
- data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
- data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
- data/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
- data/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
- data/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
- data/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
- data/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
- data/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
- data/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
- data/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
- data/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
- data/examples/stories/game-of-life/life.rb +0 -3
- data/examples/stories/game-of-life/life/game.rb +0 -23
- data/examples/stories/game-of-life/life/grid.rb +0 -43
- data/examples/stories/helper.rb +0 -9
- data/examples/stories/steps/addition_steps.rb +0 -18
- data/failing_examples/README.txt +0 -7
- data/failing_examples/diffing_spec.rb +0 -36
- data/failing_examples/failing_autogenerated_docstrings_example.rb +0 -19
- data/failing_examples/failure_in_setup.rb +0 -10
- data/failing_examples/failure_in_teardown.rb +0 -10
- data/failing_examples/mocking_example.rb +0 -40
- data/failing_examples/mocking_with_flexmock.rb +0 -26
- data/failing_examples/mocking_with_mocha.rb +0 -25
- data/failing_examples/mocking_with_rr.rb +0 -27
- data/failing_examples/partial_mock_example.rb +0 -20
- data/failing_examples/predicate_example.rb +0 -29
- data/failing_examples/raising_example.rb +0 -47
- data/failing_examples/spec_helper.rb +0 -3
- data/failing_examples/syntax_error_example.rb +0 -7
- data/failing_examples/team_spec.rb +0 -44
- data/failing_examples/timeout_behaviour.rb +0 -7
- data/init.rb +0 -9
- data/lib/autotest/discover.rb +0 -3
- data/lib/autotest/rspec.rb +0 -72
- data/lib/spec/adapters.rb +0 -1
- data/lib/spec/adapters/ruby_engine.rb +0 -26
- data/lib/spec/adapters/ruby_engine/mri.rb +0 -8
- data/lib/spec/adapters/ruby_engine/rubinius.rb +0 -8
- data/lib/spec/example.rb +0 -12
- data/lib/spec/example/configuration.rb +0 -158
- data/lib/spec/example/errors.rb +0 -9
- data/lib/spec/example/example_group.rb +0 -17
- data/lib/spec/example/example_group_factory.rb +0 -64
- data/lib/spec/example/example_group_methods.rb +0 -440
- data/lib/spec/example/example_matcher.rb +0 -44
- data/lib/spec/example/example_methods.rb +0 -112
- data/lib/spec/example/module_inclusion_warnings.rb +0 -38
- data/lib/spec/example/module_reopening_fix.rb +0 -21
- data/lib/spec/example/pending.rb +0 -18
- data/lib/spec/example/shared_example_group.rb +0 -58
- data/lib/spec/expectations/differs/default.rb +0 -66
- data/lib/spec/expectations/errors.rb +0 -12
- data/lib/spec/expectations/extensions.rb +0 -2
- data/lib/spec/expectations/extensions/object.rb +0 -63
- data/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
- data/lib/spec/expectations/handler.rb +0 -62
- data/lib/spec/extensions.rb +0 -4
- data/lib/spec/extensions/class.rb +0 -24
- data/lib/spec/extensions/main.rb +0 -102
- data/lib/spec/extensions/metaclass.rb +0 -7
- data/lib/spec/extensions/object.rb +0 -6
- data/lib/spec/interop/test.rb +0 -12
- data/lib/spec/interop/test/unit/autorunner.rb +0 -6
- data/lib/spec/interop/test/unit/testcase.rb +0 -61
- data/lib/spec/interop/test/unit/testresult.rb +0 -6
- data/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
- data/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
- data/lib/spec/matchers.rb +0 -156
- data/lib/spec/matchers/be.rb +0 -224
- data/lib/spec/matchers/be_close.rb +0 -37
- data/lib/spec/matchers/change.rb +0 -148
- data/lib/spec/matchers/eql.rb +0 -43
- data/lib/spec/matchers/equal.rb +0 -43
- data/lib/spec/matchers/exist.rb +0 -17
- data/lib/spec/matchers/has.rb +0 -34
- data/lib/spec/matchers/have.rb +0 -149
- data/lib/spec/matchers/include.rb +0 -70
- data/lib/spec/matchers/match.rb +0 -41
- data/lib/spec/matchers/operator_matcher.rb +0 -73
- data/lib/spec/matchers/raise_error.rb +0 -132
- data/lib/spec/matchers/respond_to.rb +0 -45
- data/lib/spec/matchers/satisfy.rb +0 -47
- data/lib/spec/matchers/simple_matcher.rb +0 -132
- data/lib/spec/matchers/throw_symbol.rb +0 -74
- data/lib/spec/mocks.rb +0 -211
- data/lib/spec/mocks/argument_constraint_matchers.rb +0 -31
- data/lib/spec/mocks/argument_expectation.rb +0 -216
- data/lib/spec/mocks/error_generator.rb +0 -84
- data/lib/spec/mocks/extensions.rb +0 -1
- data/lib/spec/mocks/extensions/object.rb +0 -3
- data/lib/spec/mocks/framework.rb +0 -15
- data/lib/spec/mocks/message_expectation.rb +0 -290
- data/lib/spec/mocks/methods.rb +0 -39
- data/lib/spec/mocks/mock.rb +0 -56
- data/lib/spec/mocks/order_group.rb +0 -29
- data/lib/spec/mocks/proxy.rb +0 -184
- data/lib/spec/mocks/space.rb +0 -28
- data/lib/spec/mocks/spec_methods.rb +0 -38
- data/lib/spec/rake/spectask.rb +0 -227
- data/lib/spec/rake/verify_rcov.rb +0 -52
- data/lib/spec/runner.rb +0 -201
- data/lib/spec/runner/backtrace_tweaker.rb +0 -57
- data/lib/spec/runner/class_and_arguments_parser.rb +0 -16
- data/lib/spec/runner/command_line.rb +0 -28
- data/lib/spec/runner/drb_command_line.rb +0 -20
- data/lib/spec/runner/example_group_runner.rb +0 -59
- data/lib/spec/runner/formatter/base_formatter.rb +0 -77
- data/lib/spec/runner/formatter/base_text_formatter.rb +0 -130
- data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -27
- data/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
- data/lib/spec/runner/formatter/html_formatter.rb +0 -337
- data/lib/spec/runner/formatter/nested_text_formatter.rb +0 -65
- data/lib/spec/runner/formatter/profile_formatter.rb +0 -51
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -34
- data/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
- data/lib/spec/runner/formatter/specdoc_formatter.rb +0 -39
- data/lib/spec/runner/formatter/story/html_formatter.rb +0 -161
- data/lib/spec/runner/formatter/story/plain_text_formatter.rb +0 -188
- data/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
- data/lib/spec/runner/heckle_runner.rb +0 -72
- data/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
- data/lib/spec/runner/option_parser.rb +0 -203
- data/lib/spec/runner/options.rb +0 -309
- data/lib/spec/runner/reporter.rb +0 -147
- data/lib/spec/runner/spec_parser.rb +0 -71
- data/lib/spec/story.rb +0 -10
- data/lib/spec/story/extensions.rb +0 -3
- data/lib/spec/story/extensions/main.rb +0 -86
- data/lib/spec/story/extensions/regexp.rb +0 -9
- data/lib/spec/story/extensions/string.rb +0 -9
- data/lib/spec/story/given_scenario.rb +0 -14
- data/lib/spec/story/runner.rb +0 -60
- data/lib/spec/story/runner/plain_text_story_runner.rb +0 -48
- data/lib/spec/story/runner/scenario_collector.rb +0 -18
- data/lib/spec/story/runner/scenario_runner.rb +0 -54
- data/lib/spec/story/runner/story_mediator.rb +0 -137
- data/lib/spec/story/runner/story_parser.rb +0 -247
- data/lib/spec/story/runner/story_runner.rb +0 -70
- data/lib/spec/story/scenario.rb +0 -14
- data/lib/spec/story/step.rb +0 -70
- data/lib/spec/story/step_group.rb +0 -89
- data/lib/spec/story/step_mother.rb +0 -37
- data/lib/spec/story/story.rb +0 -39
- data/lib/spec/story/world.rb +0 -128
- data/lib/spec/translator.rb +0 -114
- data/lib/spec/version.rb +0 -13
- data/plugins/mock_frameworks/flexmock.rb +0 -23
- data/plugins/mock_frameworks/mocha.rb +0 -19
- data/plugins/mock_frameworks/rr.rb +0 -21
- data/plugins/mock_frameworks/rspec.rb +0 -20
- data/rake_tasks/examples.rake +0 -7
- data/rake_tasks/examples_with_rcov.rake +0 -9
- data/rake_tasks/failing_examples_with_html.rake +0 -9
- data/rake_tasks/verify_rcov.rake +0 -7
- data/spec/README.jruby +0 -15
- data/spec/autotest/discover_spec.rb +0 -19
- data/spec/autotest/rspec_spec.rb +0 -206
- data/spec/autotest_helper.rb +0 -6
- data/spec/autotest_matchers.rb +0 -47
- data/spec/rspec_suite.rb +0 -7
- data/spec/ruby_forker.rb +0 -13
- data/spec/spec.opts +0 -6
- data/spec/spec/adapters/ruby_engine_spec.rb +0 -16
- data/spec/spec/example/configuration_spec.rb +0 -282
- data/spec/spec/example/example_group/described_module_spec.rb +0 -20
- data/spec/spec/example/example_group/warning_messages_spec.rb +0 -76
- data/spec/spec/example/example_group_class_definition_spec.rb +0 -48
- data/spec/spec/example/example_group_factory_spec.rb +0 -144
- data/spec/spec/example/example_group_methods_spec.rb +0 -572
- data/spec/spec/example/example_group_spec.rb +0 -723
- data/spec/spec/example/example_matcher_spec.rb +0 -96
- data/spec/spec/example/example_methods_spec.rb +0 -126
- data/spec/spec/example/example_runner_spec.rb +0 -194
- data/spec/spec/example/example_spec.rb +0 -53
- data/spec/spec/example/nested_example_group_spec.rb +0 -71
- data/spec/spec/example/pending_module_spec.rb +0 -42
- data/spec/spec/example/predicate_matcher_spec.rb +0 -21
- data/spec/spec/example/shared_example_group_spec.rb +0 -265
- data/spec/spec/example/subclassing_example_group_spec.rb +0 -25
- data/spec/spec/expectations/differs/default_spec.rb +0 -127
- data/spec/spec/expectations/extensions/object_spec.rb +0 -107
- data/spec/spec/expectations/fail_with_spec.rb +0 -71
- data/spec/spec/extensions/main_spec.rb +0 -76
- data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
- data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
- data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
- data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
- data/spec/spec/interop/test/unit/spec_spec.rb +0 -45
- data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -14
- data/spec/spec/interop/test/unit/testcase_spec.rb +0 -45
- data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
- data/spec/spec/matchers/be_close_spec.rb +0 -39
- data/spec/spec/matchers/be_spec.rb +0 -248
- data/spec/spec/matchers/change_spec.rb +0 -317
- data/spec/spec/matchers/description_generation_spec.rb +0 -153
- data/spec/spec/matchers/eql_spec.rb +0 -28
- data/spec/spec/matchers/equal_spec.rb +0 -28
- data/spec/spec/matchers/exist_spec.rb +0 -57
- data/spec/spec/matchers/handler_spec.rb +0 -150
- data/spec/spec/matchers/has_spec.rb +0 -53
- data/spec/spec/matchers/have_spec.rb +0 -293
- data/spec/spec/matchers/include_spec.rb +0 -45
- data/spec/spec/matchers/match_spec.rb +0 -37
- data/spec/spec/matchers/matcher_methods_spec.rb +0 -78
- data/spec/spec/matchers/mock_constraint_matchers_spec.rb +0 -24
- data/spec/spec/matchers/operator_matcher_spec.rb +0 -168
- data/spec/spec/matchers/raise_error_spec.rb +0 -315
- data/spec/spec/matchers/respond_to_spec.rb +0 -54
- data/spec/spec/matchers/satisfy_spec.rb +0 -36
- data/spec/spec/matchers/simple_matcher_spec.rb +0 -93
- data/spec/spec/matchers/throw_symbol_spec.rb +0 -54
- data/spec/spec/mocks/any_number_of_times_spec.rb +0 -29
- data/spec/spec/mocks/argument_expectation_spec.rb +0 -23
- data/spec/spec/mocks/at_least_spec.rb +0 -97
- data/spec/spec/mocks/at_most_spec.rb +0 -93
- data/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
- data/spec/spec/mocks/bug_report_10263_spec.rb +0 -24
- data/spec/spec/mocks/bug_report_11545_spec.rb +0 -33
- data/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
- data/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
- data/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
- data/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
- data/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
- data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -130
- data/spec/spec/mocks/hash_including_matcher_spec.rb +0 -32
- data/spec/spec/mocks/mock_ordering_spec.rb +0 -84
- data/spec/spec/mocks/mock_space_spec.rb +0 -54
- data/spec/spec/mocks/mock_spec.rb +0 -494
- data/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
- data/spec/spec/mocks/null_object_mock_spec.rb +0 -40
- data/spec/spec/mocks/once_counts_spec.rb +0 -53
- data/spec/spec/mocks/options_hash_spec.rb +0 -45
- data/spec/spec/mocks/partial_mock_spec.rb +0 -142
- data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
- data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +0 -175
- data/spec/spec/mocks/precise_counts_spec.rb +0 -52
- data/spec/spec/mocks/record_messages_spec.rb +0 -26
- data/spec/spec/mocks/stub_spec.rb +0 -181
- data/spec/spec/mocks/twice_counts_spec.rb +0 -67
- data/spec/spec/package/bin_spec_spec.rb +0 -14
- data/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
- data/spec/spec/runner/command_line_spec.rb +0 -147
- data/spec/spec/runner/drb_command_line_spec.rb +0 -92
- data/spec/spec/runner/empty_file.txt +0 -0
- data/spec/spec/runner/examples.txt +0 -2
- data/spec/spec/runner/execution_context_spec.rb +0 -37
- data/spec/spec/runner/failed.txt +0 -3
- data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
- data/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -365
- data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
- data/spec/spec/runner/formatter/html_formatted-1.8.5.html +0 -371
- data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -381
- data/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -370
- data/spec/spec/runner/formatter/html_formatter_spec.rb +0 -63
- data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -333
- data/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -65
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -137
- data/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
- data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +0 -103
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -158
- data/spec/spec/runner/formatter/story/html_formatter_spec.rb +0 -87
- data/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +0 -548
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +0 -365
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -370
- data/spec/spec/runner/heckle_runner_spec.rb +0 -78
- data/spec/spec/runner/heckler_spec.rb +0 -13
- data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -45
- data/spec/spec/runner/option_parser_spec.rb +0 -394
- data/spec/spec/runner/options_spec.rb +0 -450
- data/spec/spec/runner/output_one_time_fixture.rb +0 -7
- data/spec/spec/runner/output_one_time_fixture_runner.rb +0 -8
- data/spec/spec/runner/output_one_time_spec.rb +0 -16
- data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -56
- data/spec/spec/runner/reporter_spec.rb +0 -192
- 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 +0 -1
- data/spec/spec/runner/spec.opts +0 -2
- data/spec/spec/runner/spec_drb.opts +0 -1
- data/spec/spec/runner/spec_parser/spec_parser_fixture.rb +0 -70
- data/spec/spec/runner/spec_parser_spec.rb +0 -85
- data/spec/spec/runner/spec_spaced.opts +0 -2
- data/spec/spec/runner_spec.rb +0 -11
- data/spec/spec/spec_classes.rb +0 -133
- data/spec/spec/story/builders.rb +0 -46
- data/spec/spec/story/extensions/main_spec.rb +0 -161
- data/spec/spec/story/extensions_spec.rb +0 -14
- data/spec/spec/story/given_scenario_spec.rb +0 -27
- data/spec/spec/story/runner/plain_text_story_runner_spec.rb +0 -93
- data/spec/spec/story/runner/scenario_collector_spec.rb +0 -27
- data/spec/spec/story/runner/scenario_runner_spec.rb +0 -214
- data/spec/spec/story/runner/story_mediator_spec.rb +0 -143
- data/spec/spec/story/runner/story_parser_spec.rb +0 -401
- data/spec/spec/story/runner/story_runner_spec.rb +0 -294
- data/spec/spec/story/runner_spec.rb +0 -93
- data/spec/spec/story/scenario_spec.rb +0 -20
- data/spec/spec/story/step_group_spec.rb +0 -157
- data/spec/spec/story/step_mother_spec.rb +0 -72
- data/spec/spec/story/step_spec.rb +0 -250
- data/spec/spec/story/story_helper.rb +0 -2
- data/spec/spec/story/story_spec.rb +0 -86
- data/spec/spec/story/world_spec.rb +0 -423
- data/spec/spec/translator_spec.rb +0 -265
- data/spec/spec_helper.rb +0 -103
- data/stories/all.rb +0 -5
- data/stories/example_groups/autogenerated_docstrings +0 -45
- data/stories/example_groups/example_group_with_should_methods +0 -17
- data/stories/example_groups/nested_groups +0 -17
- data/stories/example_groups/output +0 -25
- data/stories/example_groups/stories.rb +0 -7
- data/stories/helper.rb +0 -6
- data/stories/interop/examples_and_tests_together +0 -30
- data/stories/interop/stories.rb +0 -7
- data/stories/interop/test_case_with_should_methods +0 -17
- data/stories/mock_framework_integration/stories.rb +0 -7
- data/stories/mock_framework_integration/use_flexmock.story +0 -9
- data/stories/pending_stories/README +0 -3
- data/stories/resources/helpers/cmdline.rb +0 -9
- data/stories/resources/helpers/story_helper.rb +0 -16
- data/stories/resources/matchers/smart_match.rb +0 -37
- data/stories/resources/spec/example_group_with_should_methods.rb +0 -12
- data/stories/resources/spec/simple_spec.rb +0 -8
- data/stories/resources/spec/spec_with_flexmock.rb +0 -18
- data/stories/resources/steps/running_rspec.rb +0 -50
- data/stories/resources/stories/failing_story.rb +0 -15
- data/stories/resources/test/spec_and_test_together.rb +0 -57
- data/stories/resources/test/test_case_with_should_methods.rb +0 -30
- data/stories/stories/multiline_steps.story +0 -23
- data/stories/stories/steps/multiline_steps.rb +0 -13
- data/stories/stories/stories.rb +0 -6
data/lib/spec/example/errors.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
# Base class for customized example groups. Use this if you
|
4
|
-
# want to make a custom example group.
|
5
|
-
class ExampleGroup
|
6
|
-
extend Spec::Example::ExampleGroupMethods
|
7
|
-
include Spec::Example::ExampleMethods
|
8
|
-
|
9
|
-
def initialize(defined_description, &implementation)
|
10
|
-
@_defined_description = defined_description
|
11
|
-
@_implementation = implementation
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
Spec::ExampleGroup = Spec::Example::ExampleGroup
|
@@ -1,64 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
class ExampleGroupFactory
|
4
|
-
class << self
|
5
|
-
def reset
|
6
|
-
@example_group_types = nil
|
7
|
-
default(ExampleGroup)
|
8
|
-
end
|
9
|
-
|
10
|
-
# Registers an example group class +klass+ with the symbol +type+. For
|
11
|
-
# example:
|
12
|
-
#
|
13
|
-
# Spec::Example::ExampleGroupFactory.register(:farm, FarmExampleGroup)
|
14
|
-
#
|
15
|
-
# With that you can append a hash with :type => :farm to the describe
|
16
|
-
# method and it will load an instance of FarmExampleGroup.
|
17
|
-
#
|
18
|
-
# describe Pig, :type => :farm do
|
19
|
-
# ...
|
20
|
-
#
|
21
|
-
# If you don't use the hash explicitly, <tt>describe</tt> will
|
22
|
-
# implicitly use an instance of FarmExampleGroup for any file loaded
|
23
|
-
# from the <tt>./spec/farm</tt> directory.
|
24
|
-
def register(key, example_group_class)
|
25
|
-
@example_group_types[key] = example_group_class
|
26
|
-
end
|
27
|
-
|
28
|
-
# Sets the default ExampleGroup class
|
29
|
-
def default(example_group_class)
|
30
|
-
old = @example_group_types
|
31
|
-
@example_group_types = Hash.new(example_group_class)
|
32
|
-
@example_group_types.merge!(old) if old
|
33
|
-
end
|
34
|
-
|
35
|
-
def get(key=nil)
|
36
|
-
if @example_group_types.values.include?(key)
|
37
|
-
key
|
38
|
-
else
|
39
|
-
@example_group_types[key]
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def create_example_group(*args, &block)
|
44
|
-
opts = Hash === args.last ? args.last : {}
|
45
|
-
superclass = determine_superclass(opts)
|
46
|
-
superclass.describe(*args, &block)
|
47
|
-
end
|
48
|
-
|
49
|
-
protected
|
50
|
-
|
51
|
-
def determine_superclass(opts)
|
52
|
-
key = if opts[:type]
|
53
|
-
opts[:type]
|
54
|
-
elsif opts[:spec_path] =~ /spec(\\|\/)(#{@example_group_types.keys.join('|')})/
|
55
|
-
$2 == '' ? nil : $2.to_sym
|
56
|
-
end
|
57
|
-
get(key)
|
58
|
-
end
|
59
|
-
|
60
|
-
end
|
61
|
-
self.reset
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,440 +0,0 @@
|
|
1
|
-
module Spec
|
2
|
-
module Example
|
3
|
-
|
4
|
-
module ExampleGroupMethods
|
5
|
-
class << self
|
6
|
-
attr_accessor :matcher_class
|
7
|
-
|
8
|
-
def description_text(*args)
|
9
|
-
args.inject("") do |result, arg|
|
10
|
-
result << " " unless (result == "" || arg.to_s =~ /^(\s|\.|#)/)
|
11
|
-
result << arg.to_s
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
attr_reader :description_text, :description_args, :description_options, :spec_path, :registration_binding_block
|
17
|
-
|
18
|
-
def inherited(klass)
|
19
|
-
super
|
20
|
-
klass.register {}
|
21
|
-
Spec::Runner.register_at_exit_hook
|
22
|
-
end
|
23
|
-
|
24
|
-
# Makes the describe/it syntax available from a class. For example:
|
25
|
-
#
|
26
|
-
# class StackSpec < Spec::ExampleGroup
|
27
|
-
# describe Stack, "with no elements"
|
28
|
-
#
|
29
|
-
# before
|
30
|
-
# @stack = Stack.new
|
31
|
-
# end
|
32
|
-
#
|
33
|
-
# it "should raise on pop" do
|
34
|
-
# lambda{ @stack.pop }.should raise_error
|
35
|
-
# end
|
36
|
-
# end
|
37
|
-
#
|
38
|
-
def describe(*args, &example_group_block)
|
39
|
-
args << {} unless Hash === args.last
|
40
|
-
if example_group_block
|
41
|
-
params = args.last
|
42
|
-
params[:spec_path] = eval("caller(0)[1]", example_group_block) unless params[:spec_path]
|
43
|
-
if params[:shared]
|
44
|
-
SharedExampleGroup.new(*args, &example_group_block)
|
45
|
-
else
|
46
|
-
self.subclass("Subclass") do
|
47
|
-
describe(*args)
|
48
|
-
module_eval(&example_group_block)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
else
|
52
|
-
set_description(*args)
|
53
|
-
before_eval
|
54
|
-
self
|
55
|
-
end
|
56
|
-
end
|
57
|
-
alias :context :describe
|
58
|
-
|
59
|
-
# Use this to pull in examples from shared example groups.
|
60
|
-
# See Spec::Runner for information about shared example groups.
|
61
|
-
def it_should_behave_like(shared_example_group)
|
62
|
-
case shared_example_group
|
63
|
-
when SharedExampleGroup
|
64
|
-
include shared_example_group
|
65
|
-
else
|
66
|
-
example_group = SharedExampleGroup.find_shared_example_group(shared_example_group)
|
67
|
-
unless example_group
|
68
|
-
raise RuntimeError.new("Shared Example Group '#{shared_example_group}' can not be found")
|
69
|
-
end
|
70
|
-
include(example_group)
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
# :call-seq:
|
75
|
-
# predicate_matchers[matcher_name] = method_on_object
|
76
|
-
# predicate_matchers[matcher_name] = [method1_on_object, method2_on_object]
|
77
|
-
#
|
78
|
-
# Dynamically generates a custom matcher that will match
|
79
|
-
# a predicate on your class. RSpec provides a couple of these
|
80
|
-
# out of the box:
|
81
|
-
#
|
82
|
-
# exist (or state expectations)
|
83
|
-
# File.should exist("path/to/file")
|
84
|
-
#
|
85
|
-
# an_instance_of (for mock argument constraints)
|
86
|
-
# mock.should_receive(:message).with(an_instance_of(String))
|
87
|
-
#
|
88
|
-
# == Examples
|
89
|
-
#
|
90
|
-
# class Fish
|
91
|
-
# def can_swim?
|
92
|
-
# true
|
93
|
-
# end
|
94
|
-
# end
|
95
|
-
#
|
96
|
-
# describe Fish do
|
97
|
-
# predicate_matchers[:swim] = :can_swim?
|
98
|
-
# it "should swim" do
|
99
|
-
# Fish.new.should swim
|
100
|
-
# end
|
101
|
-
# end
|
102
|
-
def predicate_matchers
|
103
|
-
@predicate_matchers ||= {:an_instance_of => :is_a?}
|
104
|
-
end
|
105
|
-
|
106
|
-
# Creates an instance of Spec::Example::Example and adds
|
107
|
-
# it to a collection of examples of the current example group.
|
108
|
-
def it(description=nil, &implementation)
|
109
|
-
e = new(description, &implementation)
|
110
|
-
example_objects << e
|
111
|
-
e
|
112
|
-
end
|
113
|
-
|
114
|
-
alias_method :specify, :it
|
115
|
-
|
116
|
-
# Use this to temporarily disable an example.
|
117
|
-
def xit(description=nil, opts={}, &block)
|
118
|
-
Kernel.warn("Example disabled: #{description}")
|
119
|
-
end
|
120
|
-
alias_method :xspecify, :xit
|
121
|
-
|
122
|
-
def run
|
123
|
-
examples = examples_to_run
|
124
|
-
reporter.add_example_group(self) unless examples_to_run.empty?
|
125
|
-
return true if examples.empty?
|
126
|
-
return dry_run(examples) if dry_run?
|
127
|
-
|
128
|
-
plugin_mock_framework
|
129
|
-
define_methods_from_predicate_matchers
|
130
|
-
|
131
|
-
success, before_all_instance_variables = run_before_all
|
132
|
-
success, after_all_instance_variables = execute_examples(success, before_all_instance_variables, examples)
|
133
|
-
success = run_after_all(success, after_all_instance_variables)
|
134
|
-
end
|
135
|
-
|
136
|
-
def description
|
137
|
-
result = ExampleGroupMethods.description_text(*description_parts)
|
138
|
-
if result.nil? || result == ""
|
139
|
-
return to_s
|
140
|
-
else
|
141
|
-
result
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
def described_type
|
146
|
-
description_parts.find {|part| part.is_a?(Module)}
|
147
|
-
end
|
148
|
-
|
149
|
-
def description_parts #:nodoc:
|
150
|
-
parts = []
|
151
|
-
execute_in_class_hierarchy do |example_group|
|
152
|
-
parts << example_group.description_args
|
153
|
-
end
|
154
|
-
parts.flatten.compact
|
155
|
-
end
|
156
|
-
|
157
|
-
def set_description(*args)
|
158
|
-
args, options = args_and_options(*args)
|
159
|
-
@description_args = args
|
160
|
-
@description_options = options
|
161
|
-
@description_text = ExampleGroupMethods.description_text(*args)
|
162
|
-
@spec_path = File.expand_path(options[:spec_path]) if options[:spec_path]
|
163
|
-
if described_type.class == Module
|
164
|
-
@described_module = described_type
|
165
|
-
end
|
166
|
-
self
|
167
|
-
end
|
168
|
-
|
169
|
-
attr_reader :described_module
|
170
|
-
|
171
|
-
def examples #:nodoc:
|
172
|
-
examples = example_objects.dup
|
173
|
-
add_method_examples(examples)
|
174
|
-
rspec_options.reverse ? examples.reverse : examples
|
175
|
-
end
|
176
|
-
|
177
|
-
def number_of_examples #:nodoc:
|
178
|
-
examples.length
|
179
|
-
end
|
180
|
-
|
181
|
-
# Registers a block to be executed before each example.
|
182
|
-
# This method prepends +block+ to existing before blocks.
|
183
|
-
def prepend_before(*args, &block)
|
184
|
-
scope, options = scope_and_options(*args)
|
185
|
-
parts = before_parts_from_scope(scope)
|
186
|
-
parts.unshift(block)
|
187
|
-
end
|
188
|
-
|
189
|
-
# Registers a block to be executed before each example.
|
190
|
-
# This method appends +block+ to existing before blocks.
|
191
|
-
def append_before(*args, &block)
|
192
|
-
scope, options = scope_and_options(*args)
|
193
|
-
parts = before_parts_from_scope(scope)
|
194
|
-
parts << block
|
195
|
-
end
|
196
|
-
alias_method :before, :append_before
|
197
|
-
|
198
|
-
# Registers a block to be executed after each example.
|
199
|
-
# This method prepends +block+ to existing after blocks.
|
200
|
-
def prepend_after(*args, &block)
|
201
|
-
scope, options = scope_and_options(*args)
|
202
|
-
parts = after_parts_from_scope(scope)
|
203
|
-
parts.unshift(block)
|
204
|
-
end
|
205
|
-
alias_method :after, :prepend_after
|
206
|
-
|
207
|
-
# Registers a block to be executed after each example.
|
208
|
-
# This method appends +block+ to existing after blocks.
|
209
|
-
def append_after(*args, &block)
|
210
|
-
scope, options = scope_and_options(*args)
|
211
|
-
parts = after_parts_from_scope(scope)
|
212
|
-
parts << block
|
213
|
-
end
|
214
|
-
|
215
|
-
def remove_after(scope, &block)
|
216
|
-
after_each_parts.delete(block)
|
217
|
-
end
|
218
|
-
|
219
|
-
# Deprecated. Use before(:each)
|
220
|
-
def setup(&block)
|
221
|
-
before(:each, &block)
|
222
|
-
end
|
223
|
-
|
224
|
-
# Deprecated. Use after(:each)
|
225
|
-
def teardown(&block)
|
226
|
-
after(:each, &block)
|
227
|
-
end
|
228
|
-
|
229
|
-
def before_all_parts # :nodoc:
|
230
|
-
@before_all_parts ||= []
|
231
|
-
end
|
232
|
-
|
233
|
-
def after_all_parts # :nodoc:
|
234
|
-
@after_all_parts ||= []
|
235
|
-
end
|
236
|
-
|
237
|
-
def before_each_parts # :nodoc:
|
238
|
-
@before_each_parts ||= []
|
239
|
-
end
|
240
|
-
|
241
|
-
def after_each_parts # :nodoc:
|
242
|
-
@after_each_parts ||= []
|
243
|
-
end
|
244
|
-
|
245
|
-
# Only used from RSpec's own examples
|
246
|
-
def reset # :nodoc:
|
247
|
-
@before_all_parts = nil
|
248
|
-
@after_all_parts = nil
|
249
|
-
@before_each_parts = nil
|
250
|
-
@after_each_parts = nil
|
251
|
-
end
|
252
|
-
|
253
|
-
def register(®istration_binding_block)
|
254
|
-
@registration_binding_block = registration_binding_block
|
255
|
-
rspec_options.add_example_group self
|
256
|
-
end
|
257
|
-
|
258
|
-
def unregister #:nodoc:
|
259
|
-
rspec_options.remove_example_group self
|
260
|
-
end
|
261
|
-
|
262
|
-
def registration_backtrace
|
263
|
-
eval("caller", registration_binding_block)
|
264
|
-
end
|
265
|
-
|
266
|
-
def run_before_each(example)
|
267
|
-
execute_in_class_hierarchy do |example_group|
|
268
|
-
example.eval_each_fail_fast(example_group.before_each_parts)
|
269
|
-
end
|
270
|
-
end
|
271
|
-
|
272
|
-
def run_after_each(example)
|
273
|
-
execute_in_class_hierarchy(:superclass_first) do |example_group|
|
274
|
-
example.eval_each_fail_slow(example_group.after_each_parts)
|
275
|
-
end
|
276
|
-
end
|
277
|
-
|
278
|
-
private
|
279
|
-
def dry_run(examples)
|
280
|
-
examples.each do |example|
|
281
|
-
rspec_options.reporter.example_started(example)
|
282
|
-
rspec_options.reporter.example_finished(example)
|
283
|
-
end
|
284
|
-
return true
|
285
|
-
end
|
286
|
-
|
287
|
-
def run_before_all
|
288
|
-
before_all = new("before(:all)")
|
289
|
-
begin
|
290
|
-
execute_in_class_hierarchy do |example_group|
|
291
|
-
before_all.eval_each_fail_fast(example_group.before_all_parts)
|
292
|
-
end
|
293
|
-
return [true, before_all.instance_variable_hash]
|
294
|
-
rescue Exception => e
|
295
|
-
reporter.failure(before_all, e)
|
296
|
-
return [false, before_all.instance_variable_hash]
|
297
|
-
end
|
298
|
-
end
|
299
|
-
|
300
|
-
def execute_examples(success, instance_variables, examples)
|
301
|
-
return [success, instance_variables] unless success
|
302
|
-
|
303
|
-
after_all_instance_variables = instance_variables
|
304
|
-
examples.each do |example_group_instance|
|
305
|
-
success &= example_group_instance.execute(rspec_options, instance_variables)
|
306
|
-
after_all_instance_variables = example_group_instance.instance_variable_hash
|
307
|
-
end
|
308
|
-
return [success, after_all_instance_variables]
|
309
|
-
end
|
310
|
-
|
311
|
-
def run_after_all(success, instance_variables)
|
312
|
-
after_all = new("after(:all)")
|
313
|
-
after_all.set_instance_variables_from_hash(instance_variables)
|
314
|
-
execute_in_class_hierarchy(:superclass_first) do |example_group|
|
315
|
-
after_all.eval_each_fail_slow(example_group.after_all_parts)
|
316
|
-
end
|
317
|
-
return success
|
318
|
-
rescue Exception => e
|
319
|
-
reporter.failure(after_all, e)
|
320
|
-
return false
|
321
|
-
end
|
322
|
-
|
323
|
-
def examples_to_run
|
324
|
-
all_examples = examples
|
325
|
-
return all_examples unless specified_examples?
|
326
|
-
all_examples.reject do |example|
|
327
|
-
matcher = ExampleGroupMethods.matcher_class.
|
328
|
-
new(description.to_s, example.description)
|
329
|
-
!matcher.matches?(specified_examples)
|
330
|
-
end
|
331
|
-
end
|
332
|
-
|
333
|
-
def specified_examples?
|
334
|
-
specified_examples && !specified_examples.empty?
|
335
|
-
end
|
336
|
-
|
337
|
-
def specified_examples
|
338
|
-
rspec_options.examples
|
339
|
-
end
|
340
|
-
|
341
|
-
def reporter
|
342
|
-
rspec_options.reporter
|
343
|
-
end
|
344
|
-
|
345
|
-
def dry_run?
|
346
|
-
rspec_options.dry_run
|
347
|
-
end
|
348
|
-
|
349
|
-
def example_objects
|
350
|
-
@example_objects ||= []
|
351
|
-
end
|
352
|
-
|
353
|
-
def execute_in_class_hierarchy(superclass_last=false)
|
354
|
-
classes = []
|
355
|
-
current_class = self
|
356
|
-
while is_example_group?(current_class)
|
357
|
-
superclass_last ? classes << current_class : classes.unshift(current_class)
|
358
|
-
current_class = current_class.superclass
|
359
|
-
end
|
360
|
-
superclass_last ? classes << ExampleMethods : classes.unshift(ExampleMethods)
|
361
|
-
|
362
|
-
classes.each do |example_group|
|
363
|
-
yield example_group
|
364
|
-
end
|
365
|
-
end
|
366
|
-
|
367
|
-
def is_example_group?(klass)
|
368
|
-
Module === klass && klass.kind_of?(ExampleGroupMethods)
|
369
|
-
end
|
370
|
-
|
371
|
-
def plugin_mock_framework
|
372
|
-
case mock_framework = Spec::Runner.configuration.mock_framework
|
373
|
-
when Module
|
374
|
-
include mock_framework
|
375
|
-
else
|
376
|
-
require Spec::Runner.configuration.mock_framework
|
377
|
-
include Spec::Plugins::MockFramework
|
378
|
-
end
|
379
|
-
end
|
380
|
-
|
381
|
-
def define_methods_from_predicate_matchers # :nodoc:
|
382
|
-
all_predicate_matchers = predicate_matchers.merge(
|
383
|
-
Spec::Runner.configuration.predicate_matchers
|
384
|
-
)
|
385
|
-
all_predicate_matchers.each_pair do |matcher_method, method_on_object|
|
386
|
-
define_method matcher_method do |*args|
|
387
|
-
eval("be_#{method_on_object.to_s.gsub('?','')}(*args)")
|
388
|
-
end
|
389
|
-
end
|
390
|
-
end
|
391
|
-
|
392
|
-
def scope_and_options(*args)
|
393
|
-
args, options = args_and_options(*args)
|
394
|
-
scope = (args[0] || :each), options
|
395
|
-
end
|
396
|
-
|
397
|
-
def before_parts_from_scope(scope)
|
398
|
-
case scope
|
399
|
-
when :each; before_each_parts
|
400
|
-
when :all; before_all_parts
|
401
|
-
when :suite; rspec_options.before_suite_parts
|
402
|
-
end
|
403
|
-
end
|
404
|
-
|
405
|
-
def after_parts_from_scope(scope)
|
406
|
-
case scope
|
407
|
-
when :each; after_each_parts
|
408
|
-
when :all; after_all_parts
|
409
|
-
when :suite; rspec_options.after_suite_parts
|
410
|
-
end
|
411
|
-
end
|
412
|
-
|
413
|
-
def before_eval
|
414
|
-
end
|
415
|
-
|
416
|
-
def add_method_examples(examples)
|
417
|
-
instance_methods.sort.each do |method_name|
|
418
|
-
if example_method?(method_name)
|
419
|
-
examples << new(method_name) do
|
420
|
-
__send__(method_name)
|
421
|
-
end
|
422
|
-
end
|
423
|
-
end
|
424
|
-
end
|
425
|
-
|
426
|
-
def example_method?(method_name)
|
427
|
-
should_method?(method_name)
|
428
|
-
end
|
429
|
-
|
430
|
-
def should_method?(method_name)
|
431
|
-
!(method_name =~ /^should(_not)?$/) &&
|
432
|
-
method_name =~ /^should/ && (
|
433
|
-
instance_method(method_name).arity == 0 ||
|
434
|
-
instance_method(method_name).arity == -1
|
435
|
-
)
|
436
|
-
end
|
437
|
-
end
|
438
|
-
|
439
|
-
end
|
440
|
-
end
|