Sha256: 731443d1ca9545cae656fd143368b2708c2def4806075146b72f2743dce5766d
Contents?: true
Size: 1.92 KB
Versions: 1
Compression:
Stored size: 1.92 KB
Contents
require 'rspec/core/formatters/base_formatter' require 'active_support' require 'active_support/core_ext/numeric' require 'active_support/inflector' require 'fileutils' require 'rouge' require 'erb' require 'rbconfig' require 'byebug' require 'example' I18n.enforce_available_locales = false class RspecYahFormatter < RSpec::Core::Formatters::BaseFormatter RSpec::Core::Formatters.register self, :example_passed, :example_failed, :example_pending def initialize(io_standard_output) @examples = [] @passed = 0 @failed = 0 @pending = 0 unless io_standard_output.is_a?(File) raise 'You should specify a file with the --out option, STDOUT cannot be used with this formatter' end @io_standard_output = io_standard_output copy_resources end def example_passed(notification) @passed += 1 @examples << Example.new(notification.example) end def example_failed(notification) @failed += 1 @examples << Example.new(notification.example) end def example_pending(notification) @pending += 1 @examples << Example.new(notification.example) end def close(notification) calculate_durations File.open(@io_standard_output, 'w') do |f| template_file = File.read(File.dirname(__FILE__) + '/../templates/report.erb') f.puts ERB.new(template_file).result(binding) end end private # Calculates the total duration and an array used by jscharts with the # format [[0, duration1], [1, duration2], ... ] def calculate_durations duration_values = @examples.map(&:run_time) duration_values << duration_values.first if duration_values.size == 1 @durations = duration_values.each_with_index.map { |e, i| [i, e] } @summary_duration = duration_values.inject(:+).to_s(:rounded, precision: 5) end def copy_resources FileUtils.cp_r(File.dirname(__FILE__) + '/../resources', File.dirname(@io_standard_output)) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec_yah_formatter-0.0.2 | lib/rspec_yah_formatter.rb |