Class XmlReportWriter
- java.lang.Object
-
- org.junit.platform.reporting.legacy.xml.XmlReportWriter
-
class XmlReportWriter extends java.lang.Object
XmlReportWriter
writes an XML report whose format is compatible with the de facto standard for JUnit 4 based test reports that was made popular by the Ant build system.- Since:
- 1.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
XmlReportWriter.AggregatedTestResult
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.Pattern
CDATA_SPLIT_PATTERN
private XmlReportData
reportData
-
Constructor Summary
Constructors Constructor Description XmlReportWriter(XmlReportData reportData)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
buildReportEntryDescription(java.time.LocalDateTime timestamp, java.util.Map<java.lang.String,java.lang.String> keyValuePairs, int entryNumber, java.lang.StringBuilder result)
private void
collectReportEntries(TestIdentifier testIdentifier, java.util.List<java.lang.String> systemOutElements, java.util.List<java.lang.String> systemErrElements)
(package private) static java.lang.String
escapeIllegalChars(java.lang.String text)
private java.lang.String
formatNonStandardAttributesAsString(TestIdentifier testIdentifier)
private java.lang.String
getClassName(TestIdentifier testIdentifier)
private java.time.LocalDateTime
getCurrentDateTime()
private java.util.Optional<java.lang.String>
getHostname()
private java.lang.String
getName(TestIdentifier testIdentifier)
private java.lang.String
getTime(TestIdentifier testIdentifier, java.text.NumberFormat numberFormat)
private static boolean
isAllowedXmlCharacter(int codePoint)
private static boolean
isFailure(TestExecutionResult result)
private void
newLine(javax.xml.stream.XMLStreamWriter xmlWriter)
private void
removeIfPresentAndAddAsSeparateElement(java.util.Map<java.lang.String,java.lang.String> keyValuePairs, java.lang.String key, java.util.List<java.lang.String> elements)
private boolean
shouldInclude(TestPlan testPlan, TestIdentifier testIdentifier)
private XmlReportWriter.AggregatedTestResult
toAggregatedResult(TestIdentifier testIdentifier)
private void
writeAttributeSafely(javax.xml.stream.XMLStreamWriter writer, java.lang.String name, java.lang.String value)
private void
writeCDataSafely(javax.xml.stream.XMLStreamWriter writer, java.lang.String data)
private void
writeErrorOrFailureElement(XmlReportWriter.AggregatedTestResult.Type type, java.lang.Throwable throwable, javax.xml.stream.XMLStreamWriter writer)
private void
writeFailureAttributesAndContent(java.lang.Throwable throwable, javax.xml.stream.XMLStreamWriter writer)
private void
writeOutputElement(java.lang.String elementName, java.lang.String content, javax.xml.stream.XMLStreamWriter writer)
private void
writeOutputElements(java.lang.String elementName, java.util.List<java.lang.String> elements, javax.xml.stream.XMLStreamWriter writer)
private void
writeSkippedElement(java.lang.String reason, javax.xml.stream.XMLStreamWriter writer)
private void
writeSkippedOrErrorOrFailureElement(TestIdentifier testIdentifier, XmlReportWriter.AggregatedTestResult testResult, javax.xml.stream.XMLStreamWriter writer)
private void
writeSuiteAttributes(TestIdentifier testIdentifier, java.util.Collection<XmlReportWriter.AggregatedTestResult> testResults, java.text.NumberFormat numberFormat, javax.xml.stream.XMLStreamWriter writer)
private void
writeSystemProperties(javax.xml.stream.XMLStreamWriter writer)
private void
writeTestcase(TestIdentifier testIdentifier, XmlReportWriter.AggregatedTestResult testResult, java.text.NumberFormat numberFormat, javax.xml.stream.XMLStreamWriter writer)
private void
writeTestCounts(java.util.Collection<XmlReportWriter.AggregatedTestResult> testResults, javax.xml.stream.XMLStreamWriter writer)
private void
writeTestsuite(TestIdentifier testIdentifier, java.util.Map<TestIdentifier,XmlReportWriter.AggregatedTestResult> tests, javax.xml.stream.XMLStreamWriter writer)
(package private) void
writeXmlReport(TestIdentifier rootDescriptor, java.io.Writer out)
private void
writeXmlReport(TestIdentifier testIdentifier, java.util.Map<TestIdentifier,XmlReportWriter.AggregatedTestResult> tests, java.io.Writer out)
-
-
-
Field Detail
-
CDATA_SPLIT_PATTERN
private static final java.util.regex.Pattern CDATA_SPLIT_PATTERN
-
reportData
private final XmlReportData reportData
-
-
Constructor Detail
-
XmlReportWriter
XmlReportWriter(XmlReportData reportData)
-
-
Method Detail
-
writeXmlReport
void writeXmlReport(TestIdentifier rootDescriptor, java.io.Writer out) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
toAggregatedResult
private XmlReportWriter.AggregatedTestResult toAggregatedResult(TestIdentifier testIdentifier)
-
shouldInclude
private boolean shouldInclude(TestPlan testPlan, TestIdentifier testIdentifier)
-
writeXmlReport
private void writeXmlReport(TestIdentifier testIdentifier, java.util.Map<TestIdentifier,XmlReportWriter.AggregatedTestResult> tests, java.io.Writer out) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeTestsuite
private void writeTestsuite(TestIdentifier testIdentifier, java.util.Map<TestIdentifier,XmlReportWriter.AggregatedTestResult> tests, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeSuiteAttributes
private void writeSuiteAttributes(TestIdentifier testIdentifier, java.util.Collection<XmlReportWriter.AggregatedTestResult> testResults, java.text.NumberFormat numberFormat, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeTestCounts
private void writeTestCounts(java.util.Collection<XmlReportWriter.AggregatedTestResult> testResults, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeSystemProperties
private void writeSystemProperties(javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeTestcase
private void writeTestcase(TestIdentifier testIdentifier, XmlReportWriter.AggregatedTestResult testResult, java.text.NumberFormat numberFormat, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
getName
private java.lang.String getName(TestIdentifier testIdentifier)
-
getClassName
private java.lang.String getClassName(TestIdentifier testIdentifier)
-
writeSkippedOrErrorOrFailureElement
private void writeSkippedOrErrorOrFailureElement(TestIdentifier testIdentifier, XmlReportWriter.AggregatedTestResult testResult, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeSkippedElement
private void writeSkippedElement(java.lang.String reason, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeErrorOrFailureElement
private void writeErrorOrFailureElement(XmlReportWriter.AggregatedTestResult.Type type, java.lang.Throwable throwable, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeFailureAttributesAndContent
private void writeFailureAttributesAndContent(java.lang.Throwable throwable, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
collectReportEntries
private void collectReportEntries(TestIdentifier testIdentifier, java.util.List<java.lang.String> systemOutElements, java.util.List<java.lang.String> systemErrElements)
-
removeIfPresentAndAddAsSeparateElement
private void removeIfPresentAndAddAsSeparateElement(java.util.Map<java.lang.String,java.lang.String> keyValuePairs, java.lang.String key, java.util.List<java.lang.String> elements)
-
buildReportEntryDescription
private void buildReportEntryDescription(java.time.LocalDateTime timestamp, java.util.Map<java.lang.String,java.lang.String> keyValuePairs, int entryNumber, java.lang.StringBuilder result)
-
getTime
private java.lang.String getTime(TestIdentifier testIdentifier, java.text.NumberFormat numberFormat)
-
getHostname
private java.util.Optional<java.lang.String> getHostname()
-
getCurrentDateTime
private java.time.LocalDateTime getCurrentDateTime()
-
formatNonStandardAttributesAsString
private java.lang.String formatNonStandardAttributesAsString(TestIdentifier testIdentifier)
-
writeOutputElements
private void writeOutputElements(java.lang.String elementName, java.util.List<java.lang.String> elements, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeOutputElement
private void writeOutputElement(java.lang.String elementName, java.lang.String content, javax.xml.stream.XMLStreamWriter writer) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttributeSafely
private void writeAttributeSafely(javax.xml.stream.XMLStreamWriter writer, java.lang.String name, java.lang.String value) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeCDataSafely
private void writeCDataSafely(javax.xml.stream.XMLStreamWriter writer, java.lang.String data) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
escapeIllegalChars
static java.lang.String escapeIllegalChars(java.lang.String text)
-
isAllowedXmlCharacter
private static boolean isAllowedXmlCharacter(int codePoint)
-
newLine
private void newLine(javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
isFailure
private static boolean isFailure(TestExecutionResult result)
-
-