class TapReportParser::Test

Attributes

description[R]
diagnostic[R]
directive[R]
number[R]
passing[R]
status[R]

Public Class Methods

new(status, number, description, directive) click to toggle source
# File lib/tap_report_parser.rb, line 81
def initialize(status, number, description, directive)
  if (directive =~ /^skip.*/i).present?
    @status = "skipped"
    @directive = /(^skip)(.*)/i.match(directive)&.captures&.last&.strip
  elsif (directive =~ /^todo.*/i).present?
    @status = "ignored"
    @directive = /(^todo)(.*)/i.match(directive)&.captures&.last&.strip
  else
    @status = status
    @directive = directive
  end

  @passing = ["success", "ignored"].include?(@status)

  @number = number
  @description = description

  @diagnostic = ""
end

Public Instance Methods

add_diagnostic(diagnostic) click to toggle source
# File lib/tap_report_parser.rb, line 101
def add_diagnostic(diagnostic)
  return if /\s*?\.\.\./.match?(diagnostic)

  if @diagnostic.empty?
    @diagnostic = diagnostic
  else
    @diagnostic = "#{@diagnostic}\n#{diagnostic}"
  end
end
convert_diagnostic_yaml_to_hash() click to toggle source
# File lib/tap_report_parser.rb, line 111
def convert_diagnostic_yaml_to_hash
  leading_spaces = @diagnostic[/\A */].length

  @diagnostic = YAML.safe_load(@diagnostic.split("\n").map { |s| s[leading_spaces..-1] }.join("\n")) || ""
end