/** * @fileoverview jUnit Reporter * @author Jamund Ferguson */ "use strict"; const xmlEscape = require("../util/xml-escape"); //------------------------------------------------------------------------------ // Helper Functions //------------------------------------------------------------------------------ /** * Returns the severity of warning or error * @param {Object} message message object to examine * @returns {string} severity level * @private */ function getMessageType(message) { if (message.fatal || message.severity === 2) { return "Error"; } else { return "Warning"; } } //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ module.exports = function(results) { let output = ""; output += "\n"; output += "\n"; results.forEach(function(result) { const messages = result.messages; if (messages.length) { output += `\n`; } messages.forEach(function(message) { const type = message.fatal ? "error" : "failure"; output += ``; output += `<${type} message="${xmlEscape(message.message || "")}">`; output += ""; output += ``; output += "\n"; }); if (messages.length) { output += "\n"; } }); output += "\n"; return output; };