aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-diff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jest-diff')
-rw-r--r--node_modules/jest-diff/.npmignore3
-rw-r--r--node_modules/jest-diff/build/constants.js21
-rw-r--r--node_modules/jest-diff/build/diffStrings.js145
-rw-r--r--node_modules/jest-diff/build/index.js137
-rw-r--r--node_modules/jest-diff/package.json16
5 files changed, 0 insertions, 322 deletions
diff --git a/node_modules/jest-diff/.npmignore b/node_modules/jest-diff/.npmignore
deleted file mode 100644
index 85e48fe7b..000000000
--- a/node_modules/jest-diff/.npmignore
+++ /dev/null
@@ -1,3 +0,0 @@
-**/__mocks__/**
-**/__tests__/**
-src
diff --git a/node_modules/jest-diff/build/constants.js b/node_modules/jest-diff/build/constants.js
deleted file mode 100644
index cb6ae145f..000000000
--- a/node_modules/jest-diff/build/constants.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Copyright (c) 2014, Facebook, Inc. All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-'use strict';
-
-const chalk = require('chalk');
-
-exports.NO_DIFF_MESSAGE =
-chalk.dim('Compared values have no visual difference.');
-
-exports.SIMILAR_MESSAGE =
-chalk.dim(
-'Compared values serialize to the same structure.\n' +
-'Printing internal object structure without calling `toJSON` instead.'); \ No newline at end of file
diff --git a/node_modules/jest-diff/build/diffStrings.js b/node_modules/jest-diff/build/diffStrings.js
deleted file mode 100644
index 6961ff801..000000000
--- a/node_modules/jest-diff/build/diffStrings.js
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Copyright (c) 2014, Facebook, Inc. All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-'use strict';
-
-const chalk = require('chalk');
-const diff = require('diff');var _require =
-
-require('./constants.js');const NO_DIFF_MESSAGE = _require.NO_DIFF_MESSAGE;
-const DIFF_CONTEXT = 5;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-const getColor = (added, removed) =>
-added ?
-chalk.red :
-removed ? chalk.green : chalk.dim;
-
-const getBgColor = (added, removed) =>
-added ?
-chalk.bgRed :
-removed ? chalk.bgGreen : chalk.dim;
-
-const highlightTrailingWhitespace = (line, bgColor) =>
-line.replace(/\s+$/, bgColor('$&'));
-
-const getAnnotation = options =>
-chalk.green('- ' + (options && options.aAnnotation || 'Expected')) + '\n' +
-chalk.red('+ ' + (options && options.bAnnotation || 'Received')) + '\n\n';
-
-const diffLines = (a, b) => {
- let isDifferent = false;
- return {
- diff: diff.diffLines(a, b).map(part => {const
- added = part.added,removed = part.removed;
- if (part.added || part.removed) {
- isDifferent = true;
- }
-
- const lines = part.value.split('\n');
- const color = getColor(added, removed);
- const bgColor = getBgColor(added, removed);
-
- if (lines[lines.length - 1] === '') {
- lines.pop();
- }
-
- return lines.map(line => {
- const highlightedLine = highlightTrailingWhitespace(line, bgColor);
- const mark = color(part.added ? '+' : part.removed ? '-' : ' ');
- return mark + ' ' + color(highlightedLine) + '\n';
- }).join('');
- }).join('').trim(),
- isDifferent };
-
-};
-
-// Only show patch marks ("@@ ... @@") if the diff is big.
-// To determine this, we need to compare either the original string (a) to
-// `hunk.oldLines` or a new string to `hunk.newLines`.
-// If the `oldLinesCount` is greater than `hunk.oldLines`
-// we can be sure that at least 1 line has been "hidden".
-const shouldShowPatchMarks =
-(hunk, oldLinesCount) => oldLinesCount > hunk.oldLines;
-
-const createPatchMark = hunk => {
- const markOld = `-${hunk.oldStart},${hunk.oldLines}`;
- const markNew = `+${hunk.newStart},${hunk.newLines}`;
- return chalk.yellow(`@@ ${markOld} ${markNew} @@\n`);
-};
-
-const structuredPatch = (a, b) => {
- const options = { context: DIFF_CONTEXT };
- let isDifferent = false;
- // Make sure the strings end with a newline.
- if (!a.endsWith('\n')) {
- a += '\n';
- }
- if (!b.endsWith('\n')) {
- b += '\n';
- }
-
- const oldLinesCount = (a.match(/\n/g) || []).length;
-
- return {
- diff: diff.structuredPatch('', '', a, b, '', '', options).
- hunks.map(hunk => {
- const lines = hunk.lines.map(line => {
- const added = line[0] === '+';
- const removed = line[0] === '-';
-
- const color = getColor(added, removed);
- const bgColor = getBgColor(added, removed);
-
- const highlightedLine = highlightTrailingWhitespace(line, bgColor);
- return color(highlightedLine) + '\n';
- }).join('');
-
- isDifferent = true;
- return shouldShowPatchMarks(hunk, oldLinesCount) ?
- createPatchMark(hunk) + lines :
- lines;
- }).join('').trim(),
- isDifferent };
-
-};
-
-function diffStrings(a, b, options) {
- // `diff` uses the Myers LCS diff algorithm which runs in O(n+d^2) time
- // (where "d" is the edit distance) and can get very slow for large edit
- // distances. Mitigate the cost by switching to a lower-resolution diff
- // whenever linebreaks are involved.
- const result = options && options.expand === false ?
- structuredPatch(a, b) :
- diffLines(a, b);
-
- if (result.isDifferent) {
- return getAnnotation(options) + result.diff;
- } else {
- return NO_DIFF_MESSAGE;
- }
-}
-
-module.exports = diffStrings; \ No newline at end of file
diff --git a/node_modules/jest-diff/build/index.js b/node_modules/jest-diff/build/index.js
deleted file mode 100644
index 782207208..000000000
--- a/node_modules/jest-diff/build/index.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * Copyright (c) 2014, Facebook, Inc. All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- *
- */
-
-'use strict';
-
-
-
-const ReactElementPlugin = require('pretty-format/build/plugins/ReactElement');
-const ReactTestComponentPlugin = require('pretty-format/build/plugins/ReactTestComponent');
-const AsymmetricMatcherPlugin = require('pretty-format/build/plugins/AsymmetricMatcher');
-
-const chalk = require('chalk');
-const diffStrings = require('./diffStrings');var _require =
-require('jest-matcher-utils');const getType = _require.getType;
-const prettyFormat = require('pretty-format');var _require2 =
-
-
-
-
-require('./constants');const NO_DIFF_MESSAGE = _require2.NO_DIFF_MESSAGE,SIMILAR_MESSAGE = _require2.SIMILAR_MESSAGE;
-
-const PLUGINS = [
-ReactTestComponentPlugin,
-ReactElementPlugin,
-AsymmetricMatcherPlugin];
-
-const FORMAT_OPTIONS = {
- plugins: PLUGINS };
-
-const FALLBACK_FORMAT_OPTIONS = {
- callToJSON: false,
- maxDepth: 10,
- plugins: PLUGINS };
-
-
-// Generate a string that will highlight the difference between two values
-// with green and red. (similar to how github does code diffing)
-function diff(a, b, options) {
- if (a === b) {
- return NO_DIFF_MESSAGE;
- }
-
- const aType = getType(a);
- let expectedType = aType;
- let omitDifference = false;
- if (aType === 'object' && typeof a.asymmetricMatch === 'function') {
- if (a.$$typeof !== Symbol.for('jest.asymmetricMatcher')) {
- // Do not know expected type of user-defined asymmetric matcher.
- return null;
- }
- if (typeof a.getExpectedType !== 'function') {
- // For example, expect.anything() matches either null or undefined
- return null;
- }
- expectedType = a.getExpectedType();
- // Primitive types boolean and number omit difference below.
- // For example, omit difference for expect.stringMatching(regexp)
- omitDifference = expectedType === 'string';
- }
-
- if (expectedType !== getType(b)) {
- return (
- ' Comparing two different types of values.' +
- ` Expected ${chalk.green(expectedType)} but ` +
- `received ${chalk.red(getType(b))}.`);
-
- }
-
- if (omitDifference) {
- return null;
- }
-
- switch (aType) {
- case 'string':
- const multiline = a.match(/[\r\n]/) !== -1 && b.indexOf('\n') !== -1;
- if (multiline) {
- return diffStrings(String(a), String(b), options);
- }
- return null;
- case 'number':
- case 'boolean':
- return null;
- case 'map':
- return compareObjects(sortMap(a), sortMap(b), options);
- case 'set':
- return compareObjects(sortSet(a), sortSet(b), options);
- default:
- return compareObjects(a, b, options);}
-
-}
-
-function sortMap(map) {
- return new Map(Array.from(map.entries()).sort());
-}
-
-function sortSet(set) {
- return new Set(Array.from(set.values()).sort());
-}
-
-function compareObjects(a, b, options) {
- let diffMessage;
- let hasThrown = false;
-
- try {
- diffMessage = diffStrings(
- prettyFormat(a, FORMAT_OPTIONS),
- prettyFormat(b, FORMAT_OPTIONS),
- options);
-
- } catch (e) {
- hasThrown = true;
- }
-
- // If the comparison yields no results, compare again but this time
- // without calling `toJSON`. It's also possible that toJSON might throw.
- if (!diffMessage || diffMessage === NO_DIFF_MESSAGE) {
- diffMessage = diffStrings(
- prettyFormat(a, FALLBACK_FORMAT_OPTIONS),
- prettyFormat(b, FALLBACK_FORMAT_OPTIONS),
- options);
-
- if (diffMessage !== NO_DIFF_MESSAGE && !hasThrown) {
- diffMessage = SIMILAR_MESSAGE + '\n\n' + diffMessage;
- }
- }
-
- return diffMessage;
-}
-
-module.exports = diff; \ No newline at end of file
diff --git a/node_modules/jest-diff/package.json b/node_modules/jest-diff/package.json
deleted file mode 100644
index 50d5c0e37..000000000
--- a/node_modules/jest-diff/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "jest-diff",
- "version": "19.0.0",
- "repository": {
- "type": "git",
- "url": "https://github.com/facebook/jest.git"
- },
- "license": "BSD-3-Clause",
- "main": "build/index.js",
- "dependencies": {
- "chalk": "^1.1.3",
- "diff": "^3.0.0",
- "jest-matcher-utils": "^19.0.0",
- "pretty-format": "^19.0.0"
- }
-}