@webex/xunit-with-logs 1.159.3 → 1.159.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js"],"names":["util","require","fs","Base","utils","escape","mkdirp","path","pick","exports","module","XUnit","runner","options","stats","tests","self","reporterOptions","output","createWriteStream","Error","sync","dirname","fileStream","on","test","push","logMethodNames","originalMethods","console","systemErr","systemOut","forEach","methodName","args","callerInfo","stack","split","match","length","callerFile","relative","__dirname","unshift","toUpperCase","write","tag","name","failures","errors","skipped","passes","timestamp","Date","toUTCString","time","duration","t","inherits","prototype","done","fn","end","line","log","testFn","attrs","classname","parent","fullTitle","title","cdata","reduce","reducer","state","err","failureMessage","message","pending","out","innerOut","arg","close","content","pairs","innerTag","key","value","join","str"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// These'll get cleaned up in the xunit PR; for now, they're just here because\n// this file attempted to follow the format of the mocha core xunit reporter\n/* eslint-disable no-console */\n/* eslint-disable no-multi-assign */\n\n/**\n * Module dependencies.\n */\n\nconst util = require('util');\nconst fs = require('fs');\n\nconst Base = require('mocha/lib/reporters/base');\nconst utils = require('mocha/lib/utils');\n\nconst {escape} = utils;\nconst mkdirp = require('mkdirp');\n\nconst path = require('path');\n\nconst {pick} = require('lodash');\n\n/**\n * Expose `XUnit`.\n */\n\nexports = module.exports = XUnit;\n\n/**\n * Initialize a new `XUnit` reporter.\n *\n * @param {Runner} runner\n * @param {Object} options\n * @returns {undefined}\n * @api public\n */\nfunction XUnit(runner, options) {\n Reflect.apply(Base, this, [runner]);\n const {stats} = this;\n const tests = [];\n const self = this;\n\n if (options.reporterOptions && options.reporterOptions.output) {\n if (!fs.createWriteStream) {\n throw new Error('file output not supported in browser');\n }\n mkdirp.sync(path.dirname(options.reporterOptions.output));\n self.fileStream = fs.createWriteStream(options.reporterOptions.output);\n }\n\n runner.on('pending', (test) => {\n tests.push(test);\n });\n\n runner.on('pass', (test) => {\n tests.push(test);\n });\n\n runner.on('fail', (test) => {\n tests.push(test);\n });\n\n const logMethodNames = ['error', 'warn', 'log', 'info', 'debug', 'trace'];\n const originalMethods = pick(console, logMethodNames);\n\n runner.on('test', (test) => {\n test.systemErr = [];\n test.systemOut = [];\n\n logMethodNames.forEach((methodName) => {\n if (!console[methodName]) {\n methodName = 'log';\n }\n\n console[methodName] = (...args) => {\n Reflect.apply(originalMethods[methodName], console, args);\n\n const callerInfo = (new Error())\n .stack\n .split('\\n')[2]\n .match(/\\((.+?):(\\d+):\\d+/);\n\n if (callerInfo && callerInfo.length >= 2) {\n const callerFile = path.relative(__dirname, '..', callerInfo[1]);\n\n args.unshift(`(FILE:${callerFile || 'UNKNOWN'})`);\n args.unshift(`(LINE:${callerInfo[2] || 'UNKNOWN'})`);\n }\n\n if (methodName === 'error') {\n test.systemErr.push(args);\n }\n else {\n args.unshift(`${methodName.toUpperCase()}:`);\n\n test.systemOut.push(args);\n }\n };\n });\n });\n\n runner.on('test end', () => {\n logMethodNames.forEach((methodName) => {\n console[methodName] = originalMethods[methodName];\n });\n });\n\n runner.on('end', () => {\n self.write('<testsuites>');\n self.write(tag('testsuite', {\n name: 'Mocha Tests',\n tests: stats.tests,\n failures: stats.failures,\n errors: stats.failures,\n skipped: stats.tests - stats.failures - stats.passes,\n timestamp: (new Date()).toUTCString(),\n time: stats.duration / 1000 || 0\n }, false));\n\n tests.forEach((t) => {\n self.test(t);\n });\n\n self.write('</testsuite>');\n self.write('</testsuites>');\n });\n}\n\n/**\n * Inherit from `Base.prototype`.\n */\nutil.inherits(XUnit, Base);\n\n/**\n * Override done to close the stream (if it's a file).\n *\n * @param {Array} failures\n * @param {Function} fn\n * @returns {undefined}\n */\nXUnit.prototype.done = function done(failures, fn) {\n if (this.fileStream) {\n this.fileStream.end(() => {\n fn(failures);\n });\n }\n else {\n fn(failures);\n }\n};\n\n/**\n * Write out the given line.\n *\n * @param {string} line\n * @returns {undefined}\n */\nXUnit.prototype.write = function write(line) {\n if (this.fileStream) {\n this.fileStream.write(`${line}\\n`);\n }\n else {\n console.log(line);\n }\n};\n\n/**\n * Output tag for the given `test.`\n *\n * @param {Test} test\n * @returns {undefined}\n */\nXUnit.prototype.test = function testFn(test) {\n const attrs = {\n classname: test.parent.fullTitle(),\n name: test.title,\n time: test.duration / 1000 || 0\n };\n\n let systemErr;\n\n if (test.systemErr && test.systemErr.length > 0) {\n systemErr = tag('system-err', {}, false, cdata(test.systemErr.reduce(reducer, '\\n')));\n }\n else {\n systemErr = '';\n }\n\n let systemOut;\n\n if (test.systemOut && test.systemOut.length > 0) {\n systemOut = tag('system-out', {}, false, cdata(test.systemOut.reduce(reducer, '\\n')));\n }\n else {\n systemOut = '';\n }\n\n if (test.state === 'failed') {\n const {err} = test;\n const failureMessage = tag('failure', {}, false, cdata(`${escape(err.message)}\\n${err.stack}`));\n\n this.write(tag('testcase', attrs, false, failureMessage + systemOut + systemErr));\n }\n else if (test.pending) {\n this.write(tag('testcase', attrs, false, tag('skipped', {}, true)));\n }\n else {\n this.write(tag('testcase', attrs, true));\n }\n\n /**\n * reducer\n * @param {string} out\n * @param {Array<mixed>} args\n * @returns {string}\n * @private\n */\n function reducer(out, args) {\n return `${out + args.reduce((innerOut, arg) => `${innerOut + arg} `, '')}\\n`;\n }\n};\n\n/**\n * HTML tag helper.\n *\n * @param {string} name\n * @param {Object} attrs\n * @param {boolean} close\n * @param {string} content\n * @returns {string}\n */\nfunction tag(name, attrs, close, content) {\n const end = close ? '/>' : '>';\n const pairs = [];\n let innerTag;\n\n for (const [key, value] of Object.entries(attrs)) {\n pairs.push(`${key}=\"${escape(value)}\"`);\n }\n\n innerTag = `<${name}${pairs.length ? ` ${pairs.join(' ')}` : ''}${end}`;\n if (content) {\n innerTag += `${content}</${name}${end}`;\n }\n\n return innerTag;\n}\n\n/**\n * Return cdata escaped CDATA `str`.\n * @param {string} str\n * @returns {string}\n */\nfunction cdata(str) {\n return `<![CDATA[${escape(str)}]]>`;\n}\n"]}
1
+ {"version":3,"names":["util","require","fs","Base","utils","escape","mkdirp","path","pick","exports","module","XUnit","runner","options","stats","tests","self","reporterOptions","output","createWriteStream","Error","sync","dirname","fileStream","on","test","push","logMethodNames","originalMethods","console","systemErr","systemOut","forEach","methodName","args","callerInfo","stack","split","match","length","callerFile","relative","__dirname","unshift","toUpperCase","write","tag","name","failures","errors","skipped","passes","timestamp","Date","toUTCString","time","duration","t","inherits","prototype","done","fn","end","line","log","testFn","attrs","classname","parent","fullTitle","title","cdata","reduce","reducer","state","err","failureMessage","message","pending","out","innerOut","arg","close","content","pairs","innerTag","key","value","join","str"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// These'll get cleaned up in the xunit PR; for now, they're just here because\n// this file attempted to follow the format of the mocha core xunit reporter\n/* eslint-disable no-console */\n/* eslint-disable no-multi-assign */\n\n/**\n * Module dependencies.\n */\n\nconst util = require('util');\nconst fs = require('fs');\n\nconst Base = require('mocha/lib/reporters/base');\nconst utils = require('mocha/lib/utils');\n\nconst {escape} = utils;\nconst mkdirp = require('mkdirp');\n\nconst path = require('path');\n\nconst {pick} = require('lodash');\n\n/**\n * Expose `XUnit`.\n */\n\nexports = module.exports = XUnit;\n\n/**\n * Initialize a new `XUnit` reporter.\n *\n * @param {Runner} runner\n * @param {Object} options\n * @returns {undefined}\n * @api public\n */\nfunction XUnit(runner, options) {\n Reflect.apply(Base, this, [runner]);\n const {stats} = this;\n const tests = [];\n const self = this;\n\n if (options.reporterOptions && options.reporterOptions.output) {\n if (!fs.createWriteStream) {\n throw new Error('file output not supported in browser');\n }\n mkdirp.sync(path.dirname(options.reporterOptions.output));\n self.fileStream = fs.createWriteStream(options.reporterOptions.output);\n }\n\n runner.on('pending', (test) => {\n tests.push(test);\n });\n\n runner.on('pass', (test) => {\n tests.push(test);\n });\n\n runner.on('fail', (test) => {\n tests.push(test);\n });\n\n const logMethodNames = ['error', 'warn', 'log', 'info', 'debug', 'trace'];\n const originalMethods = pick(console, logMethodNames);\n\n runner.on('test', (test) => {\n test.systemErr = [];\n test.systemOut = [];\n\n logMethodNames.forEach((methodName) => {\n if (!console[methodName]) {\n methodName = 'log';\n }\n\n console[methodName] = (...args) => {\n Reflect.apply(originalMethods[methodName], console, args);\n\n const callerInfo = (new Error())\n .stack\n .split('\\n')[2]\n .match(/\\((.+?):(\\d+):\\d+/);\n\n if (callerInfo && callerInfo.length >= 2) {\n const callerFile = path.relative(__dirname, '..', callerInfo[1]);\n\n args.unshift(`(FILE:${callerFile || 'UNKNOWN'})`);\n args.unshift(`(LINE:${callerInfo[2] || 'UNKNOWN'})`);\n }\n\n if (methodName === 'error') {\n test.systemErr.push(args);\n }\n else {\n args.unshift(`${methodName.toUpperCase()}:`);\n\n test.systemOut.push(args);\n }\n };\n });\n });\n\n runner.on('test end', () => {\n logMethodNames.forEach((methodName) => {\n console[methodName] = originalMethods[methodName];\n });\n });\n\n runner.on('end', () => {\n self.write('<testsuites>');\n self.write(tag('testsuite', {\n name: 'Mocha Tests',\n tests: stats.tests,\n failures: stats.failures,\n errors: stats.failures,\n skipped: stats.tests - stats.failures - stats.passes,\n timestamp: (new Date()).toUTCString(),\n time: stats.duration / 1000 || 0\n }, false));\n\n tests.forEach((t) => {\n self.test(t);\n });\n\n self.write('</testsuite>');\n self.write('</testsuites>');\n });\n}\n\n/**\n * Inherit from `Base.prototype`.\n */\nutil.inherits(XUnit, Base);\n\n/**\n * Override done to close the stream (if it's a file).\n *\n * @param {Array} failures\n * @param {Function} fn\n * @returns {undefined}\n */\nXUnit.prototype.done = function done(failures, fn) {\n if (this.fileStream) {\n this.fileStream.end(() => {\n fn(failures);\n });\n }\n else {\n fn(failures);\n }\n};\n\n/**\n * Write out the given line.\n *\n * @param {string} line\n * @returns {undefined}\n */\nXUnit.prototype.write = function write(line) {\n if (this.fileStream) {\n this.fileStream.write(`${line}\\n`);\n }\n else {\n console.log(line);\n }\n};\n\n/**\n * Output tag for the given `test.`\n *\n * @param {Test} test\n * @returns {undefined}\n */\nXUnit.prototype.test = function testFn(test) {\n const attrs = {\n classname: test.parent.fullTitle(),\n name: test.title,\n time: test.duration / 1000 || 0\n };\n\n let systemErr;\n\n if (test.systemErr && test.systemErr.length > 0) {\n systemErr = tag('system-err', {}, false, cdata(test.systemErr.reduce(reducer, '\\n')));\n }\n else {\n systemErr = '';\n }\n\n let systemOut;\n\n if (test.systemOut && test.systemOut.length > 0) {\n systemOut = tag('system-out', {}, false, cdata(test.systemOut.reduce(reducer, '\\n')));\n }\n else {\n systemOut = '';\n }\n\n if (test.state === 'failed') {\n const {err} = test;\n const failureMessage = tag('failure', {}, false, cdata(`${escape(err.message)}\\n${err.stack}`));\n\n this.write(tag('testcase', attrs, false, failureMessage + systemOut + systemErr));\n }\n else if (test.pending) {\n this.write(tag('testcase', attrs, false, tag('skipped', {}, true)));\n }\n else {\n this.write(tag('testcase', attrs, true));\n }\n\n /**\n * reducer\n * @param {string} out\n * @param {Array<mixed>} args\n * @returns {string}\n * @private\n */\n function reducer(out, args) {\n return `${out + args.reduce((innerOut, arg) => `${innerOut + arg} `, '')}\\n`;\n }\n};\n\n/**\n * HTML tag helper.\n *\n * @param {string} name\n * @param {Object} attrs\n * @param {boolean} close\n * @param {string} content\n * @returns {string}\n */\nfunction tag(name, attrs, close, content) {\n const end = close ? '/>' : '>';\n const pairs = [];\n let innerTag;\n\n for (const [key, value] of Object.entries(attrs)) {\n pairs.push(`${key}=\"${escape(value)}\"`);\n }\n\n innerTag = `<${name}${pairs.length ? ` ${pairs.join(' ')}` : ''}${end}`;\n if (content) {\n innerTag += `${content}</${name}${end}`;\n }\n\n return innerTag;\n}\n\n/**\n * Return cdata escaped CDATA `str`.\n * @param {string} str\n * @returns {string}\n */\nfunction cdata(str) {\n return `<![CDATA[${escape(str)}]]>`;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/xunit-with-logs",
3
- "version": "1.159.3",
3
+ "version": "1.159.6",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@babel/runtime-corejs2": "^7.14.8",
18
- "mocha": "^8.3.2",
18
+ "mocha": "^9.2.2",
19
19
  "mkdirp": "^0.5.1",
20
20
  "lodash": "^4.17.21",
21
21
  "envify": "^4.1.0"