Sha256: d9c664393387a8566791d274d9180bae4e70cac3180b1da23decc9a6d50cf8d4

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

module RSpec
  module Core
    class CommandLine
      def initialize(argv)
        @options = RSpec::Core::ConfigurationOptions.new(argv)
        @options.configure(configuration)
        configuration.require_files_to_run
        configuration.configure_mock_framework
      end

      def run(err, out)
        configuration.error_stream = err
        configuration.output_stream = out
        world.announce_inclusion_filter

        configuration.reporter.report(example_count) do |reporter|
          example_groups.run_examples(reporter)
        end
        
        example_groups.success?
      end

    private

      def example_count
        world.example_count
      end

      module ExampleGroups
        def run_examples(reporter)
          @success = self.inject(true) {|success, group| success &= group.run(reporter)}
        end

        def success?
          @success ||= false
        end
      end

      def example_groups
        world.example_groups.extend(ExampleGroups)
      end

      def configuration
        RSpec.configuration
      end

      def world
        RSpec.world
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspec-core-2.0.0.beta.11 lib/rspec/core/command_line.rb
rspec-core-2.0.0.beta.10 lib/rspec/core/command_line.rb