Sha256: 8245a3201891cc0f9155b7247e078a0dd0419ae14b0779d0192e58bb553f74cb
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
require 'open-uri' require 'teabag/environment' module Teabag class Console def initialize(options = nil, files = []) @options = options || {} @files = files Teabag::Environment.load(@options) require "teabag/server" Rails.application.config.assets.debug = false if Teabag.configuration.driver == 'phantomjs' if @options[:suite].present? @suites = [@options[:suite]] else @suites = Teabag.configuration.suites.keys end end def execute STDOUT.print "Starting server...\n" unless Teabag.configuration.suppress_log start_server failure_count = 0 @suites.each do |suite| STDOUT.print "Teabag running #{suite} suite at #{url(suite)}...\n" unless Teabag.configuration.suppress_log failure_count += run_specs(suite) end failure_count > 0 rescue Teabag::Failure true rescue Teabag::RunnerException true end def start_server @server = Teabag::Server.new @server.start end def run_specs(suite) driver.run_specs(suite, url(suite)) end protected def driver @driver ||= Teabag::Drivers.const_get("#{Teabag.configuration.driver.to_s.camelize}Driver").new end def filter parts = [] parts << "grep=#{URI::encode(@options[:filter])}" if @options[:filter].present? @files.each { |file| parts << "file[]=#{URI::encode(file)}" } "?#{parts.join('&')}" end def url(suite) ["#{@server.url}#{Teabag.configuration.mount_at}", suite, filter].join("/") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
teabag-0.5.1 | lib/teabag/console.rb |
teabag-0.5.0 | lib/teabag/console.rb |