Sha256: de751d959f088736d987a65448fcc4576d87eb89dc6089b1ddf3ab72322ea49e

Contents?: true

Size: 827 Bytes

Versions: 6

Compression:

Stored size: 827 Bytes

Contents

module Matest
  class Runner
    attr_reader :example_groups
    attr_reader :info
    attr_reader :printer

    def initialize(options={})
      @example_groups = []
      @info           = {}
      @printer        = options[:printer] || SpecPrinter.new
    end

    def self.runner
      @runner ||= new
    end

    def <<(example_group)
      example_group.printer = printer
      example_groups << example_group
    end

    def load_file(file)
      location = file.split(":")
      if location.count == 1
        require(file)
      else
        require_spec(*location)
      end
    end

    def execute!
      example_groups.each do |current_group|
        current_group.execute!
      end
      printer.print_messages(self)
    end

    private

    def require_spec(file, line)
      require file
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
matest-1.7.4 lib/matest/runner.rb
matest-1.7.3 lib/matest/runner.rb
matest-1.7.2 lib/matest/runner.rb
matest-1.7.1 lib/matest/runner.rb
matest-1.7.0 lib/matest/runner.rb
matest-1.6.9 lib/matest/runner.rb