You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							103 lines
						
					
					
						
							4.0 KiB
						
					
					
				
			
		
		
	
	
							103 lines
						
					
					
						
							4.0 KiB
						
					
					
				'use strict'; | 
						|
 | 
						|
Object.defineProperty(exports, '__esModule', { | 
						|
  value: true | 
						|
}); | 
						|
exports.printReceivedConstructorNameNot = exports.printReceivedConstructorName = exports.printExpectedConstructorNameNot = exports.printExpectedConstructorName = exports.printReceivedArrayContainExpectedItem = exports.printReceivedStringContainExpectedResult = exports.printReceivedStringContainExpectedSubstring = void 0; | 
						|
 | 
						|
var _jestMatcherUtils = require('jest-matcher-utils'); | 
						|
 | 
						|
/** | 
						|
 * 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. | 
						|
 * | 
						|
 */ | 
						|
// Format substring but do not enclose in double quote marks. | 
						|
// The replacement is compatible with pretty-format package. | 
						|
const printSubstring = val => val.replace(/"|\\/g, '\\$&'); | 
						|
 | 
						|
const printReceivedStringContainExpectedSubstring = (received, start, length) => | 
						|
  (0, _jestMatcherUtils.RECEIVED_COLOR)( | 
						|
    '"' + | 
						|
      printSubstring(received.slice(0, start)) + | 
						|
      (0, _jestMatcherUtils.INVERTED_COLOR)( | 
						|
        printSubstring(received.slice(start, start + length)) | 
						|
      ) + | 
						|
      printSubstring(received.slice(start + length)) + | 
						|
      '"' | 
						|
  ); | 
						|
 | 
						|
exports.printReceivedStringContainExpectedSubstring = printReceivedStringContainExpectedSubstring; | 
						|
 | 
						|
const printReceivedStringContainExpectedResult = (received, result) => | 
						|
  result === null | 
						|
    ? (0, _jestMatcherUtils.printReceived)(received) | 
						|
    : printReceivedStringContainExpectedSubstring( | 
						|
        received, | 
						|
        result.index, | 
						|
        result[0].length | 
						|
      ); // The serialized array is compatible with pretty-format package min option. | 
						|
// However, items have default stringify depth (instead of depth - 1) | 
						|
// so expected item looks consistent by itself and enclosed in the array. | 
						|
 | 
						|
exports.printReceivedStringContainExpectedResult = printReceivedStringContainExpectedResult; | 
						|
 | 
						|
const printReceivedArrayContainExpectedItem = (received, index) => | 
						|
  (0, _jestMatcherUtils.RECEIVED_COLOR)( | 
						|
    '[' + | 
						|
      received | 
						|
        .map((item, i) => { | 
						|
          const stringified = (0, _jestMatcherUtils.stringify)(item); | 
						|
          return i === index | 
						|
            ? (0, _jestMatcherUtils.INVERTED_COLOR)(stringified) | 
						|
            : stringified; | 
						|
        }) | 
						|
        .join(', ') + | 
						|
      ']' | 
						|
  ); | 
						|
 | 
						|
exports.printReceivedArrayContainExpectedItem = printReceivedArrayContainExpectedItem; | 
						|
 | 
						|
const printExpectedConstructorName = (label, expected) => | 
						|
  printConstructorName(label, expected, false, true) + '\n'; | 
						|
 | 
						|
exports.printExpectedConstructorName = printExpectedConstructorName; | 
						|
 | 
						|
const printExpectedConstructorNameNot = (label, expected) => | 
						|
  printConstructorName(label, expected, true, true) + '\n'; | 
						|
 | 
						|
exports.printExpectedConstructorNameNot = printExpectedConstructorNameNot; | 
						|
 | 
						|
const printReceivedConstructorName = (label, received) => | 
						|
  printConstructorName(label, received, false, false) + '\n'; // Do not call function if received is equal to expected. | 
						|
 | 
						|
exports.printReceivedConstructorName = printReceivedConstructorName; | 
						|
 | 
						|
const printReceivedConstructorNameNot = (label, received, expected) => | 
						|
  typeof expected.name === 'string' && | 
						|
  expected.name.length !== 0 && | 
						|
  typeof received.name === 'string' && | 
						|
  received.name.length !== 0 | 
						|
    ? printConstructorName(label, received, true, false) + | 
						|
      ` ${ | 
						|
        Object.getPrototypeOf(received) === expected | 
						|
          ? 'extends' | 
						|
          : 'extends … extends' | 
						|
      } ${(0, _jestMatcherUtils.EXPECTED_COLOR)(expected.name)}` + | 
						|
      '\n' | 
						|
    : printConstructorName(label, received, false, false) + '\n'; | 
						|
 | 
						|
exports.printReceivedConstructorNameNot = printReceivedConstructorNameNot; | 
						|
 | 
						|
const printConstructorName = (label, constructor, isNot, isExpected) => | 
						|
  typeof constructor.name !== 'string' | 
						|
    ? `${label} name is not a string` | 
						|
    : constructor.name.length === 0 | 
						|
    ? `${label} name is an empty string` | 
						|
    : `${label}: ${!isNot ? '' : isExpected ? 'not ' : '    '}${ | 
						|
        isExpected | 
						|
          ? (0, _jestMatcherUtils.EXPECTED_COLOR)(constructor.name) | 
						|
          : (0, _jestMatcherUtils.RECEIVED_COLOR)(constructor.name) | 
						|
      }`;
 | 
						|
 |