92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, '__esModule', { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = void 0; | ||
|  | 
 | ||
|  | var _jestMatcherUtils = require('jest-matcher-utils'); | ||
|  | 
 | ||
|  | var _jestMatchersObject = require('./jestMatchersObject'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * 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 resetAssertionsLocalState = () => { | ||
|  |   (0, _jestMatchersObject.setState)({ | ||
|  |     assertionCalls: 0, | ||
|  |     expectedAssertionsNumber: null, | ||
|  |     isExpectingAssertions: false | ||
|  |   }); | ||
|  | }; // Create and format all errors related to the mismatched number of `expect`
 | ||
|  | // calls and reset the matcher's state.
 | ||
|  | 
 | ||
|  | const extractExpectedAssertionsErrors = () => { | ||
|  |   const result = []; | ||
|  | 
 | ||
|  |   const _getState = (0, _jestMatchersObject.getState)(), | ||
|  |     assertionCalls = _getState.assertionCalls, | ||
|  |     expectedAssertionsNumber = _getState.expectedAssertionsNumber, | ||
|  |     expectedAssertionsNumberError = _getState.expectedAssertionsNumberError, | ||
|  |     isExpectingAssertions = _getState.isExpectingAssertions, | ||
|  |     isExpectingAssertionsError = _getState.isExpectingAssertionsError; | ||
|  | 
 | ||
|  |   resetAssertionsLocalState(); | ||
|  | 
 | ||
|  |   if ( | ||
|  |     typeof expectedAssertionsNumber === 'number' && | ||
|  |     assertionCalls !== expectedAssertionsNumber | ||
|  |   ) { | ||
|  |     const numOfAssertionsExpected = (0, _jestMatcherUtils.EXPECTED_COLOR)( | ||
|  |       (0, _jestMatcherUtils.pluralize)('assertion', expectedAssertionsNumber) | ||
|  |     ); | ||
|  |     expectedAssertionsNumberError.message = | ||
|  |       (0, _jestMatcherUtils.matcherHint)( | ||
|  |         '.assertions', | ||
|  |         '', | ||
|  |         String(expectedAssertionsNumber), | ||
|  |         { | ||
|  |           isDirectExpectCall: true | ||
|  |         } | ||
|  |       ) + | ||
|  |       '\n\n' + | ||
|  |       `Expected ${numOfAssertionsExpected} to be called but received ` + | ||
|  |       (0, _jestMatcherUtils.RECEIVED_COLOR)( | ||
|  |         (0, _jestMatcherUtils.pluralize)('assertion call', assertionCalls || 0) | ||
|  |       ) + | ||
|  |       '.'; | ||
|  |     result.push({ | ||
|  |       actual: assertionCalls, | ||
|  |       error: expectedAssertionsNumberError, | ||
|  |       expected: expectedAssertionsNumber | ||
|  |     }); | ||
|  |   } | ||
|  | 
 | ||
|  |   if (isExpectingAssertions && assertionCalls === 0) { | ||
|  |     const expected = (0, _jestMatcherUtils.EXPECTED_COLOR)( | ||
|  |       'at least one assertion' | ||
|  |     ); | ||
|  |     const received = (0, _jestMatcherUtils.RECEIVED_COLOR)('received none'); | ||
|  |     isExpectingAssertionsError.message = | ||
|  |       (0, _jestMatcherUtils.matcherHint)('.hasAssertions', '', '', { | ||
|  |         isDirectExpectCall: true | ||
|  |       }) + | ||
|  |       '\n\n' + | ||
|  |       `Expected ${expected} to be called but ${received}.`; | ||
|  |     result.push({ | ||
|  |       actual: 'none', | ||
|  |       error: isExpectingAssertionsError, | ||
|  |       expected: 'at least one' | ||
|  |     }); | ||
|  |   } | ||
|  | 
 | ||
|  |   return result; | ||
|  | }; | ||
|  | 
 | ||
|  | var _default = extractExpectedAssertionsErrors; | ||
|  | exports.default = _default; |