Sha256: ea44cecc9b56810193c5396b4a27e1005d353f14c3635c09b656632d525c0420
Contents?: true
Size: 1.6 KB
Versions: 1
Compression:
Stored size: 1.6 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' start_server end def execute(options = {}, files = []) @options = @options.merge(options) if options.present? @files = files unless files.blank? 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 run_specs(suite) driver.run_specs(suite, url(suite)) end protected def start_server @server = Teabag::Server.new @server.start end def suites @options[:suite].present? ? [@options[:suite]] : Teabag.configuration.suites.keys end 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('&')}" if parts.present? end def url(suite) ["#{@server.url}#{Teabag.configuration.mount_at}", suite, filter].compact.join("/") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
teabag-0.5.3 | lib/teabag/console.rb |