rspec 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/History.txt +12 -1
  2. data/Manifest.txt +3 -3
  3. data/Rakefile +0 -1
  4. data/TODO.txt +8 -0
  5. data/bin/autospec +0 -1
  6. data/examples/pure/autogenerated_docstrings_example.rb +4 -4
  7. data/lib/autotest/discover.rb +1 -1
  8. data/lib/spec/example/errors.rb +19 -4
  9. data/lib/spec/example/example_group.rb +8 -1
  10. data/lib/spec/example/example_group_methods.rb +26 -20
  11. data/lib/spec/example/example_methods.rb +2 -7
  12. data/lib/spec/matchers/be.rb +18 -18
  13. data/lib/spec/matchers/be_close.rb +5 -5
  14. data/lib/spec/matchers/eql.rb +6 -6
  15. data/lib/spec/matchers/equal.rb +6 -6
  16. data/lib/spec/matchers/exist.rb +10 -5
  17. data/lib/spec/matchers/has.rb +2 -2
  18. data/lib/spec/matchers/have.rb +8 -8
  19. data/lib/spec/matchers/include.rb +5 -5
  20. data/lib/spec/matchers/match.rb +9 -9
  21. data/lib/spec/matchers/operator_matcher.rb +17 -17
  22. data/lib/spec/matchers/raise_error.rb +17 -17
  23. data/lib/spec/matchers/respond_to.rb +5 -4
  24. data/lib/spec/matchers/satisfy.rb +5 -5
  25. data/lib/spec/matchers/simple_matcher.rb +8 -8
  26. data/lib/spec/matchers/throw_symbol.rb +3 -3
  27. data/lib/spec/mocks.rb +0 -11
  28. data/lib/spec/mocks/argument_constraints.rb +5 -25
  29. data/lib/spec/mocks/argument_expectation.rb +19 -41
  30. data/lib/spec/mocks/message_expectation.rb +1 -1
  31. data/lib/spec/story/runner.rb +1 -1
  32. data/lib/spec/version.rb +2 -2
  33. data/rspec.gemspec +6 -6
  34. data/spec/{autotest_helper.rb → autotest/autotest_helper.rb} +2 -2
  35. data/spec/{autotest_matchers.rb → autotest/autotest_matchers.rb} +0 -0
  36. data/spec/autotest/discover_spec.rb +1 -1
  37. data/spec/autotest/rspec_spec.rb +1 -1
  38. data/spec/rspec_suite.rb +0 -1
  39. data/spec/spec/example/example_methods_spec.rb +36 -3
  40. data/spec/spec/example/pending_module_spec.rb +76 -0
  41. data/spec/spec/matchers/respond_to_spec.rb +6 -6
  42. data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -34
  43. data/spec/spec/mocks/mock_spec.rb +6 -0
  44. data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +0 -44
  45. data/spec/spec/runner/drb_command_line_spec.rb +1 -1
  46. data/spec/spec/{example → runner/formatter}/base_formatter_spec.rb +1 -1
  47. data/spec/spec/runner/option_parser_spec.rb +1 -1
  48. data/spec/spec/runner/reporter_spec.rb +1 -1
  49. data/spec/spec/story/runner/story_runner_spec.rb +3 -3
  50. data/spec/spec/story/world_spec.rb +7 -7
  51. metadata +7 -7
@@ -3,52 +3,23 @@ module Spec
3
3
 
4
4
  class ArgumentExpectation
5
5
  attr_reader :args
6
- @@constraint_classes = Hash.new
7
- @@constraint_classes[:anything] = ArgumentConstraints::AnyArgConstraint
8
- @@constraint_classes[:boolean] = ArgumentConstraints::BooleanArgConstraint
9
- @@constraint_classes[:numeric] = ArgumentConstraints::Deprecated::NumericArgConstraint
10
- @@constraint_classes[:string] = ArgumentConstraints::Deprecated::StringArgConstraint
11
6
 
12
7
  def initialize(args, &block)
13
8
  @args = args
14
9
  @constraints_block = block
15
10
 
16
- if [:any_args] == args
17
- @expected_args = nil
18
- warn_constraint_symbol_deprecated(:any_args.inspect, "any_args()")
19
- elsif ArgumentConstraints::AnyArgsConstraint === args.first
20
- @expected_args = nil
21
- elsif [:no_args] == args
22
- @expected_args = []
23
- warn_constraint_symbol_deprecated(:no_args.inspect, "no_args()")
11
+ if ArgumentConstraints::AnyArgsConstraint === args.first
12
+ @match_any_args = true
24
13
  elsif ArgumentConstraints::NoArgsConstraint === args.first
25
- @expected_args = []
14
+ @constraints = []
26
15
  else
27
- @expected_args = args.collect {|arg| constraint_for(arg)}
16
+ @constraints = args.collect {|arg| constraint_for(arg)}
28
17
  end
29
18
  end
30
19
 
31
- def warn_constraint_symbol_deprecated(deprecated_method, instead)
32
- Kernel.warn "The #{deprecated_method} constraint is deprecated and will be removed after RSpec 1.1.5. Use #{instead} instead."
33
- end
34
-
35
20
  def constraint_for(arg)
36
- if [:anything, :numeric, :boolean, :string].include?(arg)
37
- case arg
38
- when :anything
39
- instead = "anything()"
40
- when :boolean
41
- instead = "boolean()"
42
- when :numeric
43
- instead = "an_instance_of(Numeric)"
44
- when :string
45
- instead = "an_instance_of(String)"
46
- end
47
- warn_constraint_symbol_deprecated(arg.inspect, instead)
48
- return @@constraint_classes[arg].new(arg)
49
- end
50
- return ArgumentConstraints::MatcherConstraint.new(arg) if is_matcher?(arg)
51
- return ArgumentConstraints::RegexpArgConstraint.new(arg) if arg.is_a?(Regexp)
21
+ return ArgumentConstraints::MatcherConstraint.new(arg) if is_matcher?(arg)
22
+ return ArgumentConstraints::RegexpConstraint.new(arg) if arg.is_a?(Regexp)
52
23
  return ArgumentConstraints::EqualityProxy.new(arg)
53
24
  end
54
25
 
@@ -57,12 +28,19 @@ module Spec
57
28
  end
58
29
 
59
30
  def args_match?(given_args)
60
- if @constraints_block
61
- @constraints_block.call(*given_args)
62
- return true
63
- end
64
-
65
- @expected_args.nil? || @expected_args == given_args
31
+ match_any_args? || constraints_block_matches?(given_args) || constraints_match?(given_args)
32
+ end
33
+
34
+ def constraints_block_matches?(given_args)
35
+ @constraints_block ? @constraints_block.call(*given_args) : nil
36
+ end
37
+
38
+ def constraints_match?(given_args)
39
+ @constraints == given_args
40
+ end
41
+
42
+ def match_any_args?
43
+ @match_any_args
66
44
  end
67
45
 
68
46
  end
@@ -126,7 +126,7 @@ module Spec
126
126
  end
127
127
 
128
128
  def called_max_times?
129
- @expected_received_count != :any &&
129
+ @expected_received_count != :any && @expected_received_count > 0 &&
130
130
  @actual_received_count >= @expected_received_count
131
131
  end
132
132
 
@@ -33,7 +33,7 @@ module Spec
33
33
  end
34
34
 
35
35
  def create_story_runner
36
- StoryRunner.new(scenario_runner, world_creator)
36
+ Runner::StoryRunner.new(scenario_runner, world_creator)
37
37
  end
38
38
 
39
39
  # Use this to register a customer output formatter.
data/lib/spec/version.rb CHANGED
@@ -3,11 +3,11 @@ module Spec
3
3
  unless defined? MAJOR
4
4
  MAJOR = 1
5
5
  MINOR = 1
6
- TINY = 5
6
+ TINY = 6
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
9
9
 
10
- SUMMARY = "rspec version #{STRING}"
10
+ SUMMARY = "rspec #{STRING}"
11
11
  end
12
12
  end
13
13
  end
data/rspec.gemspec CHANGED
@@ -1,28 +1,28 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{rspec}
3
- s.version = "1.1.5"
3
+ s.version = "1.1.6"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["RSpec Development Team"]
7
- s.date = %q{2008-09-28}
7
+ s.date = %q{2008-10-02}
8
8
  s.description = %q{Behaviour Driven Development for Ruby.}
9
9
  s.email = ["rspec-devel@rubyforge.org"]
10
10
  s.executables = ["autospec", "spec"]
11
11
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt", "TODO.txt", "examples/pure/priority.txt", "examples/stories/game-of-life/README.txt", "examples/stories/game-of-life/behaviour/stories/stories.txt", "failing_examples/README.txt", "spec/spec/runner/empty_file.txt", "spec/spec/runner/examples.txt", "spec/spec/runner/failed.txt"]
12
- s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "TODO.txt", "bin/autospec", "bin/spec", "examples/pure/autogenerated_docstrings_example.rb", "examples/pure/before_and_after_example.rb", "examples/pure/behave_as_example.rb", "examples/pure/custom_expectation_matchers.rb", "examples/pure/custom_formatter.rb", "examples/pure/dynamic_spec.rb", "examples/pure/file_accessor.rb", "examples/pure/file_accessor_spec.rb", "examples/pure/greeter_spec.rb", "examples/pure/helper_method_example.rb", "examples/pure/io_processor.rb", "examples/pure/io_processor_spec.rb", "examples/pure/legacy_spec.rb", "examples/pure/mocking_example.rb", "examples/pure/multi_threaded_behaviour_runner.rb", "examples/pure/nested_classes_example.rb", "examples/pure/partial_mock_example.rb", "examples/pure/pending_example.rb", "examples/pure/predicate_example.rb", "examples/pure/priority.txt", "examples/pure/shared_example_group_example.rb", "examples/pure/shared_stack_examples.rb", "examples/pure/spec_helper.rb", "examples/pure/stack.rb", "examples/pure/stack_spec.rb", "examples/pure/stack_spec_with_nested_example_groups.rb", "examples/pure/stubbing_example.rb", "examples/pure/yielding_example.rb", "examples/stories/adder.rb", "examples/stories/addition", "examples/stories/addition.rb", "examples/stories/calculator.rb", "examples/stories/game-of-life/.loadpath", "examples/stories/game-of-life/README.txt", "examples/stories/game-of-life/behaviour/everything.rb", "examples/stories/game-of-life/behaviour/examples/examples.rb", "examples/stories/game-of-life/behaviour/examples/game_behaviour.rb", "examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb", "examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story", "examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story", "examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story", "examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story", "examples/stories/game-of-life/behaviour/stories/ICanKillACell.story", "examples/stories/game-of-life/behaviour/stories/TheGridWraps.story", "examples/stories/game-of-life/behaviour/stories/create_a_cell.rb", "examples/stories/game-of-life/behaviour/stories/helper.rb", "examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb", "examples/stories/game-of-life/behaviour/stories/steps.rb", "examples/stories/game-of-life/behaviour/stories/stories.rb", "examples/stories/game-of-life/behaviour/stories/stories.txt", "examples/stories/game-of-life/life.rb", "examples/stories/game-of-life/life/game.rb", "examples/stories/game-of-life/life/grid.rb", "examples/stories/helper.rb", "examples/stories/steps/addition_steps.rb", "failing_examples/README.txt", "failing_examples/diffing_spec.rb", "failing_examples/failing_autogenerated_docstrings_example.rb", "failing_examples/failure_in_setup.rb", "failing_examples/failure_in_teardown.rb", "failing_examples/mocking_example.rb", "failing_examples/mocking_with_flexmock.rb", "failing_examples/mocking_with_mocha.rb", "failing_examples/mocking_with_rr.rb", "failing_examples/partial_mock_example.rb", "failing_examples/predicate_example.rb", "failing_examples/raising_example.rb", "failing_examples/spec_helper.rb", "failing_examples/syntax_error_example.rb", "failing_examples/team_spec.rb", "failing_examples/timeout_behaviour.rb", "init.rb", "lib/autotest/discover.rb", "lib/autotest/rspec.rb", "lib/spec.rb", "lib/spec/adapters.rb", "lib/spec/adapters/ruby_engine.rb", "lib/spec/adapters/ruby_engine/mri.rb", "lib/spec/adapters/ruby_engine/rubinius.rb", "lib/spec/example.rb", "lib/spec/example/configuration.rb", "lib/spec/example/errors.rb", "lib/spec/example/example_group.rb", "lib/spec/example/example_group_factory.rb", "lib/spec/example/example_group_methods.rb", "lib/spec/example/example_matcher.rb", "lib/spec/example/example_methods.rb", "lib/spec/example/module_inclusion_warnings.rb", "lib/spec/example/module_reopening_fix.rb", "lib/spec/example/pending.rb", "lib/spec/example/shared_example_group.rb", "lib/spec/expectations.rb", "lib/spec/expectations/differs/default.rb", "lib/spec/expectations/errors.rb", "lib/spec/expectations/extensions.rb", "lib/spec/expectations/extensions/object.rb", "lib/spec/expectations/extensions/string_and_symbol.rb", "lib/spec/expectations/handler.rb", "lib/spec/extensions.rb", "lib/spec/extensions/class.rb", "lib/spec/extensions/main.rb", "lib/spec/extensions/metaclass.rb", "lib/spec/extensions/object.rb", "lib/spec/interop/test.rb", "lib/spec/interop/test/unit/autorunner.rb", "lib/spec/interop/test/unit/testcase.rb", "lib/spec/interop/test/unit/testresult.rb", "lib/spec/interop/test/unit/testsuite_adapter.rb", "lib/spec/interop/test/unit/ui/console/testrunner.rb", "lib/spec/matchers.rb", "lib/spec/matchers/be.rb", "lib/spec/matchers/be_close.rb", "lib/spec/matchers/change.rb", "lib/spec/matchers/eql.rb", "lib/spec/matchers/equal.rb", "lib/spec/matchers/exist.rb", "lib/spec/matchers/has.rb", "lib/spec/matchers/have.rb", "lib/spec/matchers/include.rb", "lib/spec/matchers/match.rb", "lib/spec/matchers/operator_matcher.rb", "lib/spec/matchers/raise_error.rb", "lib/spec/matchers/respond_to.rb", "lib/spec/matchers/satisfy.rb", "lib/spec/matchers/simple_matcher.rb", "lib/spec/matchers/throw_symbol.rb", "lib/spec/mocks.rb", "lib/spec/mocks/argument_constraints.rb", "lib/spec/mocks/argument_expectation.rb", "lib/spec/mocks/error_generator.rb", "lib/spec/mocks/errors.rb", "lib/spec/mocks/extensions.rb", "lib/spec/mocks/extensions/object.rb", "lib/spec/mocks/framework.rb", "lib/spec/mocks/message_expectation.rb", "lib/spec/mocks/methods.rb", "lib/spec/mocks/mock.rb", "lib/spec/mocks/order_group.rb", "lib/spec/mocks/proxy.rb", "lib/spec/mocks/space.rb", "lib/spec/mocks/spec_methods.rb", "lib/spec/rake/spectask.rb", "lib/spec/rake/verify_rcov.rb", "lib/spec/runner.rb", "lib/spec/runner/backtrace_tweaker.rb", "lib/spec/runner/class_and_arguments_parser.rb", "lib/spec/runner/command_line.rb", "lib/spec/runner/drb_command_line.rb", "lib/spec/runner/example_group_runner.rb", "lib/spec/runner/formatter/base_formatter.rb", "lib/spec/runner/formatter/base_text_formatter.rb", "lib/spec/runner/formatter/failing_example_groups_formatter.rb", "lib/spec/runner/formatter/failing_examples_formatter.rb", "lib/spec/runner/formatter/html_formatter.rb", "lib/spec/runner/formatter/nested_text_formatter.rb", "lib/spec/runner/formatter/profile_formatter.rb", "lib/spec/runner/formatter/progress_bar_formatter.rb", "lib/spec/runner/formatter/snippet_extractor.rb", "lib/spec/runner/formatter/specdoc_formatter.rb", "lib/spec/runner/formatter/story/html_formatter.rb", "lib/spec/runner/formatter/story/plain_text_formatter.rb", "lib/spec/runner/formatter/story/progress_bar_formatter.rb", "lib/spec/runner/formatter/text_mate_formatter.rb", "lib/spec/runner/heckle_runner.rb", "lib/spec/runner/heckle_runner_unsupported.rb", "lib/spec/runner/option_parser.rb", "lib/spec/runner/options.rb", "lib/spec/runner/reporter.rb", "lib/spec/runner/spec_parser.rb", "lib/spec/story.rb", "lib/spec/story/extensions.rb", "lib/spec/story/extensions/main.rb", "lib/spec/story/extensions/regexp.rb", "lib/spec/story/extensions/string.rb", "lib/spec/story/given_scenario.rb", "lib/spec/story/runner.rb", "lib/spec/story/runner/plain_text_story_runner.rb", "lib/spec/story/runner/scenario_collector.rb", "lib/spec/story/runner/scenario_runner.rb", "lib/spec/story/runner/story_mediator.rb", "lib/spec/story/runner/story_parser.rb", "lib/spec/story/runner/story_runner.rb", "lib/spec/story/scenario.rb", "lib/spec/story/step.rb", "lib/spec/story/step_group.rb", "lib/spec/story/step_mother.rb", "lib/spec/story/story.rb", "lib/spec/story/world.rb", "lib/spec/version.rb", "plugins/mock_frameworks/flexmock.rb", "plugins/mock_frameworks/mocha.rb", "plugins/mock_frameworks/rr.rb", "plugins/mock_frameworks/rspec.rb", "rake_tasks/examples.rake", "rake_tasks/examples_with_rcov.rake", "rake_tasks/failing_examples_with_html.rake", "rake_tasks/verify_rcov.rake", "rspec.gemspec", "spec/README.jruby", "spec/autotest/discover_spec.rb", "spec/autotest/rspec_spec.rb", "spec/autotest_helper.rb", "spec/autotest_matchers.rb", "spec/rspec_suite.rb", "spec/ruby_forker.rb", "spec/spec.opts", "spec/spec/adapters/ruby_engine_spec.rb", "spec/spec/example/base_formatter_spec.rb", "spec/spec/example/configuration_spec.rb", "spec/spec/example/example_group/described_module_spec.rb", "spec/spec/example/example_group/warning_messages_spec.rb", "spec/spec/example/example_group_class_definition_spec.rb", "spec/spec/example/example_group_factory_spec.rb", "spec/spec/example/example_group_methods_spec.rb", "spec/spec/example/example_group_spec.rb", "spec/spec/example/example_matcher_spec.rb", "spec/spec/example/example_methods_spec.rb", "spec/spec/example/example_runner_spec.rb", "spec/spec/example/nested_example_group_spec.rb", "spec/spec/example/pending_module_spec.rb", "spec/spec/example/predicate_matcher_spec.rb", "spec/spec/example/shared_example_group_spec.rb", "spec/spec/example/subclassing_example_group_spec.rb", "spec/spec/expectations/differs/default_spec.rb", "spec/spec/expectations/extensions/object_spec.rb", "spec/spec/expectations/fail_with_spec.rb", "spec/spec/extensions/main_spec.rb", "spec/spec/interop/test/unit/resources/spec_that_fails.rb", "spec/spec/interop/test/unit/resources/spec_that_passes.rb", "spec/spec/interop/test/unit/resources/spec_with_errors.rb", "spec/spec/interop/test/unit/resources/test_case_that_fails.rb", "spec/spec/interop/test/unit/resources/test_case_that_passes.rb", "spec/spec/interop/test/unit/resources/test_case_with_errors.rb", "spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb", "spec/spec/interop/test/unit/spec_spec.rb", "spec/spec/interop/test/unit/test_unit_spec_helper.rb", "spec/spec/interop/test/unit/testcase_spec.rb", "spec/spec/interop/test/unit/testsuite_adapter_spec.rb", "spec/spec/matchers/be_close_spec.rb", "spec/spec/matchers/be_spec.rb", "spec/spec/matchers/change_spec.rb", "spec/spec/matchers/description_generation_spec.rb", "spec/spec/matchers/eql_spec.rb", "spec/spec/matchers/equal_spec.rb", "spec/spec/matchers/exist_spec.rb", "spec/spec/matchers/handler_spec.rb", "spec/spec/matchers/has_spec.rb", "spec/spec/matchers/have_spec.rb", "spec/spec/matchers/include_spec.rb", "spec/spec/matchers/match_spec.rb", "spec/spec/matchers/matcher_methods_spec.rb", "spec/spec/matchers/mock_constraint_matchers_spec.rb", "spec/spec/matchers/operator_matcher_spec.rb", "spec/spec/matchers/raise_error_spec.rb", "spec/spec/matchers/respond_to_spec.rb", "spec/spec/matchers/satisfy_spec.rb", "spec/spec/matchers/simple_matcher_spec.rb", "spec/spec/matchers/throw_symbol_spec.rb", "spec/spec/mocks/any_number_of_times_spec.rb", "spec/spec/mocks/argument_expectation_spec.rb", "spec/spec/mocks/at_least_spec.rb", "spec/spec/mocks/at_most_spec.rb", "spec/spec/mocks/bug_report_10260_spec.rb", "spec/spec/mocks/bug_report_10263_spec.rb", "spec/spec/mocks/bug_report_11545_spec.rb", "spec/spec/mocks/bug_report_15719_spec.rb", "spec/spec/mocks/bug_report_496.rb", "spec/spec/mocks/bug_report_7611_spec.rb", "spec/spec/mocks/bug_report_7805_spec.rb", "spec/spec/mocks/bug_report_8165_spec.rb", "spec/spec/mocks/bug_report_8302_spec.rb", "spec/spec/mocks/failing_mock_argument_constraints_spec.rb", "spec/spec/mocks/hash_including_matcher_spec.rb", "spec/spec/mocks/mock_ordering_spec.rb", "spec/spec/mocks/mock_space_spec.rb", "spec/spec/mocks/mock_spec.rb", "spec/spec/mocks/multiple_return_value_spec.rb", "spec/spec/mocks/nil_expectation_warning_spec.rb", "spec/spec/mocks/null_object_mock_spec.rb", "spec/spec/mocks/once_counts_spec.rb", "spec/spec/mocks/options_hash_spec.rb", "spec/spec/mocks/partial_mock_spec.rb", "spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb", "spec/spec/mocks/passing_mock_argument_constraints_spec.rb", "spec/spec/mocks/precise_counts_spec.rb", "spec/spec/mocks/record_messages_spec.rb", "spec/spec/mocks/stub_spec.rb", "spec/spec/mocks/twice_counts_spec.rb", "spec/spec/package/bin_spec_spec.rb", "spec/spec/runner/class_and_argument_parser_spec.rb", "spec/spec/runner/command_line_spec.rb", "spec/spec/runner/drb_command_line_spec.rb", "spec/spec/runner/empty_file.txt", "spec/spec/runner/examples.txt", "spec/spec/runner/failed.txt", "spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb", "spec/spec/runner/formatter/failing_examples_formatter_spec.rb", "spec/spec/runner/formatter/html_formatted-1.8.4.html", "spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html", "spec/spec/runner/formatter/html_formatted-1.8.5.html", "spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html", "spec/spec/runner/formatter/html_formatted-1.8.6.html", "spec/spec/runner/formatter/html_formatter_spec.rb", "spec/spec/runner/formatter/nested_text_formatter_spec.rb", "spec/spec/runner/formatter/profile_formatter_spec.rb", "spec/spec/runner/formatter/progress_bar_formatter_spec.rb", "spec/spec/runner/formatter/snippet_extractor_spec.rb", "spec/spec/runner/formatter/spec_mate_formatter_spec.rb", "spec/spec/runner/formatter/specdoc_formatter_spec.rb", "spec/spec/runner/formatter/story/html_formatter_spec.rb", "spec/spec/runner/formatter/story/plain_text_formatter_spec.rb", "spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb", "spec/spec/runner/formatter/text_mate_formatted-1.8.4.html", "spec/spec/runner/formatter/text_mate_formatted-1.8.6.html", "spec/spec/runner/heckle_runner_spec.rb", "spec/spec/runner/heckler_spec.rb", "spec/spec/runner/noisy_backtrace_tweaker_spec.rb", "spec/spec/runner/option_parser_spec.rb", "spec/spec/runner/options_spec.rb", "spec/spec/runner/output_one_time_fixture.rb", "spec/spec/runner/output_one_time_fixture_runner.rb", "spec/spec/runner/output_one_time_spec.rb", "spec/spec/runner/quiet_backtrace_tweaker_spec.rb", "spec/spec/runner/reporter_spec.rb", "spec/spec/runner/resources/a_bar.rb", "spec/spec/runner/resources/a_foo.rb", "spec/spec/runner/resources/a_spec.rb", "spec/spec/runner/spec.opts", "spec/spec/runner/spec_drb.opts", "spec/spec/runner/spec_parser/spec_parser_fixture.rb", "spec/spec/runner/spec_parser_spec.rb", "spec/spec/runner/spec_spaced.opts", "spec/spec/runner_spec.rb", "spec/spec/spec_classes.rb", "spec/spec/story/builders.rb", "spec/spec/story/extensions/main_spec.rb", "spec/spec/story/extensions_spec.rb", "spec/spec/story/given_scenario_spec.rb", "spec/spec/story/runner/plain_text_story_runner_spec.rb", "spec/spec/story/runner/scenario_collector_spec.rb", "spec/spec/story/runner/scenario_runner_spec.rb", "spec/spec/story/runner/story_mediator_spec.rb", "spec/spec/story/runner/story_parser_spec.rb", "spec/spec/story/runner/story_runner_spec.rb", "spec/spec/story/runner_spec.rb", "spec/spec/story/scenario_spec.rb", "spec/spec/story/step_group_spec.rb", "spec/spec/story/step_mother_spec.rb", "spec/spec/story/step_spec.rb", "spec/spec/story/story_helper.rb", "spec/spec/story/story_spec.rb", "spec/spec/story/world_spec.rb", "spec/spec_helper.rb", "stories/all.rb", "stories/configuration/before_blocks.story", "stories/configuration/stories.rb", "stories/example_groups/autogenerated_docstrings", "stories/example_groups/example_group_with_should_methods", "stories/example_groups/nested_groups", "stories/example_groups/output", "stories/example_groups/stories.rb", "stories/helper.rb", "stories/interop/examples_and_tests_together", "stories/interop/stories.rb", "stories/interop/test_case_with_should_methods", "stories/mock_framework_integration/stories.rb", "stories/mock_framework_integration/use_flexmock.story", "stories/pending_stories/README", "stories/resources/helpers/cmdline.rb", "stories/resources/helpers/story_helper.rb", "stories/resources/matchers/smart_match.rb", "stories/resources/spec/before_blocks_example.rb", "stories/resources/spec/example_group_with_should_methods.rb", "stories/resources/spec/simple_spec.rb", "stories/resources/spec/spec_with_flexmock.rb", "stories/resources/steps/running_rspec.rb", "stories/resources/stories/failing_story.rb", "stories/resources/test/spec_and_test_together.rb", "stories/resources/test/test_case_with_should_methods.rb", "stories/stories/multiline_steps.story", "stories/stories/steps/multiline_steps.rb", "stories/stories/stories.rb", "story_server/prototype/javascripts/builder.js", "story_server/prototype/javascripts/controls.js", "story_server/prototype/javascripts/dragdrop.js", "story_server/prototype/javascripts/effects.js", "story_server/prototype/javascripts/prototype.js", "story_server/prototype/javascripts/rspec.js", "story_server/prototype/javascripts/scriptaculous.js", "story_server/prototype/javascripts/slider.js", "story_server/prototype/javascripts/sound.js", "story_server/prototype/javascripts/unittest.js", "story_server/prototype/lib/server.rb", "story_server/prototype/stories.html", "story_server/prototype/stylesheets/rspec.css", "story_server/prototype/stylesheets/test.css"]
12
+ s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "TODO.txt", "bin/autospec", "bin/spec", "examples/pure/autogenerated_docstrings_example.rb", "examples/pure/before_and_after_example.rb", "examples/pure/behave_as_example.rb", "examples/pure/custom_expectation_matchers.rb", "examples/pure/custom_formatter.rb", "examples/pure/dynamic_spec.rb", "examples/pure/file_accessor.rb", "examples/pure/file_accessor_spec.rb", "examples/pure/greeter_spec.rb", "examples/pure/helper_method_example.rb", "examples/pure/io_processor.rb", "examples/pure/io_processor_spec.rb", "examples/pure/legacy_spec.rb", "examples/pure/mocking_example.rb", "examples/pure/multi_threaded_behaviour_runner.rb", "examples/pure/nested_classes_example.rb", "examples/pure/partial_mock_example.rb", "examples/pure/pending_example.rb", "examples/pure/predicate_example.rb", "examples/pure/priority.txt", "examples/pure/shared_example_group_example.rb", "examples/pure/shared_stack_examples.rb", "examples/pure/spec_helper.rb", "examples/pure/stack.rb", "examples/pure/stack_spec.rb", "examples/pure/stack_spec_with_nested_example_groups.rb", "examples/pure/stubbing_example.rb", "examples/pure/yielding_example.rb", "examples/stories/adder.rb", "examples/stories/addition", "examples/stories/addition.rb", "examples/stories/calculator.rb", "examples/stories/game-of-life/.loadpath", "examples/stories/game-of-life/README.txt", "examples/stories/game-of-life/behaviour/everything.rb", "examples/stories/game-of-life/behaviour/examples/examples.rb", "examples/stories/game-of-life/behaviour/examples/game_behaviour.rb", "examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb", "examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story", "examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story", "examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story", "examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story", "examples/stories/game-of-life/behaviour/stories/ICanKillACell.story", "examples/stories/game-of-life/behaviour/stories/TheGridWraps.story", "examples/stories/game-of-life/behaviour/stories/create_a_cell.rb", "examples/stories/game-of-life/behaviour/stories/helper.rb", "examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb", "examples/stories/game-of-life/behaviour/stories/steps.rb", "examples/stories/game-of-life/behaviour/stories/stories.rb", "examples/stories/game-of-life/behaviour/stories/stories.txt", "examples/stories/game-of-life/life.rb", "examples/stories/game-of-life/life/game.rb", "examples/stories/game-of-life/life/grid.rb", "examples/stories/helper.rb", "examples/stories/steps/addition_steps.rb", "failing_examples/README.txt", "failing_examples/diffing_spec.rb", "failing_examples/failing_autogenerated_docstrings_example.rb", "failing_examples/failure_in_setup.rb", "failing_examples/failure_in_teardown.rb", "failing_examples/mocking_example.rb", "failing_examples/mocking_with_flexmock.rb", "failing_examples/mocking_with_mocha.rb", "failing_examples/mocking_with_rr.rb", "failing_examples/partial_mock_example.rb", "failing_examples/predicate_example.rb", "failing_examples/raising_example.rb", "failing_examples/spec_helper.rb", "failing_examples/syntax_error_example.rb", "failing_examples/team_spec.rb", "failing_examples/timeout_behaviour.rb", "init.rb", "lib/autotest/discover.rb", "lib/autotest/rspec.rb", "lib/spec.rb", "lib/spec/adapters.rb", "lib/spec/adapters/ruby_engine.rb", "lib/spec/adapters/ruby_engine/mri.rb", "lib/spec/adapters/ruby_engine/rubinius.rb", "lib/spec/example.rb", "lib/spec/example/configuration.rb", "lib/spec/example/errors.rb", "lib/spec/example/example_group.rb", "lib/spec/example/example_group_factory.rb", "lib/spec/example/example_group_methods.rb", "lib/spec/example/example_matcher.rb", "lib/spec/example/example_methods.rb", "lib/spec/example/module_inclusion_warnings.rb", "lib/spec/example/module_reopening_fix.rb", "lib/spec/example/pending.rb", "lib/spec/example/shared_example_group.rb", "lib/spec/expectations.rb", "lib/spec/expectations/differs/default.rb", "lib/spec/expectations/errors.rb", "lib/spec/expectations/extensions.rb", "lib/spec/expectations/extensions/object.rb", "lib/spec/expectations/extensions/string_and_symbol.rb", "lib/spec/expectations/handler.rb", "lib/spec/extensions.rb", "lib/spec/extensions/class.rb", "lib/spec/extensions/main.rb", "lib/spec/extensions/metaclass.rb", "lib/spec/extensions/object.rb", "lib/spec/interop/test.rb", "lib/spec/interop/test/unit/autorunner.rb", "lib/spec/interop/test/unit/testcase.rb", "lib/spec/interop/test/unit/testresult.rb", "lib/spec/interop/test/unit/testsuite_adapter.rb", "lib/spec/interop/test/unit/ui/console/testrunner.rb", "lib/spec/matchers.rb", "lib/spec/matchers/be.rb", "lib/spec/matchers/be_close.rb", "lib/spec/matchers/change.rb", "lib/spec/matchers/eql.rb", "lib/spec/matchers/equal.rb", "lib/spec/matchers/exist.rb", "lib/spec/matchers/has.rb", "lib/spec/matchers/have.rb", "lib/spec/matchers/include.rb", "lib/spec/matchers/match.rb", "lib/spec/matchers/operator_matcher.rb", "lib/spec/matchers/raise_error.rb", "lib/spec/matchers/respond_to.rb", "lib/spec/matchers/satisfy.rb", "lib/spec/matchers/simple_matcher.rb", "lib/spec/matchers/throw_symbol.rb", "lib/spec/mocks.rb", "lib/spec/mocks/argument_constraints.rb", "lib/spec/mocks/argument_expectation.rb", "lib/spec/mocks/error_generator.rb", "lib/spec/mocks/errors.rb", "lib/spec/mocks/extensions.rb", "lib/spec/mocks/extensions/object.rb", "lib/spec/mocks/framework.rb", "lib/spec/mocks/message_expectation.rb", "lib/spec/mocks/methods.rb", "lib/spec/mocks/mock.rb", "lib/spec/mocks/order_group.rb", "lib/spec/mocks/proxy.rb", "lib/spec/mocks/space.rb", "lib/spec/mocks/spec_methods.rb", "lib/spec/rake/spectask.rb", "lib/spec/rake/verify_rcov.rb", "lib/spec/runner.rb", "lib/spec/runner/backtrace_tweaker.rb", "lib/spec/runner/class_and_arguments_parser.rb", "lib/spec/runner/command_line.rb", "lib/spec/runner/drb_command_line.rb", "lib/spec/runner/example_group_runner.rb", "lib/spec/runner/formatter/base_formatter.rb", "lib/spec/runner/formatter/base_text_formatter.rb", "lib/spec/runner/formatter/failing_example_groups_formatter.rb", "lib/spec/runner/formatter/failing_examples_formatter.rb", "lib/spec/runner/formatter/html_formatter.rb", "lib/spec/runner/formatter/nested_text_formatter.rb", "lib/spec/runner/formatter/profile_formatter.rb", "lib/spec/runner/formatter/progress_bar_formatter.rb", "lib/spec/runner/formatter/snippet_extractor.rb", "lib/spec/runner/formatter/specdoc_formatter.rb", "lib/spec/runner/formatter/story/html_formatter.rb", "lib/spec/runner/formatter/story/plain_text_formatter.rb", "lib/spec/runner/formatter/story/progress_bar_formatter.rb", "lib/spec/runner/formatter/text_mate_formatter.rb", "lib/spec/runner/heckle_runner.rb", "lib/spec/runner/heckle_runner_unsupported.rb", "lib/spec/runner/option_parser.rb", "lib/spec/runner/options.rb", "lib/spec/runner/reporter.rb", "lib/spec/runner/spec_parser.rb", "lib/spec/story.rb", "lib/spec/story/extensions.rb", "lib/spec/story/extensions/main.rb", "lib/spec/story/extensions/regexp.rb", "lib/spec/story/extensions/string.rb", "lib/spec/story/given_scenario.rb", "lib/spec/story/runner.rb", "lib/spec/story/runner/plain_text_story_runner.rb", "lib/spec/story/runner/scenario_collector.rb", "lib/spec/story/runner/scenario_runner.rb", "lib/spec/story/runner/story_mediator.rb", "lib/spec/story/runner/story_parser.rb", "lib/spec/story/runner/story_runner.rb", "lib/spec/story/scenario.rb", "lib/spec/story/step.rb", "lib/spec/story/step_group.rb", "lib/spec/story/step_mother.rb", "lib/spec/story/story.rb", "lib/spec/story/world.rb", "lib/spec/version.rb", "plugins/mock_frameworks/flexmock.rb", "plugins/mock_frameworks/mocha.rb", "plugins/mock_frameworks/rr.rb", "plugins/mock_frameworks/rspec.rb", "rake_tasks/examples.rake", "rake_tasks/examples_with_rcov.rake", "rake_tasks/failing_examples_with_html.rake", "rake_tasks/verify_rcov.rake", "rspec.gemspec", "spec/README.jruby", "spec/autotest/autotest_helper.rb", "spec/autotest/autotest_matchers.rb", "spec/autotest/discover_spec.rb", "spec/autotest/rspec_spec.rb", "spec/rspec_suite.rb", "spec/ruby_forker.rb", "spec/spec.opts", "spec/spec/adapters/ruby_engine_spec.rb", "spec/spec/example/configuration_spec.rb", "spec/spec/example/example_group/described_module_spec.rb", "spec/spec/example/example_group/warning_messages_spec.rb", "spec/spec/example/example_group_class_definition_spec.rb", "spec/spec/example/example_group_factory_spec.rb", "spec/spec/example/example_group_methods_spec.rb", "spec/spec/example/example_group_spec.rb", "spec/spec/example/example_matcher_spec.rb", "spec/spec/example/example_methods_spec.rb", "spec/spec/example/example_runner_spec.rb", "spec/spec/example/nested_example_group_spec.rb", "spec/spec/example/pending_module_spec.rb", "spec/spec/example/predicate_matcher_spec.rb", "spec/spec/example/shared_example_group_spec.rb", "spec/spec/example/subclassing_example_group_spec.rb", "spec/spec/expectations/differs/default_spec.rb", "spec/spec/expectations/extensions/object_spec.rb", "spec/spec/expectations/fail_with_spec.rb", "spec/spec/extensions/main_spec.rb", "spec/spec/interop/test/unit/resources/spec_that_fails.rb", "spec/spec/interop/test/unit/resources/spec_that_passes.rb", "spec/spec/interop/test/unit/resources/spec_with_errors.rb", "spec/spec/interop/test/unit/resources/test_case_that_fails.rb", "spec/spec/interop/test/unit/resources/test_case_that_passes.rb", "spec/spec/interop/test/unit/resources/test_case_with_errors.rb", "spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb", "spec/spec/interop/test/unit/spec_spec.rb", "spec/spec/interop/test/unit/test_unit_spec_helper.rb", "spec/spec/interop/test/unit/testcase_spec.rb", "spec/spec/interop/test/unit/testsuite_adapter_spec.rb", "spec/spec/matchers/be_close_spec.rb", "spec/spec/matchers/be_spec.rb", "spec/spec/matchers/change_spec.rb", "spec/spec/matchers/description_generation_spec.rb", "spec/spec/matchers/eql_spec.rb", "spec/spec/matchers/equal_spec.rb", "spec/spec/matchers/exist_spec.rb", "spec/spec/matchers/handler_spec.rb", "spec/spec/matchers/has_spec.rb", "spec/spec/matchers/have_spec.rb", "spec/spec/matchers/include_spec.rb", "spec/spec/matchers/match_spec.rb", "spec/spec/matchers/matcher_methods_spec.rb", "spec/spec/matchers/mock_constraint_matchers_spec.rb", "spec/spec/matchers/operator_matcher_spec.rb", "spec/spec/matchers/raise_error_spec.rb", "spec/spec/matchers/respond_to_spec.rb", "spec/spec/matchers/satisfy_spec.rb", "spec/spec/matchers/simple_matcher_spec.rb", "spec/spec/matchers/throw_symbol_spec.rb", "spec/spec/mocks/any_number_of_times_spec.rb", "spec/spec/mocks/argument_expectation_spec.rb", "spec/spec/mocks/at_least_spec.rb", "spec/spec/mocks/at_most_spec.rb", "spec/spec/mocks/bug_report_10260_spec.rb", "spec/spec/mocks/bug_report_10263_spec.rb", "spec/spec/mocks/bug_report_11545_spec.rb", "spec/spec/mocks/bug_report_15719_spec.rb", "spec/spec/mocks/bug_report_496.rb", "spec/spec/mocks/bug_report_7611_spec.rb", "spec/spec/mocks/bug_report_7805_spec.rb", "spec/spec/mocks/bug_report_8165_spec.rb", "spec/spec/mocks/bug_report_8302_spec.rb", "spec/spec/mocks/failing_mock_argument_constraints_spec.rb", "spec/spec/mocks/hash_including_matcher_spec.rb", "spec/spec/mocks/mock_ordering_spec.rb", "spec/spec/mocks/mock_space_spec.rb", "spec/spec/mocks/mock_spec.rb", "spec/spec/mocks/multiple_return_value_spec.rb", "spec/spec/mocks/nil_expectation_warning_spec.rb", "spec/spec/mocks/null_object_mock_spec.rb", "spec/spec/mocks/once_counts_spec.rb", "spec/spec/mocks/options_hash_spec.rb", "spec/spec/mocks/partial_mock_spec.rb", "spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb", "spec/spec/mocks/passing_mock_argument_constraints_spec.rb", "spec/spec/mocks/precise_counts_spec.rb", "spec/spec/mocks/record_messages_spec.rb", "spec/spec/mocks/stub_spec.rb", "spec/spec/mocks/twice_counts_spec.rb", "spec/spec/package/bin_spec_spec.rb", "spec/spec/runner/class_and_argument_parser_spec.rb", "spec/spec/runner/command_line_spec.rb", "spec/spec/runner/drb_command_line_spec.rb", "spec/spec/runner/empty_file.txt", "spec/spec/runner/examples.txt", "spec/spec/runner/failed.txt", "spec/spec/runner/formatter/base_formatter_spec.rb", "spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb", "spec/spec/runner/formatter/failing_examples_formatter_spec.rb", "spec/spec/runner/formatter/html_formatted-1.8.4.html", "spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html", "spec/spec/runner/formatter/html_formatted-1.8.5.html", "spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html", "spec/spec/runner/formatter/html_formatted-1.8.6.html", "spec/spec/runner/formatter/html_formatter_spec.rb", "spec/spec/runner/formatter/nested_text_formatter_spec.rb", "spec/spec/runner/formatter/profile_formatter_spec.rb", "spec/spec/runner/formatter/progress_bar_formatter_spec.rb", "spec/spec/runner/formatter/snippet_extractor_spec.rb", "spec/spec/runner/formatter/spec_mate_formatter_spec.rb", "spec/spec/runner/formatter/specdoc_formatter_spec.rb", "spec/spec/runner/formatter/story/html_formatter_spec.rb", "spec/spec/runner/formatter/story/plain_text_formatter_spec.rb", "spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb", "spec/spec/runner/formatter/text_mate_formatted-1.8.4.html", "spec/spec/runner/formatter/text_mate_formatted-1.8.6.html", "spec/spec/runner/heckle_runner_spec.rb", "spec/spec/runner/heckler_spec.rb", "spec/spec/runner/noisy_backtrace_tweaker_spec.rb", "spec/spec/runner/option_parser_spec.rb", "spec/spec/runner/options_spec.rb", "spec/spec/runner/output_one_time_fixture.rb", "spec/spec/runner/output_one_time_fixture_runner.rb", "spec/spec/runner/output_one_time_spec.rb", "spec/spec/runner/quiet_backtrace_tweaker_spec.rb", "spec/spec/runner/reporter_spec.rb", "spec/spec/runner/resources/a_bar.rb", "spec/spec/runner/resources/a_foo.rb", "spec/spec/runner/resources/a_spec.rb", "spec/spec/runner/spec.opts", "spec/spec/runner/spec_drb.opts", "spec/spec/runner/spec_parser/spec_parser_fixture.rb", "spec/spec/runner/spec_parser_spec.rb", "spec/spec/runner/spec_spaced.opts", "spec/spec/runner_spec.rb", "spec/spec/spec_classes.rb", "spec/spec/story/builders.rb", "spec/spec/story/extensions/main_spec.rb", "spec/spec/story/extensions_spec.rb", "spec/spec/story/given_scenario_spec.rb", "spec/spec/story/runner/plain_text_story_runner_spec.rb", "spec/spec/story/runner/scenario_collector_spec.rb", "spec/spec/story/runner/scenario_runner_spec.rb", "spec/spec/story/runner/story_mediator_spec.rb", "spec/spec/story/runner/story_parser_spec.rb", "spec/spec/story/runner/story_runner_spec.rb", "spec/spec/story/runner_spec.rb", "spec/spec/story/scenario_spec.rb", "spec/spec/story/step_group_spec.rb", "spec/spec/story/step_mother_spec.rb", "spec/spec/story/step_spec.rb", "spec/spec/story/story_helper.rb", "spec/spec/story/story_spec.rb", "spec/spec/story/world_spec.rb", "spec/spec_helper.rb", "stories/all.rb", "stories/configuration/before_blocks.story", "stories/configuration/stories.rb", "stories/example_groups/autogenerated_docstrings", "stories/example_groups/example_group_with_should_methods", "stories/example_groups/nested_groups", "stories/example_groups/output", "stories/example_groups/stories.rb", "stories/helper.rb", "stories/interop/examples_and_tests_together", "stories/interop/stories.rb", "stories/interop/test_case_with_should_methods", "stories/mock_framework_integration/stories.rb", "stories/mock_framework_integration/use_flexmock.story", "stories/pending_stories/README", "stories/resources/helpers/cmdline.rb", "stories/resources/helpers/story_helper.rb", "stories/resources/matchers/smart_match.rb", "stories/resources/spec/before_blocks_example.rb", "stories/resources/spec/example_group_with_should_methods.rb", "stories/resources/spec/simple_spec.rb", "stories/resources/spec/spec_with_flexmock.rb", "stories/resources/steps/running_rspec.rb", "stories/resources/stories/failing_story.rb", "stories/resources/test/spec_and_test_together.rb", "stories/resources/test/test_case_with_should_methods.rb", "stories/stories/multiline_steps.story", "stories/stories/steps/multiline_steps.rb", "stories/stories/stories.rb", "story_server/prototype/javascripts/builder.js", "story_server/prototype/javascripts/controls.js", "story_server/prototype/javascripts/dragdrop.js", "story_server/prototype/javascripts/effects.js", "story_server/prototype/javascripts/prototype.js", "story_server/prototype/javascripts/rspec.js", "story_server/prototype/javascripts/scriptaculous.js", "story_server/prototype/javascripts/slider.js", "story_server/prototype/javascripts/sound.js", "story_server/prototype/javascripts/unittest.js", "story_server/prototype/lib/server.rb", "story_server/prototype/stories.html", "story_server/prototype/stylesheets/rspec.css", "story_server/prototype/stylesheets/test.css"]
13
13
  s.has_rdoc = true
14
14
  s.homepage = %q{http://rspec.info/}
15
15
  s.rdoc_options = ["--main", "README.txt"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = %q{rspec}
18
- s.rubygems_version = %q{1.2.0}
19
- s.summary = %q{rspec version 1.1.5}
18
+ s.rubygems_version = %q{1.3.0}
19
+ s.summary = %q{rspec 1.1.6}
20
20
 
21
21
  if s.respond_to? :specification_version then
22
22
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
23
  s.specification_version = 2
24
24
 
25
- if current_version >= 3 then
25
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
26
  s.add_development_dependency(%q<hoe>, [">= 1.7.0"])
27
27
  else
28
28
  s.add_dependency(%q<hoe>, [">= 1.7.0"])
@@ -1,6 +1,6 @@
1
1
  require "rubygems"
2
2
  require 'autotest'
3
3
  dir = File.dirname(__FILE__)
4
- require "#{dir}/spec_helper"
5
- require File.expand_path("#{dir}/../lib/autotest/rspec")
4
+ require "#{dir}/../spec_helper"
5
+ require File.expand_path("#{dir}/../../lib/autotest/rspec")
6
6
  require "#{dir}/autotest_matchers"
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + "/../autotest_helper"
1
+ require File.dirname(__FILE__) + "/autotest_helper"
2
2
 
3
3
  module DiscoveryHelper
4
4
  def load_discovery
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + "/../autotest_helper"
1
+ require File.dirname(__FILE__) + "/autotest_helper"
2
2
 
3
3
  class Autotest
4
4
 
data/spec/rspec_suite.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  if __FILE__ == $0
2
2
  dir = File.dirname(__FILE__)
3
3
  Dir["#{dir}/**/*_spec.rb"].reverse.each do |file|
4
- # puts "require '#{file}'"
5
4
  require file
6
5
  end
7
6
  end
@@ -84,9 +84,12 @@ module Spec
84
84
  end
85
85
 
86
86
  describe "eval_block" do
87
+ before(:each) do
88
+ @example_group = Class.new(ExampleGroup)
89
+ end
90
+
87
91
  describe "with a given description" do
88
92
  it "should provide the given description" do
89
- @example_group = Class.new(ExampleGroup) do end
90
93
  @example = @example_group.it("given description") { 2.should == 2 }
91
94
  @example.eval_block
92
95
  @example.description.should == "given description"
@@ -95,12 +98,42 @@ module Spec
95
98
 
96
99
  describe "with no given description" do
97
100
  it "should provide the generated description" do
98
- @example_group = Class.new(ExampleGroup) do end
99
101
  @example = @example_group.it { 2.should == 2 }
100
102
  @example.eval_block
101
103
  @example.description.should == "should == 2"
102
104
  end
103
105
  end
106
+
107
+ describe "with no implementation" do
108
+ it "should raise an NotYetImplementedError" do
109
+ lambda {
110
+ @example = @example_group.it
111
+ @example.eval_block
112
+ }.should raise_error(Spec::Example::NotYetImplementedError, "Not Yet Implemented")
113
+ end
114
+
115
+ def extract_error(&blk)
116
+ begin
117
+ blk.call
118
+ rescue Exception => e
119
+ return e
120
+ end
121
+
122
+ nil
123
+ end
124
+
125
+ it "should use the proper file and line number for the NotYetImplementedError" do
126
+ file = __FILE__
127
+ line_number = __LINE__ + 3
128
+
129
+ error = extract_error do
130
+ @example = @example_group.it
131
+ @example.eval_block
132
+ end
133
+
134
+ error.pending_caller.should == "#{file}:#{line_number}"
135
+ end
136
+ end
104
137
  end
105
138
  end
106
139
 
@@ -127,4 +160,4 @@ module Spec
127
160
  end
128
161
  end
129
162
  end
130
- end
163
+ end
@@ -37,6 +37,30 @@ module Spec
37
37
  end
38
38
  }.should raise_error(PendingExampleFixedError, /TODO/)
39
39
  end
40
+
41
+ it "should have the correct file and line number for pending given with a block which fails" do
42
+ file = __FILE__
43
+ line_number = __LINE__ + 3
44
+ begin
45
+ include Pending
46
+ pending do
47
+ raise
48
+ end
49
+ rescue => error
50
+ error.pending_caller.should == "#{file}:#{line_number}"
51
+ end
52
+ end
53
+
54
+ it "should have the correct file and line number for pending given with no block" do
55
+ file = __FILE__
56
+ line_number = __LINE__ + 3
57
+ begin
58
+ include Pending
59
+ pending("TODO")
60
+ rescue => error
61
+ error.pending_caller.should == "#{file}:#{line_number}"
62
+ end
63
+ end
40
64
  end
41
65
 
42
66
  describe ExamplePendingError do
@@ -65,5 +89,57 @@ module Spec
65
89
  end
66
90
  end
67
91
 
92
+ describe NotYetImplementedError do
93
+ def rspec_root
94
+ File.expand_path(__FILE__.gsub("/spec/spec/example/pending_module_spec.rb", "/lib"))
95
+ end
96
+
97
+ it "should have the root rspec path" do
98
+ NotYetImplementedError::RSPEC_ROOT_LIB.should == rspec_root
99
+ end
100
+
101
+ it "should always have the error 'Not Yet Implemented'" do
102
+ NotYetImplementedError.new([]).message.should == "Not Yet Implemented"
103
+ end
104
+
105
+ describe "pending_caller" do
106
+ it "should select an element out of the backtrace" do
107
+ error = NotYetImplementedError.new(["foo/bar.rb:18"])
108
+
109
+ error.pending_caller.should == "foo/bar.rb:18"
110
+ end
111
+
112
+ it "should actually report the element from the backtrace" do
113
+ error = NotYetImplementedError.new(["bar.rb:18"])
114
+
115
+ error.pending_caller.should == "bar.rb:18"
116
+ end
117
+
118
+ it "should not use an element with the rspec root path" do
119
+ error = NotYetImplementedError.new(["#{rspec_root}:8"])
120
+
121
+ error.pending_caller.should be_nil
122
+ end
123
+
124
+ it "should select the first line in the backtrace which isn't in the rspec root" do
125
+ error = NotYetImplementedError.new([
126
+ "#{rspec_root}/foo.rb:2",
127
+ "#{rspec_root}/foo/bar.rb:18",
128
+ "path1.rb:22",
129
+ "path2.rb:33"
130
+ ])
131
+
132
+ error.pending_caller.should == "path1.rb:22"
133
+ end
134
+
135
+ it "should cache the caller" do
136
+ backtrace = mock('backtrace')
137
+ backtrace.should_receive(:detect).once
138
+
139
+ error = NotYetImplementedError.new(backtrace)
140
+ error.pending_caller.should == error.pending_caller
141
+ end
142
+ end
143
+ end
68
144
  end
69
145
  end
@@ -8,8 +8,8 @@ describe "should respond_to(:sym)" do
8
8
 
9
9
  it "should fail target does not respond to :sym" do
10
10
  lambda {
11
- Object.new.should respond_to(:some_method)
12
- }.should fail_with("expected target to respond to :some_method")
11
+ "this string".should respond_to(:some_method)
12
+ }.should fail_with("expected \"this string\" to respond to :some_method")
13
13
  end
14
14
 
15
15
  end
@@ -23,19 +23,19 @@ describe "should respond_to(message1, message2)" do
23
23
  it "should fail target does not respond to first message" do
24
24
  lambda {
25
25
  Object.new.should respond_to('method_one', 'inspect')
26
- }.should fail_with('expected target to respond to "method_one"')
26
+ }.should fail_with(/expected #<Object:.*> to respond to "method_one"/)
27
27
  end
28
28
 
29
29
  it "should fail target does not respond to second message" do
30
30
  lambda {
31
31
  Object.new.should respond_to('inspect', 'method_one')
32
- }.should fail_with('expected target to respond to "method_one"')
32
+ }.should fail_with(/expected #<Object:.*> to respond to "method_one"/)
33
33
  end
34
34
 
35
35
  it "should fail target does not respond to either message" do
36
36
  lambda {
37
37
  Object.new.should respond_to('method_one', 'method_two')
38
- }.should fail_with('expected target to respond to "method_one", "method_two"')
38
+ }.should fail_with(/expected #<Object:.*> to respond to "method_one", "method_two"/)
39
39
  end
40
40
  end
41
41
 
@@ -48,7 +48,7 @@ describe "should_not respond_to(:sym)" do
48
48
  it "should fail target responds to :sym" do
49
49
  lambda {
50
50
  Object.new.should_not respond_to(:methods)
51
- }.should fail_with("expected target not to respond to :methods")
51
+ }.should fail_with(/expected #<Object:.*> not to respond to :methods/)
52
52
  end
53
53
 
54
54
  end
@@ -91,39 +91,5 @@ module Spec
91
91
  end
92
92
 
93
93
  end
94
-
95
- describe "failing deprecated MockArgumentConstraints" do
96
- before(:each) do
97
- @mock = mock("test mock")
98
- @reporter = Mock.new("reporter", :null_object => true)
99
- Kernel.stub!(:warn)
100
- end
101
-
102
- after(:each) do
103
- @mock.rspec_reset
104
- end
105
-
106
- it "should reject non boolean" do
107
- @mock.should_receive(:random_call).with(:boolean)
108
- lambda do
109
- @mock.random_call("false")
110
- end.should raise_error(MockExpectationError)
111
- end
112
-
113
- it "should reject non numeric" do
114
- @mock.should_receive(:random_call).with(:numeric)
115
- lambda do
116
- @mock.random_call("1")
117
- end.should raise_error(MockExpectationError)
118
- end
119
-
120
- it "should reject non string" do
121
- @mock.should_receive(:random_call).with(:string)
122
- lambda do
123
- @mock.random_call(123)
124
- end.should raise_error(MockExpectationError)
125
- end
126
-
127
- end
128
94
  end
129
95
  end
@@ -425,6 +425,12 @@ module Spec
425
425
  @mock.rspec_verify
426
426
  end
427
427
 
428
+ it "should raise an error when a previously stubbed method has a negative expectation" do
429
+ @mock.stub!(:msg).and_return(:stub_value)
430
+ @mock.should_not_receive(:msg).and_return(:mock_value)
431
+ lambda {@mock.msg(:arg)}.should raise_error(MockExpectationError)
432
+ end
433
+
428
434
  it "should temporarily replace a method stub on a non-mock" do
429
435
  non_mock = Object.new
430
436
  non_mock.stub!(:msg).and_return(:stub_value)
@@ -13,50 +13,6 @@ module Spec
13
13
  end
14
14
  end
15
15
 
16
- describe Methods, "handling argument constraints with DEPRECATED symbols" do
17
- it_should_behave_like "mock argument constraints"
18
-
19
- it "should accept true as boolean" do
20
- @mock.should_receive(:random_call).with(:boolean)
21
- @mock.random_call(true)
22
- end
23
-
24
- it "should accept false as boolean" do
25
- @mock.should_receive(:random_call).with(:boolean)
26
- @mock.random_call(false)
27
- end
28
-
29
- it "should accept fixnum as numeric" do
30
- @mock.should_receive(:random_call).with(:numeric)
31
- @mock.random_call(1)
32
- end
33
-
34
- it "should accept float as numeric" do
35
- @mock.should_receive(:random_call).with(:numeric)
36
- @mock.random_call(1.5)
37
- end
38
-
39
- it "should accept string as anything" do
40
- @mock.should_receive(:random_call).with("a", :anything, "c")
41
- @mock.random_call("a", "whatever", "c")
42
- end
43
-
44
- it "should match string" do
45
- @mock.should_receive(:random_call).with(:string)
46
- @mock.random_call("a string")
47
- end
48
-
49
- it "should match no args against any_args" do
50
- @mock.should_receive(:random_call).with(:any_args)
51
- @mock.random_call("a string")
52
- end
53
-
54
- it "should match no args against no_args" do
55
- @mock.should_receive(:random_call).with(:no_args)
56
- @mock.random_call
57
- end
58
- end
59
-
60
16
  describe Methods, "handling argument constraints" do
61
17
  it_should_behave_like "mock argument constraints"
62
18