112 lines
2.2 KiB
JavaScript
112 lines
2.2 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, '__esModule', {
|
|
value: true
|
|
});
|
|
exports.default = getSnapshotStatus;
|
|
|
|
function _chalk() {
|
|
const data = _interopRequireDefault(require('chalk'));
|
|
|
|
_chalk = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _jestUtil() {
|
|
const data = require('jest-util');
|
|
|
|
_jestUtil = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _interopRequireDefault(obj) {
|
|
return obj && obj.__esModule ? obj : {default: obj};
|
|
}
|
|
|
|
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
const ARROW = ' \u203A ';
|
|
const DOT = ' \u2022 ';
|
|
|
|
const FAIL_COLOR = _chalk().default.bold.red;
|
|
|
|
const SNAPSHOT_ADDED = _chalk().default.bold.green;
|
|
|
|
const SNAPSHOT_UPDATED = _chalk().default.bold.green;
|
|
|
|
const SNAPSHOT_OUTDATED = _chalk().default.bold.yellow;
|
|
|
|
function getSnapshotStatus(snapshot, afterUpdate) {
|
|
const statuses = [];
|
|
|
|
if (snapshot.added) {
|
|
statuses.push(
|
|
SNAPSHOT_ADDED(
|
|
ARROW +
|
|
(0, _jestUtil().pluralize)('snapshot', snapshot.added) +
|
|
' written.'
|
|
)
|
|
);
|
|
}
|
|
|
|
if (snapshot.updated) {
|
|
statuses.push(
|
|
SNAPSHOT_UPDATED(
|
|
ARROW +
|
|
(0, _jestUtil().pluralize)('snapshot', snapshot.updated) +
|
|
' updated.'
|
|
)
|
|
);
|
|
}
|
|
|
|
if (snapshot.unmatched) {
|
|
statuses.push(
|
|
FAIL_COLOR(
|
|
ARROW +
|
|
(0, _jestUtil().pluralize)('snapshot', snapshot.unmatched) +
|
|
' failed.'
|
|
)
|
|
);
|
|
}
|
|
|
|
if (snapshot.unchecked) {
|
|
if (afterUpdate) {
|
|
statuses.push(
|
|
SNAPSHOT_UPDATED(
|
|
ARROW +
|
|
(0, _jestUtil().pluralize)('snapshot', snapshot.unchecked) +
|
|
' removed.'
|
|
)
|
|
);
|
|
} else {
|
|
statuses.push(
|
|
SNAPSHOT_OUTDATED(
|
|
ARROW +
|
|
(0, _jestUtil().pluralize)('snapshot', snapshot.unchecked) +
|
|
' obsolete'
|
|
) + '.'
|
|
);
|
|
}
|
|
|
|
snapshot.uncheckedKeys.forEach(key => {
|
|
statuses.push(` ${DOT}${key}`);
|
|
});
|
|
}
|
|
|
|
if (snapshot.fileDeleted) {
|
|
statuses.push(SNAPSHOT_UPDATED(ARROW + 'snapshot file removed.'));
|
|
}
|
|
|
|
return statuses;
|
|
}
|