access-sniff
Version:
A node/iojs library & CLI for HTML_Codesniffer
61 lines (43 loc) • 1.68 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _bluebird = require('bluebird');
var _bluebird2 = _interopRequireDefault(_bluebird);
var _logger = require('../logger');
var _logger2 = _interopRequireDefault(_logger);
var _messages = require('../messages');
var _messages2 = _interopRequireDefault(_messages);
var _runners = require('../runners');
var _runners2 = _interopRequireDefault(_runners);
var _helpers = require('../helpers');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ErrorReporter = function ErrorReporter(file, error, deferredPromise) {
_logger2.default.generalError('Testing ' + file + ' failed');
_logger2.default.generalError(error);
deferredPromise.reject(error);
};
var TestRunner = function TestRunner(file, options) {
var deferredOutside = _bluebird2.default.pending();
var verbose = options.verbose;
var fileContents = void 0;
if (verbose) {
_logger2.default.startMessage('Testing ' + file);
}
// Get file contents
(0, _helpers.getFileContents)(file).then(function (data) {
fileContents = data;
return (0, _runners2.default)(file, options);
}).then(function (data) {
return Array.isArray(data) ? data : (0, _helpers.NormalizeOutput)(data);
}).then(function (data) {
return (0, _messages2.default)(data, file, fileContents, options);
}).then(function (reportData) {
return deferredOutside.resolve(reportData);
}).catch(function (error) {
return ErrorReporter(file, error, deferredOutside);
});
return deferredOutside.promise;
};
exports.default = TestRunner;
;