features/support/env.rb in xcpretty-0.1.2 vs features/support/env.rb in xcpretty-0.1.3
- old
+ new
@@ -7,10 +7,11 @@
require 'lib/xcpretty/version'
require 'lib/xcpretty/syntax'
require 'rexml/document'
require 'lib/xcpretty/formatters/formatter'
require 'lib/xcpretty/reporters/junit'
+require 'lib/xcpretty/reporters/html'
include XCPretty::ANSI
TEST_RUN_START_MATCHER = /Test Suite .+ started/
TEST_SUITE_COMPLETION_MATCHER = /Executed \d+ tests, with \d+ failures \(\d+ unexpected\) in \d+\.\d+ \(\d+\.\d+\) seconds/
@@ -39,10 +40,25 @@
def run_output
@output ||= ''
end
+def html_report
+ @html_report ||= REXML::Document.new(File.open(XCPretty::HTML::FILEPATH, 'r').read.sub("<!DOCTYPE html>",""))
+end
+
+def html_report_body
+ html_report.root.get_elements('//body').first
+end
+
+def html_test_suites
+ parent = html_report_body.get_elements("//*[@id='test-suites']/").first
+ parent.elements.to_a.select do |e|
+ e.attributes['class'] && e.attributes['class'].include?('test-suite')
+ end
+end
+
def junit_report
REXML::Document.new(File.open(XCPretty::JUnit::FILEPATH, 'r').read)
end
def junit_report_root
@@ -70,7 +86,9 @@
After do
@input = ""
@output = ""
@custom_report_file1.unlink if @custom_report_file1
@custom_report_file2.unlink if @custom_report_file2
+ @html_report = nil
FileUtils.rm_rf(XCPretty::JUnit::FILEPATH)
+ FileUtils.rm_rf(XCPretty::HTML::FILEPATH)
end