Sha256: 2dbdddd3c8f25dec29071ef5c465f3eb52c56fa429d170e08507ce523930c1fb

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

# = rspec_result_parser.rb
#
# @author Rodrigo Fernández
#
# == Clase RspecResultParser

module Liri
  module Common
    module UnitTest
      # Esta clase parsea texto de resultado en rspec a volores numéricos
      class RspecResultParser
        class << self
          def finish_in_values(finish_in_line)
            values = finish_in_line.to_s.match(/Finished in (.+)\(files took (.+) to load\)/)
            finish_in_text = values[1]
            files_load_text = values[2]
            { finish_in: text_value_to_seconds(finish_in_text), files_load: text_value_to_seconds(files_load_text) }
          end

          def finished_summary_values(finished_summary_line)
            values = finished_summary_line.to_s.match(/(.+) examples*, (.+) failures*,*\s*(\d*)/)
            examples = values[1]
            failures = values[2]
            pending = values[3].empty? ? '0' : values[3]
            { examples: examples.to_i, failures: failures.to_i, pending: pending.to_i }
          end

          private

          def text_value_to_seconds(text)
            TextTimeParser.to_seconds(text)
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
liri-0.3.1 lib/common/unit_test/rspec_result_parser.rb