@webex/jsdoctrinetest
Version:
40 lines (36 loc) • 1.25 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = generateSpec;
var _types = require("@babel/types");
var _template = _interopRequireDefault(require("@babel/template"));
/*!
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
*/
var makeDescribeBlock = (0, _template.default)("\n describe(DESCRIBED_THING, function() {\n IT_BLOCK\n });\n");
var makeItBlock = (0, _template.default)("\n it(DOES_A_THING, function() {\n STATEMENTS\n });\n");
/**
* Wraps a test case in a Mocha it-block
* @param {Object} a
* @param {string} a.name
* @param {Object} a.testCase
* @returns {[type]}
*/
function generateSpec(a) {
var itLine = a.name;
if (a.type.toLowerCase().includes('function')) {
itLine += '()';
}
var d = makeDescribeBlock({
DESCRIBED_THING: (0, _types.stringLiteral)(a.filename),
IT_BLOCK: makeItBlock({
DOES_A_THING: (0, _types.stringLiteral)(itLine),
STATEMENTS: a.testCase
})
});
return d;
}
//# sourceMappingURL=mocha-template.js.map