class OnlyofficeRspecResultParser::Example

rspec example data

Attributes

backtrace[RW]
code[RW]
duration[RW]
log[RW]
message[RW]
page_url[RW]

@return [String] link to page url

passed[RW]
screenshot[RW]

@return [String] link to screenshot

text[RW]

Public Class Methods

new(data) click to toggle source
# File lib/onlyoffice_rspec_result_parser/rspec_result_parser/example.rb, line 12
def initialize(data)
  fetch_data(data)
  @page_url = fetch_page_url
  @screenshot = fetch_screenshot
end

Private Instance Methods

fetch_data(data) click to toggle source
# File lib/onlyoffice_rspec_result_parser/rspec_result_parser/example.rb, line 20
def fetch_data(data)
  @text = data.css('span').first.text
  @passed = data[:class].split[1]
  case @passed
  when 'failed'
    fetch_failed_data(data)
  when 'passed'
    @duration = data.css('span')[1].text
  end
end
fetch_failed_data(data) click to toggle source

Fetch data for failed case @param data [Nokogiri::XML::Element] element to parse

# File lib/onlyoffice_rspec_result_parser/rspec_result_parser/example.rb, line 66
def fetch_failed_data(data)
  @duration = data.css('span')[1].text
  @message = format_link(data.css('div.message').text)
  @backtrace = data.css('div.backtrace').text
  @code = data.css('code').children.to_s
end
fetch_page_url() click to toggle source
# File lib/onlyoffice_rspec_result_parser/rspec_result_parser/example.rb, line 31
def fetch_page_url
  return nil unless @message

  message_url_line = @message.match(/^.*Page address:.*/)
  return nil unless message_url_line

  message_url_line.to_s.match(/'.*'/).to_s.delete("'")
end
fetch_screenshot() click to toggle source
# File lib/onlyoffice_rspec_result_parser/rspec_result_parser/example.rb, line 40
def fetch_screenshot
  return nil unless @message

  screenshot_line = @message.match(/^.*Error screenshot:.*/)
  return nil unless screenshot_line

  screenshot_line.to_s.match(/'.*?'/).to_s.delete("'")
end