![Tests failed](https://img.shields.io/badge/tests-4207%20passed%2C%202%20failed%2C%2030%20skipped-critical)
|Report|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[fixtures/external/jest/jest-test-results.xml](#user-content-r0)|4207 ✅|2 ❌|30 ⚪|166s|
## ❌ <a id="user-content-r0" href="#user-content-r0">fixtures/external/jest/jest-test-results.xml</a>
**4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[e2e/__tests__/asyncAndCallback.test.ts](#user-content-r0s0)|1 ✅|||746ms|
|[e2e/__tests__/asyncRegenerator.test.ts](#user-content-r0s1)|1 ✅|||4s|
|[e2e/__tests__/autoClearMocks.test.ts](#user-content-r0s2)|2 ✅|||2s|
|[e2e/__tests__/autoResetMocks.test.ts](#user-content-r0s3)|2 ✅|||2s|
|[e2e/__tests__/autoRestoreMocks.test.ts](#user-content-r0s4)|2 ✅|||2s|
|[e2e/__tests__/babelPluginJestHoist.test.ts](#user-content-r0s5)|1 ✅|||6s|
|[e2e/__tests__/badSourceMap.test.ts](#user-content-r0s6)|1 ✅|||858ms|
|[e2e/__tests__/beforeAllFiltered.ts](#user-content-r0s7)|1 ✅|||958ms|
|[e2e/__tests__/beforeEachQueue.ts](#user-content-r0s8)|1 ✅||1 ⚪|55ms|
|[e2e/__tests__/callDoneTwice.test.ts](#user-content-r0s9)|1 ✅|||882ms|
|[e2e/__tests__/chaiAssertionLibrary.ts](#user-content-r0s10)|1 ✅|||2s|
|[e2e/__tests__/circularInequality.test.ts](#user-content-r0s11)|1 ✅|||1s|
|[e2e/__tests__/circusConcurrentEach.test.ts](#user-content-r0s12)|2 ✅|||2s|
|[e2e/__tests__/circusDeclarationErrors.test.ts](#user-content-r0s13)|1 ✅|||869ms|
|[e2e/__tests__/clearCache.test.ts](#user-content-r0s14)|2 ✅|||1s|
|[e2e/__tests__/cliHandlesExactFilenames.test.ts](#user-content-r0s15)|2 ✅|||1s|
|[e2e/__tests__/compareDomNodes.test.ts](#user-content-r0s16)|1 ✅|||1s|
|[e2e/__tests__/config.test.ts](#user-content-r0s17)|6 ✅|||4s|
|[e2e/__tests__/console.test.ts](#user-content-r0s18)|7 ✅|||8s|
|[e2e/__tests__/consoleAfterTeardown.test.ts](#user-content-r0s19)|1 ✅|||1s|
|[e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts](#user-content-r0s20)|1 ✅|||793ms|
|[e2e/__tests__/coverageHandlebars.test.ts](#user-content-r0s21)|1 ✅|||2s|
|[e2e/__tests__/coverageRemapping.test.ts](#user-content-r0s22)|1 ✅|||13s|
|[e2e/__tests__/coverageReport.test.ts](#user-content-r0s23)|12 ✅|||22s|
|[e2e/__tests__/coverageThreshold.test.ts](#user-content-r0s24)|5 ✅|||5s|
|[e2e/__tests__/coverageTransformInstrumented.test.ts](#user-content-r0s25)|1 ✅|||5s|
|[e2e/__tests__/coverageWithoutTransform.test.ts](#user-content-r0s26)|1 ✅|||1s|
|[e2e/__tests__/createProcessObject.test.ts](#user-content-r0s27)|1 ✅|||908ms|
|[e2e/__tests__/customInlineSnapshotMatchers.test.ts](#user-content-r0s28)|1 ✅|||2s|
|[e2e/__tests__/customMatcherStackTrace.test.ts](#user-content-r0s29)|2 ✅|||2s|
|[e2e/__tests__/customReporters.test.ts](#user-content-r0s30)|9 ✅|||7s|
|[e2e/__tests__/customResolver.test.ts](#user-content-r0s31)|1 ✅|||826ms|
|[e2e/__tests__/customTestSequencers.test.ts](#user-content-r0s32)|3 ✅|||3s|
|[e2e/__tests__/debug.test.ts](#user-content-r0s33)|1 ✅|||899ms|
|[e2e/__tests__/declarationErrors.test.ts](#user-content-r0s34)|3 ✅|||2s|
|[e2e/__tests__/dependencyClash.test.ts](#user-content-r0s35)|1 ✅|||833ms|
|[e2e/__tests__/detectOpenHandles.ts](#user-content-r0s36)|8 ✅|||8s|
|[e2e/__tests__/domDiffing.test.ts](#user-content-r0s37)|1 ✅|||1s|
|[e2e/__tests__/doneInHooks.test.ts](#user-content-r0s38)|1 ✅|||855ms|
|[e2e/__tests__/dynamicRequireDependencies.ts](#user-content-r0s39)|1 ✅|||847ms|
|[e2e/__tests__/each.test.ts](#user-content-r0s40)|7 ✅|||5s|
|[e2e/__tests__/emptyDescribeWithHooks.test.ts](#user-content-r0s41)|4 ✅|||3s|
|[e2e/__tests__/emptySuiteError.test.ts](#user-content-r0s42)|1 ✅|||885ms|
|[e2e/__tests__/env.test.ts](#user-content-r0s43)|6 ✅|||5s|
|[e2e/__tests__/environmentAfterTeardown.test.ts](#user-content-r0s44)|1 ✅|||892ms|
|[e2e/__tests__/errorOnDeprecated.test.ts](#user-content-r0s45)|1 ✅||24 ⚪|56ms|
|[e2e/__tests__/esmConfigFile.test.ts](#user-content-r0s46)|3 ✅|||526ms|
|[e2e/__tests__/executeTestsOnceInMpr.ts](#user-content-r0s47)|1 ✅|||976ms|
|[e2e/__tests__/existentRoots.test.ts](#user-content-r0s48)|4 ✅|||627ms|
|[e2e/__tests__/expectAsyncMatcher.test.ts](#user-content-r0s49)|2 ✅|||3s|
|[e2e/__tests__/expectInVm.test.ts](#user-content-r0s50)|1 ✅|||2s|
|[e2e/__tests__/extraGlobals.test.ts](#user-content-r0s51)|1 ✅|||1s|
|[e2e/__tests__/failureDetailsProperty.test.ts](#user-content-r0s52)|1 ✅|||907ms|
|[e2e/__tests__/failures.test.ts](#user-content-r0s53)|7 ✅|||10s|
|[e2e/__tests__/fakePromises.test.ts](#user-content-r0s54)|2 ✅|||2s|
|[e2e/__tests__/fatalWorkerError.test.ts](#user-content-r0s55)|1 ✅|||3s|
|[e2e/__tests__/filter.test.ts](#user-content-r0s56)|7 ✅|||5s|
|[e2e/__tests__/findRelatedFiles.test.ts](#user-content-r0s57)|5 ✅|||6s|
|[e2e/__tests__/focusedTests.test.ts](#user-content-r0s58)|1 ✅|||888ms|
|[e2e/__tests__/forceExit.test.ts](#user-content-r0s59)|1 ✅|||2s|
|[e2e/__tests__/generatorMock.test.ts](#user-content-r0s60)|1 ✅|||1s|
|[e2e/__tests__/global-mutation.test.ts](#user-content-r0s61)|1 ✅|||40ms|
|[e2e/__tests__/global.test.ts](#user-content-r0s62)|1 ✅|||31ms|
|[e2e/__tests__/globals.test.ts](#user-content-r0s63)|10 ✅|||8s|
|[e2e/__tests__/globalSetup.test.ts](#user-content-r0s64)|10 ✅|||14s|
|[e2e/__tests__/globalTeardown.test.ts](#user-content-r0s65)|7 ✅|||12s|
|[e2e/__tests__/hasteMapMockChanged.test.ts](#user-content-r0s66)|1 ✅|||379ms|
|[e2e/__tests__/hasteMapSha1.test.ts](#user-content-r0s67)|1 ✅|||298ms|
|[e2e/__tests__/hasteMapSize.test.ts](#user-content-r0s68)|2 ✅|||397ms|
|[e2e/__tests__/importedGlobals.test.ts](#user-content-r0s69)|1 ✅|||1s|
|[e2e/__tests__/injectGlobals.test.ts](#user-content-r0s70)|2 ✅|||2s|
|[e2e/__tests__/jasmineAsync.test.ts](#user-content-r0s71)|15 ✅|||28s|
|[e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts](#user-content-r0s72)|1 ✅||1 ⚪|72ms|
|[e2e/__tests__/jest.config.js.test.ts](#user-content-r0s73)|3 ✅|||2s|
|[e2e/__tests__/jest.config.ts.test.ts](#user-content-r0s74)|5 ✅|||14s|
|[e2e/__tests__/jestChangedFiles.test.ts](#user-content-r0s75)|9 ✅|1 ❌||9s|
|[e2e/__tests__/jestEnvironmentJsdom.test.ts](#user-content-r0s76)|1 ✅|||2s|
|[e2e/__tests__/jestRequireActual.test.ts](#user-content-r0s77)|1 ✅|||2s|
|[e2e/__tests__/jestRequireMock.test.ts](#user-content-r0s78)|1 ✅|||2s|
|[e2e/__tests__/json.test.ts](#user-content-r0s79)|2 ✅|||29ms|
|[e2e/__tests__/jsonReporter.test.ts](#user-content-r0s80)|2 ✅|||2s|
|[e2e/__tests__/lifecycles.ts](#user-content-r0s81)|1 ✅|||861ms|
|[e2e/__tests__/listTests.test.ts](#user-content-r0s82)|2 ✅|||945ms|
|[e2e/__tests__/locationInResults.test.ts](#user-content-r0s83)|2 ✅|||2s|
|[e2e/__tests__/logHeapUsage.test.ts](#user-content-r0s84)|1 ✅|||884ms|
|[e2e/__tests__/mockNames.test.ts](#user-content-r0s85)|8 ✅|||7s|
|[e2e/__tests__/modernFakeTimers.test.ts](#user-content-r0s86)|2 ✅|||2s|
|[e2e/__tests__/moduleNameMapper.test.ts](#user-content-r0s87)|5 ✅|||5s|
|[e2e/__tests__/moduleParentNullInTest.ts](#user-content-r0s88)|1 ✅|||886ms|
|[e2e/__tests__/multiProjectRunner.test.ts](#user-content-r0s89)|14 ✅|||16s|
|[e2e/__tests__/nativeAsyncMock.test.ts](#user-content-r0s90)|1 ✅|||55ms|
|[e2e/__tests__/nativeEsm.test.ts](#user-content-r0s91)|2 ✅||1 ⚪|905ms|
|[e2e/__tests__/nativeEsmTypescript.test.ts](#user-content-r0s92)|1 ✅|||956ms|
|[e2e/__tests__/nestedEventLoop.test.ts](#user-content-r0s93)|1 ✅|||1s|
|[e2e/__tests__/nestedTestDefinitions.test.ts](#user-content-r0s94)|4 ✅|||5s|
|[e2e/__tests__/nodePath.test.ts](#user-content-r0s95)|1 ✅|||866ms|
|[e2e/__tests__/noTestFound.test.ts](#user-content-r0s96)|2 ✅|||1s|
|[e2e/__tests__/noTestsFound.test.ts](#user-content-r0s97)|5 ✅|||3s|
|[e2e/__tests__/onlyChanged.test.ts](#user-content-r0s98)|8 ✅|1 ❌||22s|
|[e2e/__tests__/onlyFailuresNonWatch.test.ts](#user-content-r0s99)|1 ✅|||3s|
|[e2e/__tests__/overrideGlobals.test.ts](#user-content-r0s100)|2 ✅|||2s|
|[e2e/__tests__/pnp.test.ts](#user-content-r0s101)|1 ✅|||3s|
|[e2e/__tests__/presets.test.ts](#user-content-r0s102)|2 ✅|||2s|
|[e2e/__tests__/processExit.test.ts](#user-content-r0s103)|1 ✅|||1s|
|[e2e/__tests__/promiseReject.test.ts](#user-content-r0s104)|1 ✅|||967ms|
|[e2e/__tests__/regexCharInPath.test.ts](#user-content-r0s105)|1 ✅|||962ms|
|[e2e/__tests__/requireAfterTeardown.test.ts](#user-content-r0s106)|1 ✅|||921ms|
|[e2e/__tests__/requireMain.test.ts](#user-content-r0s107)|1 ✅|||1s|
|[e2e/__tests__/requireMainAfterCreateRequire.test.ts](#user-content-r0s108)|1 ✅|||966ms|
|[e2e/__tests__/requireMainIsolateModules.test.ts](#user-content-r0s109)|1 ✅|||976ms|
|[e2e/__tests__/requireMainResetModules.test.ts](#user-content-r0s110)|2 ✅|||2s|
|[e2e/__tests__/requireV8Module.test.ts](#user-content-r0s111)|1 ✅|||30ms|
|[e2e/__tests__/resetModules.test.ts](#user-content-r0s112)|1 ✅|||926ms|
|[e2e/__tests__/resolve.test.ts](#user-content-r0s113)|1 ✅|||2s|
|[e2e/__tests__/resolveGetPaths.test.ts](#user-content-r0s114)|1 ✅|||1s|
|[e2e/__tests__/resolveNodeModule.test.ts](#user-content-r0s115)|1 ✅|||943ms|
|[e2e/__tests__/resolveNoFileExtensions.test.ts](#user-content-r0s116)|2 ✅|||1s|
|[e2e/__tests__/resolveWithPaths.test.ts](#user-content-r0s117)|1 ✅|||1s|
|[e2e/__tests__/runProgrammatically.test.ts](#user-content-r0s118)|2 ✅|||575ms|
|[e2e/__tests__/runTestsByPath.test.ts](#user-content-r0s119)|1 ✅|||2s|
|[e2e/__tests__/runtimeInternalModuleRegistry.test.ts](#user-content-r0s120)|1 ✅|||1s|
|[e2e/__tests__/selectProjects.test.ts](#user-content-r0s121)|18 ✅|||5s|
|[e2e/__tests__/setImmediate.test.ts](#user-content-r0s122)|1 ✅|||904ms|
|[e2e/__tests__/setupFilesAfterEnvConfig.test.ts](#user-content-r0s123)|2 ✅|||2s|
|[e2e/__tests__/showConfig.test.ts](#user-content-r0s124)|1 ✅|||195ms|
|[e2e/__tests__/skipBeforeAfterAll.test.ts](#user-content-r0s125)|1 ✅|||1s|
|[e2e/__tests__/snapshot-unknown.test.ts](#user-content-r0s126)|1 ✅|||838ms|
|[e2e/__tests__/snapshot.test.ts](#user-content-r0s127)|9 ✅|||14s|
|[e2e/__tests__/snapshotMockFs.test.ts](#user-content-r0s128)|1 ✅|||883ms|
|[e2e/__tests__/snapshotResolver.test.ts](#user-content-r0s129)|1 ✅|||823ms|
|[e2e/__tests__/snapshotSerializers.test.ts](#user-content-r0s130)|2 ✅|||2s|
|[e2e/__tests__/stackTrace.test.ts](#user-content-r0s131)|7 ✅|||5s|
|[e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts](#user-content-r0s132)|1 ✅|||899ms|
|[e2e/__tests__/stackTraceSourceMaps.test.ts](#user-content-r0s133)|1 ✅|||2s|
|[e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts](#user-content-r0s134)|1 ✅|||2s|
|[e2e/__tests__/supportsDashedArgs.ts](#user-content-r0s135)|2 ✅|||968ms|
|[e2e/__tests__/symbol.test.ts](#user-content-r0s136)|1 ✅|||49ms|
|[e2e/__tests__/testEnvironment.test.ts](#user-content-r0s137)|1 ✅|||2s|
|[e2e/__tests__/testEnvironmentAsync.test.ts](#user-content-r0s138)|1 ✅|||1s|
|[e2e/__tests__/testEnvironmentCircus.test.ts](#user-content-r0s139)|1 ✅|||2s|
|[e2e/__tests__/testEnvironmentCircusAsync.test.ts](#user-content-r0s140)|1 ✅|||2s|
|[e2e/__tests__/testFailureExitCode.test.ts](#user-content-r0s141)|2 ✅|||4s|
|[e2e/__tests__/testInRoot.test.ts](#user-content-r0s142)|1 ✅|||1s|
|[e2e/__tests__/testNamePattern.test.ts](#user-content-r0s143)|1 ✅|||859ms|
|[e2e/__tests__/testNamePatternSkipped.test.ts](#user-content-r0s144)|1 ✅|||991ms|
|[e2e/__tests__/testPathPatternReporterMessage.test.ts](#user-content-r0s145)|1 ✅|||3s|
|[e2e/__tests__/testResultsProcessor.test.ts](#user-content-r0s146)|1 ✅|||910ms|
|[e2e/__tests__/testRetries.test.ts](#user-content-r0s147)|4 ✅|||3s|
|[e2e/__tests__/testTodo.test.ts](#user-content-r0s148)|5 ✅|||4s|
|[e2e/__tests__/timeouts.test.ts](#user-content-r0s149)|4 ✅|||4s|
|[e2e/__tests__/timeoutsLegacy.test.ts](#user-content-r0s150)|1 ✅||3 ⚪|71ms|
|[e2e/__tests__/timerResetMocks.test.ts](#user-content-r0s151)|2 ✅|||2s|
|[e2e/__tests__/timerUseRealTimers.test.ts](#user-content-r0s152)|1 ✅|||1s|
|[e2e/__tests__/toMatchInlineSnapshot.test.ts](#user-content-r0s153)|12 ✅|||24s|
|[e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts](#user-content-r0s154)|3 ✅|||5s|
|[e2e/__tests__/toMatchSnapshot.test.ts](#user-content-r0s155)|9 ✅|||17s|
|[e2e/__tests__/toMatchSnapshotWithRetries.test.ts](#user-content-r0s156)|2 ✅|||4s|
|[e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts](#user-content-r0s157)|3 ✅|||4s|
|[e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts](#user-content-r0s158)|4 ✅|||4s|
|[e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts](#user-content-r0s159)|5 ✅|||4s|
|[e2e/__tests__/transform.test.ts](#user-content-r0s160)|16 ✅|||27s|
|[e2e/__tests__/transformLinkedModules.test.ts](#user-content-r0s161)|1 ✅|||783ms|
|[e2e/__tests__/typescriptCoverage.test.ts](#user-content-r0s162)|1 ✅|||3s|
|[e2e/__tests__/unexpectedToken.test.ts](#user-content-r0s163)|3 ✅|||3s|
|[e2e/__tests__/useStderr.test.ts](#user-content-r0s164)|1 ✅|||1s|
|[e2e/__tests__/v8Coverage.test.ts](#user-content-r0s165)|2 ✅|||2s|
|[e2e/__tests__/verbose.test.ts](#user-content-r0s166)|1 ✅|||683ms|
|[e2e/__tests__/version.test.ts](#user-content-r0s167)|1 ✅|||138ms|
|[e2e/__tests__/watchModeNoAccess.test.ts](#user-content-r0s168)|1 ✅|||4s|
|[e2e/__tests__/watchModeOnlyFailed.test.ts](#user-content-r0s169)|1 ✅|||1s|
|[e2e/__tests__/watchModePatterns.test.ts](#user-content-r0s170)|2 ✅|||4s|
|[e2e/__tests__/watchModeUpdateSnapshot.test.ts](#user-content-r0s171)|1 ✅|||1s|
|[e2e/__tests__/workerForceExit.test.ts](#user-content-r0s172)|2 ✅|||5s|
|[e2e/__tests__/wrongEnv.test.ts](#user-content-r0s173)|5 ✅|||4s|
|[e2e/custom-test-sequencer/a.test.js](#user-content-r0s174)|1 ✅|||29ms|
|[e2e/custom-test-sequencer/b.test.js](#user-content-r0s175)|1 ✅|||21ms|
|[e2e/custom-test-sequencer/c.test.js](#user-content-r0s176)|1 ✅|||42ms|
|[e2e/custom-test-sequencer/d.test.js](#user-content-r0s177)|1 ✅|||21ms|
|[e2e/custom-test-sequencer/e.test.js](#user-content-r0s178)|1 ✅|||27ms|
|[e2e/test-in-root/spec.js](#user-content-r0s179)|1 ✅|||19ms|
|[e2e/test-in-root/test.js](#user-content-r0s180)|1 ✅|||37ms|
|[e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js](#user-content-r0s181)|2 ✅|||30ms|
|[e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js](#user-content-r0s182)|1 ✅|||34ms|
|[e2e/v8-coverage/empty-sourcemap/test.ts](#user-content-r0s183)|1 ✅|||31ms|
|[examples/angular/app.component.spec.ts](#user-content-r0s184)|3 ✅|||654ms|
|[examples/angular/shared/data.service.spec.ts](#user-content-r0s185)|2 ✅|||431ms|
|[examples/angular/shared/sub.service.spec.ts](#user-content-r0s186)|1 ✅|||109ms|
|[examples/async/__tests__/user.test.js](#user-content-r0s187)|8 ✅|||96ms|
|[examples/automatic-mocks/__tests__/automock.test.js](#user-content-r0s188)|2 ✅|||74ms|
|[examples/automatic-mocks/__tests__/createMockFromModule.test.js](#user-content-r0s189)|2 ✅|||115ms|
|[examples/automatic-mocks/__tests__/disableAutomocking.test.js](#user-content-r0s190)|1 ✅|||24ms|
|[examples/enzyme/__tests__/CheckboxWithLabel-test.js](#user-content-r0s191)|1 ✅|||434ms|
|[examples/getting-started/sum.test.js](#user-content-r0s192)|1 ✅|||78ms|
|[examples/jquery/__tests__/display_user.test.js](#user-content-r0s193)|1 ✅|||196ms|
|[examples/jquery/__tests__/fetch_current_user.test.js](#user-content-r0s194)|2 ✅|||196ms|
|[examples/manual-mocks/__tests__/file_summarizer.test.js](#user-content-r0s195)|1 ✅|||87ms|
|[examples/manual-mocks/__tests__/lodashMocking.test.js](#user-content-r0s196)|1 ✅|||109ms|
|[examples/manual-mocks/__tests__/user.test.js](#user-content-r0s197)|1 ✅|||41ms|
|[examples/manual-mocks/__tests__/userMocked.test.js](#user-content-r0s198)|1 ✅|||105ms|
|[examples/module-mock/__tests__/full_mock.js](#user-content-r0s199)|1 ✅|||60ms|
|[examples/module-mock/__tests__/mock_per_test.js](#user-content-r0s200)|2 ✅|||116ms|
|[examples/module-mock/__tests__/partial_mock.js](#user-content-r0s201)|1 ✅|||215ms|
|[examples/mongodb/__test__/db.test.js](#user-content-r0s202)|1 ✅|||236ms|
|[examples/react-native/__tests__/intro.test.js](#user-content-r0s203)|4 ✅|||9s|
|[examples/react-testing-library/__tests__/CheckboxWithLabel-test.js](#user-content-r0s204)|1 ✅|||469ms|
|[examples/react/__tests__/CheckboxWithLabel-test.js](#user-content-r0s205)|1 ✅|||256ms|
|[examples/snapshot/__tests__/clock.react.test.js](#user-content-r0s206)|1 ✅|||62ms|
|[examples/snapshot/__tests__/link.react.test.js](#user-content-r0s207)|4 ✅|||181ms|
|[examples/timer/__tests__/infinite_timer_game.test.js](#user-content-r0s208)|1 ✅|||94ms|
|[examples/timer/__tests__/timer_game.test.js](#user-content-r0s209)|3 ✅|||74ms|
|[examples/typescript/__tests__/calc.test.ts](#user-content-r0s210)|6 ✅|||276ms|
|[examples/typescript/__tests__/CheckboxWithLabel-test.tsx](#user-content-r0s211)|1 ✅|||227ms|
|[examples/typescript/__tests__/sub-test.ts](#user-content-r0s212)|1 ✅|||43ms|
|[examples/typescript/__tests__/sum-test.ts](#user-content-r0s213)|2 ✅|||69ms|
|[examples/typescript/__tests__/sum.test.js](#user-content-r0s214)|2 ✅|||100ms|
|[packages/babel-jest/src/__tests__/index.ts](#user-content-r0s215)|6 ✅|||371ms|
|[packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts](#user-content-r0s216)|4 ✅|||347ms|
|[packages/diff-sequences/src/__tests__/index.property.test.ts](#user-content-r0s217)|7 ✅|||357ms|
|[packages/diff-sequences/src/__tests__/index.test.ts](#user-content-r0s218)|48 ✅|||195ms|
|[packages/expect/src/__tests__/assertionCounts.test.ts](#user-content-r0s219)|6 ✅|||60ms|
|[packages/expect/src/__tests__/asymmetricMatchers.test.ts](#user-content-r0s220)|38 ✅|||207ms|
|[packages/expect/src/__tests__/extend.test.ts](#user-content-r0s221)|10 ✅|||99ms|
|[packages/expect/src/__tests__/isError.test.ts](#user-content-r0s222)|4 ✅|||43ms|
|[packages/expect/src/__tests__/matchers-toContain.property.test.ts](#user-content-r0s223)|2 ✅|||236ms|
|[packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts](#user-content-r0s224)|2 ✅|||287ms|
|[packages/expect/src/__tests__/matchers-toEqual.property.test.ts](#user-content-r0s225)|2 ✅|||1s|
|[packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts](#user-content-r0s226)|3 ✅|||394ms|
|[packages/expect/src/__tests__/matchers.test.js](#user-content-r0s227)|592 ✅|||862ms|
|[packages/expect/src/__tests__/spyMatchers.test.ts](#user-content-r0s228)|248 ✅|||395ms|
|[packages/expect/src/__tests__/stacktrace.test.ts](#user-content-r0s229)|3 ✅|||69ms|
|[packages/expect/src/__tests__/symbolInObjects.test.ts](#user-content-r0s230)|3 ✅|||33ms|
|[packages/expect/src/__tests__/toEqual-dom.test.ts](#user-content-r0s231)|12 ✅|||99ms|
|[packages/expect/src/__tests__/toThrowMatchers.test.ts](#user-content-r0s232)|98 ✅|||257ms|
|[packages/expect/src/__tests__/utils.test.ts](#user-content-r0s233)|41 ✅|||147ms|
|[packages/jest-circus/src/__tests__/afterAll.test.ts](#user-content-r0s234)|6 ✅|||6s|
|[packages/jest-circus/src/__tests__/baseTest.test.ts](#user-content-r0s235)|2 ✅|||3s|
|[packages/jest-circus/src/__tests__/circusItTestError.test.ts](#user-content-r0s236)|8 ✅|||300ms|
|[packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts](#user-content-r0s237)|3 ✅|||81ms|
|[packages/jest-circus/src/__tests__/hooks.test.ts](#user-content-r0s238)|3 ✅|||4s|
|[packages/jest-circus/src/__tests__/hooksError.test.ts](#user-content-r0s239)|32 ✅|||127ms|
|[packages/jest-cli/src/__tests__/cli/args.test.ts](#user-content-r0s240)|17 ✅|||345ms|
|[packages/jest-cli/src/init/__tests__/init.test.js](#user-content-r0s241)|24 ✅|||119ms|
|[packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts](#user-content-r0s242)|4 ✅|||30ms|
|[packages/jest-config/src/__tests__/Defaults.test.ts](#user-content-r0s243)|1 ✅|||672ms|
|[packages/jest-config/src/__tests__/getMaxWorkers.test.ts](#user-content-r0s244)|7 ✅|||67ms|
|[packages/jest-config/src/__tests__/normalize.test.js](#user-content-r0s245)|118 ✅|||798ms|
|[packages/jest-config/src/__tests__/readConfig.test.ts](#user-content-r0s246)|1 ✅|||76ms|
|[packages/jest-config/src/__tests__/readConfigs.test.ts](#user-content-r0s247)|3 ✅|||135ms|
|[packages/jest-config/src/__tests__/resolveConfigPath.test.ts](#user-content-r0s248)|10 ✅|||183ms|
|[packages/jest-config/src/__tests__/setFromArgv.test.ts](#user-content-r0s249)|4 ✅|||53ms|
|[packages/jest-config/src/__tests__/validatePattern.test.ts](#user-content-r0s250)|4 ✅|||52ms|
|[packages/jest-console/src/__tests__/bufferedConsole.test.ts](#user-content-r0s251)|20 ✅|||171ms|
|[packages/jest-console/src/__tests__/CustomConsole.test.ts](#user-content-r0s252)|23 ✅|||115ms|
|[packages/jest-console/src/__tests__/getConsoleOutput.test.ts](#user-content-r0s253)|12 ✅|||56ms|
|[packages/jest-core/src/__tests__/FailedTestsCache.test.js](#user-content-r0s254)|1 ✅|||25ms|
|[packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js](#user-content-r0s255)|5 ✅|||61ms|
|[packages/jest-core/src/__tests__/globals.test.ts](#user-content-r0s256)|1 ✅|||22ms|
|[packages/jest-core/src/__tests__/runJest.test.js](#user-content-r0s257)|2 ✅|||261ms|
|[packages/jest-core/src/__tests__/SearchSource.test.ts](#user-content-r0s258)|27 ✅|||3s|
|[packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js](#user-content-r0s259)|13 ✅|||89ms|
|[packages/jest-core/src/__tests__/TestScheduler.test.js](#user-content-r0s260)|8 ✅|||520ms|
|[packages/jest-core/src/__tests__/testSchedulerHelper.test.js](#user-content-r0s261)|12 ✅|||48ms|
|[packages/jest-core/src/__tests__/watch.test.js](#user-content-r0s262)|80 ✅|||7s|
|[packages/jest-core/src/__tests__/watchFileChanges.test.ts](#user-content-r0s263)|1 ✅|||2s|
|[packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js](#user-content-r0s264)|2 ✅|||165ms|
|[packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js](#user-content-r0s265)|1 ✅|||246ms|
|[packages/jest-core/src/lib/__tests__/isValidPath.test.ts](#user-content-r0s266)|3 ✅|||166ms|
|[packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts](#user-content-r0s267)|3 ✅|||48ms|
|[packages/jest-create-cache-key-function/src/__tests__/index.test.ts](#user-content-r0s268)|1 ✅|||75ms|
|[packages/jest-diff/src/__tests__/diff.test.ts](#user-content-r0s269)|107 ✅|||625ms|
|[packages/jest-diff/src/__tests__/diffStringsRaw.test.ts](#user-content-r0s270)|2 ✅|||55ms|
|[packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts](#user-content-r0s271)|24 ✅|||72ms|
|[packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts](#user-content-r0s272)|6 ✅|||44ms|
|[packages/jest-docblock/src/__tests__/index.test.ts](#user-content-r0s273)|36 ✅|||177ms|
|[packages/jest-each/src/__tests__/array.test.ts](#user-content-r0s274)|159 ✅|||192ms|
|[packages/jest-each/src/__tests__/index.test.ts](#user-content-r0s275)|10 ✅|||44ms|
|[packages/jest-each/src/__tests__/template.test.ts](#user-content-r0s276)|242 ✅|||483ms|
|[packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts](#user-content-r0s277)|2 ✅|||783ms|
|[packages/jest-environment-node/src/__tests__/node_environment.test.ts](#user-content-r0s278)|6 ✅|||184ms|
|[packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts](#user-content-r0s279)|50 ✅|||302ms|
|[packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts](#user-content-r0s280)|40 ✅|||317ms|
|[packages/jest-get-type/src/__tests__/getType.test.ts](#user-content-r0s281)|14 ✅|||45ms|
|[packages/jest-get-type/src/__tests__/isPrimitive.test.ts](#user-content-r0s282)|18 ✅|||36ms|
|[packages/jest-globals/src/__tests__/index.ts](#user-content-r0s283)|1 ✅|||533ms|
|[packages/jest-haste-map/src/__tests__/get_mock_name.test.js](#user-content-r0s284)|1 ✅|||22ms|
|[packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts](#user-content-r0s285)|1 ✅|||337ms|
|[packages/jest-haste-map/src/__tests__/index.test.js](#user-content-r0s286)|44 ✅|||1s|
|[packages/jest-haste-map/src/__tests__/worker.test.js](#user-content-r0s287)|7 ✅|||100ms|
|[packages/jest-haste-map/src/crawlers/__tests__/node.test.js](#user-content-r0s288)|10 ✅|||170ms|
|[packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js](#user-content-r0s289)|8 ✅|||153ms|
|[packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js](#user-content-r0s290)|15 ✅|||56ms|
|[packages/jest-haste-map/src/lib/__tests__/fast_path.test.js](#user-content-r0s291)|5 ✅|||29ms|
|[packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js](#user-content-r0s292)|1 ✅|||35ms|
|[packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js](#user-content-r0s293)|2 ✅|||31ms|
|[packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js](#user-content-r0s294)|2 ✅|||35ms|
|[packages/jest-jasmine2/src/__tests__/concurrent.test.ts](#user-content-r0s295)|3 ✅|||24ms|
|[packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts](#user-content-r0s296)|7 ✅|||70ms|
|[packages/jest-jasmine2/src/__tests__/hooksError.test.ts](#user-content-r0s297)|32 ✅|||51ms|
|[packages/jest-jasmine2/src/__tests__/iterators.test.ts](#user-content-r0s298)|4 ✅|||43ms|
|[packages/jest-jasmine2/src/__tests__/itTestError.test.ts](#user-content-r0s299)|6 ✅|||32ms|
|[packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts](#user-content-r0s300)|1 ✅|||23ms|
|[packages/jest-jasmine2/src/__tests__/pTimeout.test.ts](#user-content-r0s301)|3 ✅|||44ms|
|[packages/jest-jasmine2/src/__tests__/queueRunner.test.ts](#user-content-r0s302)|6 ✅|||93ms|
|[packages/jest-jasmine2/src/__tests__/reporter.test.ts](#user-content-r0s303)|1 ✅|||107ms|
|[packages/jest-jasmine2/src/__tests__/Suite.test.ts](#user-content-r0s304)|1 ✅|||84ms|
|[packages/jest-jasmine2/src/__tests__/todoError.test.ts](#user-content-r0s305)|3 ✅|||27ms|
|[packages/jest-leak-detector/src/__tests__/index.test.ts](#user-content-r0s306)|6 ✅|||986ms|
|[packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts](#user-content-r0s307)|11 ✅|||49ms|
|[packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts](#user-content-r0s308)|2 ✅|||48ms|
|[packages/jest-matcher-utils/src/__tests__/index.test.ts](#user-content-r0s309)|48 ✅|||391ms|
|[packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts](#user-content-r0s310)|21 ✅|||114ms|
|[packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts](#user-content-r0s311)|17 ✅|||111ms|
|[packages/jest-message-util/src/__tests__/messages.test.ts](#user-content-r0s312)|11 ✅|||205ms|
|[packages/jest-mock/src/__tests__/index.test.ts](#user-content-r0s313)|84 ✅|||509ms|
|[packages/jest-regex-util/src/__tests__/index.test.ts](#user-content-r0s314)|8 ✅|||56ms|
|[packages/jest-repl/src/__tests__/jest_repl.test.js](#user-content-r0s315)|1 ✅|||1s|
|[packages/jest-repl/src/__tests__/runtime_cli.test.js](#user-content-r0s316)|4 ✅|||4s|
|[packages/jest-reporters/src/__tests__/CoverageReporter.test.js](#user-content-r0s317)|12 ✅|||397ms|
|[packages/jest-reporters/src/__tests__/CoverageWorker.test.js](#user-content-r0s318)|2 ✅|||199ms|
|[packages/jest-reporters/src/__tests__/DefaultReporter.test.js](#user-content-r0s319)|2 ✅|||148ms|
|[packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js](#user-content-r0s320)|3 ✅|||1s|
|[packages/jest-reporters/src/__tests__/getResultHeader.test.js](#user-content-r0s321)|4 ✅|||30ms|
|[packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js](#user-content-r0s322)|3 ✅|||28ms|
|[packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js](#user-content-r0s323)|4 ✅|||49ms|
|[packages/jest-reporters/src/__tests__/getWatermarks.test.ts](#user-content-r0s324)|2 ✅|||37ms|
|[packages/jest-reporters/src/__tests__/NotifyReporter.test.ts](#user-content-r0s325)|18 ✅|||166ms|
|[packages/jest-reporters/src/__tests__/SummaryReporter.test.js](#user-content-r0s326)|4 ✅|||366ms|
|[packages/jest-reporters/src/__tests__/utils.test.ts](#user-content-r0s327)|10 ✅|||85ms|
|[packages/jest-reporters/src/__tests__/VerboseReporter.test.js](#user-content-r0s328)|11 ✅|||425ms|
|[packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts](#user-content-r0s329)|11 ✅|||666ms|
|[packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts](#user-content-r0s330)|4 ✅|||36ms|
|[packages/jest-resolve/src/__tests__/resolve.test.ts](#user-content-r0s331)|16 ✅|||1s|
|[packages/jest-runner/src/__tests__/testRunner.test.ts](#user-content-r0s332)|2 ✅|||905ms|
|[packages/jest-runtime/src/__tests__/instrumentation.test.ts](#user-content-r0s333)|1 ✅|||275ms|
|[packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js](#user-content-r0s334)|3 ✅|||606ms|
|[packages/jest-runtime/src/__tests__/runtime_environment.test.js](#user-content-r0s335)|2 ✅|||497ms|
|[packages/jest-runtime/src/__tests__/runtime_internal_module.test.js](#user-content-r0s336)|4 ✅|||727ms|
|[packages/jest-runtime/src/__tests__/runtime_jest_fn.js](#user-content-r0s337)|4 ✅|||479ms|
|[packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js](#user-content-r0s338)|2 ✅|||521ms|
|[packages/jest-runtime/src/__tests__/runtime_mock.test.js](#user-content-r0s339)|4 ✅|||743ms|
|[packages/jest-runtime/src/__tests__/runtime_module_directories.test.js](#user-content-r0s340)|4 ✅|||525ms|
|[packages/jest-runtime/src/__tests__/runtime_node_path.test.js](#user-content-r0s341)|4 ✅|||1s|
|[packages/jest-runtime/src/__tests__/runtime_require_actual.test.js](#user-content-r0s342)|2 ✅|||478ms|
|[packages/jest-runtime/src/__tests__/runtime_require_cache.test.js](#user-content-r0s343)|2 ✅|||454ms|
|[packages/jest-runtime/src/__tests__/runtime_require_mock.test.js](#user-content-r0s344)|13 ✅|||962ms|
|[packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js](#user-content-r0s345)|1 ✅|||261ms|
|[packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js](#user-content-r0s346)|6 ✅|||2s|
|[packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js](#user-content-r0s347)|17 ✅|||1s|
|[packages/jest-runtime/src/__tests__/runtime_require_module.test.js](#user-content-r0s348)|27 ✅|||2s|
|[packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts](#user-content-r0s349)|5 ✅|||707ms|
|[packages/jest-runtime/src/__tests__/runtime_wrap.js](#user-content-r0s350)|2 ✅|||263ms|
|[packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js](#user-content-r0s351)|1 ✅|||584ms|
|[packages/jest-runtime/src/__tests__/Runtime-statics.test.js](#user-content-r0s352)|2 ✅|||162ms|
|[packages/jest-serializer/src/__tests__/index.test.ts](#user-content-r0s353)|17 ✅|||158ms|
|[packages/jest-snapshot/src/__tests__/dedentLines.test.ts](#user-content-r0s354)|17 ✅|||94ms|
|[packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts](#user-content-r0s355)|22 ✅|||1s|
|[packages/jest-snapshot/src/__tests__/matcher.test.ts](#user-content-r0s356)|1 ✅|||131ms|
|[packages/jest-snapshot/src/__tests__/mockSerializer.test.ts](#user-content-r0s357)|10 ✅|||45ms|
|[packages/jest-snapshot/src/__tests__/printSnapshot.test.ts](#user-content-r0s358)|71 ✅|||1s|
|[packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts](#user-content-r0s359)|10 ✅|||98ms|
|[packages/jest-snapshot/src/__tests__/throwMatcher.test.ts](#user-content-r0s360)|3 ✅|||481ms|
|[packages/jest-snapshot/src/__tests__/utils.test.ts](#user-content-r0s361)|26 ✅|||214ms|
|[packages/jest-source-map/src/__tests__/getCallsite.test.ts](#user-content-r0s362)|3 ✅|||86ms|
|[packages/jest-test-result/src/__tests__/formatTestResults.test.ts](#user-content-r0s363)|1 ✅|||53ms|
|[packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js](#user-content-r0s364)|8 ✅|||251ms|
|[packages/jest-transform/src/__tests__/ScriptTransformer.test.ts](#user-content-r0s365)|22 ✅|||2s|
|[packages/jest-transform/src/__tests__/shouldInstrument.test.ts](#user-content-r0s366)|25 ✅|||155ms|
|[packages/jest-util/src/__tests__/createProcessObject.test.ts](#user-content-r0s367)|4 ✅|||81ms|
|[packages/jest-util/src/__tests__/deepCyclicCopy.test.ts](#user-content-r0s368)|12 ✅|||86ms|
|[packages/jest-util/src/__tests__/errorWithStack.test.ts](#user-content-r0s369)|1 ✅|||41ms|
|[packages/jest-util/src/__tests__/formatTime.test.ts](#user-content-r0s370)|11 ✅|||82ms|
|[packages/jest-util/src/__tests__/globsToMatcher.test.ts](#user-content-r0s371)|4 ✅|||56ms|
|[packages/jest-util/src/__tests__/installCommonGlobals.test.ts](#user-content-r0s372)|2 ✅|||68ms|
|[packages/jest-util/src/__tests__/isInteractive.test.ts](#user-content-r0s373)|2 ✅|||35ms|
|[packages/jest-util/src/__tests__/isPromise.test.ts](#user-content-r0s374)|10 ✅|||30ms|
|[packages/jest-validate/src/__tests__/validate.test.ts](#user-content-r0s375)|23 ✅|||283ms|
|[packages/jest-validate/src/__tests__/validateCLIOptions.test.js](#user-content-r0s376)|6 ✅|||83ms|
|[packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts](#user-content-r0s377)|11 ✅|||129ms|
|[packages/jest-watcher/src/lib/__tests__/prompt.test.ts](#user-content-r0s378)|3 ✅|||91ms|
|[packages/jest-watcher/src/lib/__tests__/scroll.test.ts](#user-content-r0s379)|5 ✅|||57ms|
|[packages/jest-worker/src/__tests__/Farm.test.js](#user-content-r0s380)|10 ✅|||158ms|
|[packages/jest-worker/src/__tests__/FifoQueue.test.js](#user-content-r0s381)|3 ✅|||48ms|
|[packages/jest-worker/src/__tests__/index.test.js](#user-content-r0s382)|8 ✅|||230ms|
|[packages/jest-worker/src/__tests__/PriorityQueue.test.js](#user-content-r0s383)|5 ✅|||63ms|
|[packages/jest-worker/src/__tests__/process-integration.test.js](#user-content-r0s384)|5 ✅|||62ms|
|[packages/jest-worker/src/__tests__/thread-integration.test.js](#user-content-r0s385)|6 ✅|||114ms|
|[packages/jest-worker/src/__tests__/WorkerPool.test.js](#user-content-r0s386)|3 ✅|||51ms|
|[packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js](#user-content-r0s387)|11 ✅|||653ms|
|[packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js](#user-content-r0s388)|17 ✅|||184ms|
|[packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js](#user-content-r0s389)|15 ✅|||258ms|
|[packages/jest-worker/src/workers/__tests__/processChild.test.js](#user-content-r0s390)|10 ✅|||135ms|
|[packages/jest-worker/src/workers/__tests__/threadChild.test.js](#user-content-r0s391)|10 ✅|||120ms|
|[packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts](#user-content-r0s392)|38 ✅|||137ms|
|[packages/pretty-format/src/__tests__/ConvertAnsi.test.ts](#user-content-r0s393)|6 ✅|||43ms|
|[packages/pretty-format/src/__tests__/DOMCollection.test.ts](#user-content-r0s394)|10 ✅|||64ms|
|[packages/pretty-format/src/__tests__/DOMElement.test.ts](#user-content-r0s395)|28 ✅|||148ms|
|[packages/pretty-format/src/__tests__/Immutable.test.ts](#user-content-r0s396)|111 ✅|||443ms|
|[packages/pretty-format/src/__tests__/prettyFormat.test.ts](#user-content-r0s397)|86 ✅|||219ms|
|[packages/pretty-format/src/__tests__/react.test.tsx](#user-content-r0s398)|55 ✅|||325ms|
|[packages/pretty-format/src/__tests__/ReactElement.test.ts](#user-content-r0s399)|3 ✅|||64ms|
### ✅ <a id="user-content-r0s0" href="#user-content-r0s0">e2e/__tests__/asyncAndCallback.test.ts</a>
```
✅ errors when a test both returns a promise and takes a callback
```
### ✅ <a id="user-content-r0s1" href="#user-content-r0s1">e2e/__tests__/asyncRegenerator.test.ts</a>
```
✅ successfully transpiles async
```
### ✅ <a id="user-content-r0s2" href="#user-content-r0s2">e2e/__tests__/autoClearMocks.test.ts</a>
```
✅ suite with auto-clear
✅ suite without auto-clear
```
### ✅ <a id="user-content-r0s3" href="#user-content-r0s3">e2e/__tests__/autoResetMocks.test.ts</a>
```
✅ suite with auto-reset
✅ suite without auto-reset
```
### ✅ <a id="user-content-r0s4" href="#user-content-r0s4">e2e/__tests__/autoRestoreMocks.test.ts</a>
```
✅ suite with auto-restore
✅ suite without auto-restore
```
### ✅ <a id="user-content-r0s5" href="#user-content-r0s5">e2e/__tests__/babelPluginJestHoist.test.ts</a>
```
✅ successfully runs the tests inside `babel-plugin-jest-hoist/`
```
### ✅ <a id="user-content-r0s6" href="#user-content-r0s6">e2e/__tests__/badSourceMap.test.ts</a>
```
✅ suite with test cases that contain malformed sourcemaps
```
### ✅ <a id="user-content-r0s7" href="#user-content-r0s7">e2e/__tests__/beforeAllFiltered.ts</a>
```
Correct BeforeAll run
  ✅ ensures the BeforeAll of ignored suite is not run
```
### ✅ <a id="user-content-r0s8" href="#user-content-r0s8">e2e/__tests__/beforeEachQueue.ts</a>
```
✅ does not work on jest-circus
Correct beforeEach order
  ⚪ ensures the correct order for beforeEach
```
### ✅ <a id="user-content-r0s9" href="#user-content-r0s9">e2e/__tests__/callDoneTwice.test.ts</a>
```
✅ `done()` should not be called more than once
```
### ✅ <a id="user-content-r0s10" href="#user-content-r0s10">e2e/__tests__/chaiAssertionLibrary.ts</a>
```
✅ chai assertion errors should display properly
```
### ✅ <a id="user-content-r0s11" href="#user-content-r0s11">e2e/__tests__/circularInequality.test.ts</a>
```
✅ handles circular inequality properly
```
### ✅ <a id="user-content-r0s12" href="#user-content-r0s12">e2e/__tests__/circusConcurrentEach.test.ts</a>
```
✅ works with concurrent.each
✅ works with concurrent.only.each
```
### ✅ <a id="user-content-r0s13" href="#user-content-r0s13">e2e/__tests__/circusDeclarationErrors.test.ts</a>
```
✅ defining tests and hooks asynchronously throws
```
### ✅ <a id="user-content-r0s14" href="#user-content-r0s14">e2e/__tests__/clearCache.test.ts</a>
```
jest --clearCache
  ✅ normal run results in cache directory being written
  ✅ clearCache results in deleted directory and exitCode 0
```
### ✅ <a id="user-content-r0s15" href="#user-content-r0s15">e2e/__tests__/cliHandlesExactFilenames.test.ts</a>
```
✅ CLI accepts exact file names if matchers matched
✅ CLI skips exact file names if no matchers matched
```
### ✅ <a id="user-content-r0s16" href="#user-content-r0s16">e2e/__tests__/compareDomNodes.test.ts</a>
```
✅ does not crash when expect involving a DOM node fails
```
### ✅ <a id="user-content-r0s17" href="#user-content-r0s17">e2e/__tests__/config.test.ts</a>
```
✅ config as JSON
✅ works with sane config JSON
✅ watchman config option is respected over default argv
✅ config from argv is respected with sane config JSON
✅ works with jsdom testEnvironmentOptions config JSON
✅ negated flags override previous flags
```
### ✅ <a id="user-content-r0s18" href="#user-content-r0s18">e2e/__tests__/console.test.ts</a>
```
✅ console printing
✅ console printing with --verbose
✅ does not print to console with --silent
✅ respects --noStackTrace
✅ respects noStackTrace in config
✅ the jsdom console is the same as the test console
✅ does not error out when using winston
```
### ✅ <a id="user-content-r0s19" href="#user-content-r0s19">e2e/__tests__/consoleAfterTeardown.test.ts</a>
```
✅ console printing
```
### ✅ <a id="user-content-r0s20" href="#user-content-r0s20">e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts</a>
```
✅ prints console.logs when run with forceExit
```
### ✅ <a id="user-content-r0s21" href="#user-content-r0s21">e2e/__tests__/coverageHandlebars.test.ts</a>
```
✅ code coverage for Handlebars
```
### ✅ <a id="user-content-r0s22" href="#user-content-r0s22">e2e/__tests__/coverageRemapping.test.ts</a>
```
✅ maps code coverage against original source
```
### ✅ <a id="user-content-r0s23" href="#user-content-r0s23">e2e/__tests__/coverageReport.test.ts</a>
```
✅ outputs coverage report
✅ collects coverage only from specified file
✅ collects coverage only from multiple specified files
✅ collects coverage only from specified files avoiding dependencies
✅ json reporter printing with --coverage
✅ outputs coverage report as json
✅ outputs coverage report when text is requested
✅ outputs coverage report when text-summary is requested
✅ outputs coverage report when text and text-summary is requested
✅ does not output coverage report when html is requested
✅ collects coverage from duplicate files avoiding shared cache
✅ generates coverage when using the testRegex config param
```
### ✅ <a id="user-content-r0s24" href="#user-content-r0s24">e2e/__tests__/coverageThreshold.test.ts</a>
```
✅ exits with 1 if coverage threshold is not met
✅ exits with 1 if path threshold group is not found in coverage data
✅ exits with 0 if global threshold group is not found in coverage data
✅ excludes tests matched by path threshold groups from global group
✅ file is matched by all path and glob threshold groups
```
### ✅ <a id="user-content-r0s25" href="#user-content-r0s25">e2e/__tests__/coverageTransformInstrumented.test.ts</a>
```
✅ code coverage for transform instrumented code
```
### ✅ <a id="user-content-r0s26" href="#user-content-r0s26">e2e/__tests__/coverageWithoutTransform.test.ts</a>
```
✅ produces code coverage for uncovered files without transformer
```
### ✅ <a id="user-content-r0s27" href="#user-content-r0s27">e2e/__tests__/createProcessObject.test.ts</a>
```
✅ allows retrieving the current domain
```
### ✅ <a id="user-content-r0s28" href="#user-content-r0s28">e2e/__tests__/customInlineSnapshotMatchers.test.ts</a>
```
✅ works with custom inline snapshot matchers
```
### ✅ <a id="user-content-r0s29" href="#user-content-r0s29">e2e/__tests__/customMatcherStackTrace.test.ts</a>
```
✅ works with custom matchers
✅ custom async matchers
```
### ✅ <a id="user-content-r0s30" href="#user-content-r0s30">e2e/__tests__/customReporters.test.ts</a>
```
Custom Reporters Integration
  ✅ valid string format for adding reporters
  ✅ valid array format for adding reporters
  ✅ invalid format for adding reporters
  ✅ default reporters enabled
  ✅ TestReporter with all tests passing
  ✅ TestReporter with all tests failing
  ✅ IncompleteReporter for flexibility
  ✅ reporters can be default exports
  ✅ prints reporter errors
```
### ✅ <a id="user-content-r0s31" href="#user-content-r0s31">e2e/__tests__/customResolver.test.ts</a>
```
✅ use the custom resolver
```
### ✅ <a id="user-content-r0s32" href="#user-content-r0s32">e2e/__tests__/customTestSequencers.test.ts</a>
```
✅ run prioritySequence first sync
✅ run prioritySequence first async
✅ run failed tests async
```
### ✅ <a id="user-content-r0s33" href="#user-content-r0s33">e2e/__tests__/debug.test.ts</a>
```
jest --debug
  ✅ outputs debugging info before running the test
```
### ✅ <a id="user-content-r0s34" href="#user-content-r0s34">e2e/__tests__/declarationErrors.test.ts</a>
```
✅ errors if describe returns a Promise
✅ errors if describe returns something
✅ errors if describe throws
```
### ✅ <a id="user-content-r0s35" href="#user-content-r0s35">e2e/__tests__/dependencyClash.test.ts</a>
```
✅ does not require project modules from inside node_modules
```
### ✅ <a id="user-content-r0s36" href="#user-content-r0s36">e2e/__tests__/detectOpenHandles.ts</a>
```
✅ prints message about flag on slow tests
✅ prints message about flag on forceExit
✅ prints out info about open handlers
✅ does not report promises
✅ prints out info about open handlers from inside tests
on node >=11.10.0
  ✅ does not report ELD histograms
notify
  ✅ does not report --notify flag
on node >=11
  ✅ does not report timeouts using unref
```
### ✅ <a id="user-content-r0s37" href="#user-content-r0s37">e2e/__tests__/domDiffing.test.ts</a>
```
✅ should work without error
```
### ✅ <a id="user-content-r0s38" href="#user-content-r0s38">e2e/__tests__/doneInHooks.test.ts</a>
```
✅ `done()` works properly in hooks
```
### ✅ <a id="user-content-r0s39" href="#user-content-r0s39">e2e/__tests__/dynamicRequireDependencies.ts</a>
```
✅ successfully runs tests with dynamic dependencies
```
### ✅ <a id="user-content-r0s40" href="#user-content-r0s40">e2e/__tests__/each.test.ts</a>
```
✅ works with passing tests
✅ shows error message when not enough arguments are supplied to tests
✅ shows the correct errors in stderr when failing tests
✅ shows only the tests with .only as being ran
✅ shows only the tests without .skip as being ran
✅ runs only the describe.only.each tests
✅ formats args with pretty format when given %p
```
### ✅ <a id="user-content-r0s41" href="#user-content-r0s41">e2e/__tests__/emptyDescribeWithHooks.test.ts</a>
```
✅ hook in empty describe
✅ hook in describe with skipped test
✅ hook in empty nested describe
✅ multiple hooks in empty describe
```
### ✅ <a id="user-content-r0s42" href="#user-content-r0s42">e2e/__tests__/emptySuiteError.test.ts</a>
```
JSON Reporter
  ✅ fails the test suite if it contains no tests
```
### ✅ <a id="user-content-r0s43" href="#user-content-r0s43">e2e/__tests__/env.test.ts</a>
```
Environment override
  ✅ uses jsdom when specified
  ✅ uses node as default from package.json
  ✅ uses node when specified
  ✅ fails when the env is not available
Environment equivalent
  ✅ uses jsdom
  ✅ uses node
```
### ✅ <a id="user-content-r0s44" href="#user-content-r0s44">e2e/__tests__/environmentAfterTeardown.test.ts</a>
```
✅ prints useful error for environment methods after test is done
```
### ✅ <a id="user-content-r0s45" href="#user-content-r0s45">e2e/__tests__/errorOnDeprecated.test.ts</a>
```
✅ does not work on jest-circus
⚪ fail.test.js errors in errorOnDeprecated mode
⚪ jasmine.addMatchers.test.js errors in errorOnDeprecated mode
⚪ jasmine.any.test.js errors in errorOnDeprecated mode
⚪ jasmine.anything.test.js errors in errorOnDeprecated mode
⚪ jasmine.arrayContaining.test.js errors in errorOnDeprecated mode
⚪ jasmine.createSpy.test.js errors in errorOnDeprecated mode
⚪ jasmine.objectContaining.test.js errors in errorOnDeprecated mode
⚪ jasmine.stringMatching.test.js errors in errorOnDeprecated mode
⚪ pending.test.js errors in errorOnDeprecated mode
⚪ spyOn.test.js errors in errorOnDeprecated mode
⚪ spyOnProperty.test.js errors in errorOnDeprecated mode
⚪ defaultTimeoutInterval.test.js errors in errorOnDeprecated mode
⚪ fail.test.js errors when not in errorOnDeprecated mode
⚪ jasmine.addMatchers.test.js passes when not in errorOnDeprecated mode
⚪ jasmine.any.test.js passes when not in errorOnDeprecated mode
⚪ jasmine.anything.test.js passes when not in errorOnDeprecated mode
⚪ jasmine.arrayContaining.test.js passes when not in errorOnDeprecated mode
⚪ jasmine.createSpy.test.js passes when not in errorOnDeprecated mode
⚪ jasmine.objectContaining.test.js passes when not in errorOnDeprecated mode
⚪ jasmine.stringMatching.test.js passes when not in errorOnDeprecated mode
⚪ pending.test.js passes when not in errorOnDeprecated mode
⚪ spyOn.test.js passes when not in errorOnDeprecated mode
⚪ spyOnProperty.test.js errors when not in errorOnDeprecated mode
⚪ defaultTimeoutInterval.test.js passes when not in errorOnDeprecated mode
```
### ✅ <a id="user-content-r0s46" href="#user-content-r0s46">e2e/__tests__/esmConfigFile.test.ts</a>
```
✅ reads config from cjs file
on node ^12.17.0 || >=13.2.0
  ✅ reads config from mjs file
  ✅ reads config from js file when package.json#type=module
```
### ✅ <a id="user-content-r0s47" href="#user-content-r0s47">e2e/__tests__/executeTestsOnceInMpr.ts</a>
```
✅ Tests are executed only once even in an MPR
```
### ✅ <a id="user-content-r0s48" href="#user-content-r0s48">e2e/__tests__/existentRoots.test.ts</a>
```
✅ error when rootDir does not exist
✅ error when rootDir is a file
✅ error when roots directory does not exist
✅ error when roots is a file
```
### ✅ <a id="user-content-r0s49" href="#user-content-r0s49">e2e/__tests__/expectAsyncMatcher.test.ts</a>
```
✅ works with passing tests
✅ shows the correct errors in stderr when failing tests
```
### ✅ <a id="user-content-r0s50" href="#user-content-r0s50">e2e/__tests__/expectInVm.test.ts</a>
```
✅ expect works correctly with RegExps created inside a VM
```
### ✅ <a id="user-content-r0s51" href="#user-content-r0s51">e2e/__tests__/extraGlobals.test.ts</a>
```
✅ works with injected globals
```
### ✅ <a id="user-content-r0s52" href="#user-content-r0s52">e2e/__tests__/failureDetailsProperty.test.ts</a>
```
✅ that the failureDetails property is set
```
### ✅ <a id="user-content-r0s53" href="#user-content-r0s53">e2e/__tests__/failures.test.ts</a>
```
✅ not throwing Error objects
✅ works with node assert
✅ works with assertions in separate files
✅ works with async failures
✅ works with snapshot failures
✅ works with snapshot failures with hint
✅ errors after test has completed
```
### ✅ <a id="user-content-r0s54" href="#user-content-r0s54">e2e/__tests__/fakePromises.test.ts</a>
```
Fake promises
  ✅ should be possible to resolve with fake timers using immediates
  ✅ should be possible to resolve with fake timers using asap
```
### ✅ <a id="user-content-r0s55" href="#user-content-r0s55">e2e/__tests__/fatalWorkerError.test.ts</a>
```
✅ fails a test that terminates the worker with a fatal error
```
### ✅ <a id="user-content-r0s56" href="#user-content-r0s56">e2e/__tests__/filter.test.ts</a>
```
Dynamic test filtering
  ✅ uses the default JSON option
  ✅ uses the CLI option
  ✅ ignores the filter if requested to do so
  ✅ throws when you return clowny stuff
  ✅ will call setup on filter before filtering
  ✅ will print error when filter throws
  ✅ will return no results when setup hook throws
```
### ✅ <a id="user-content-r0s57" href="#user-content-r0s57">e2e/__tests__/findRelatedFiles.test.ts</a>
```
--findRelatedTests flag
  ✅ runs tests related to filename
  ✅ runs tests related to uppercased filename on case-insensitive os
  ✅ runs tests related to filename with a custom dependency extractor
  ✅ generates coverage report for filename
  ✅ coverage configuration is applied correctly
```
### ✅ <a id="user-content-r0s58" href="#user-content-r0s58">e2e/__tests__/focusedTests.test.ts</a>
```
✅ runs only "it.only" tests
```
### ✅ <a id="user-content-r0s59" href="#user-content-r0s59">e2e/__tests__/forceExit.test.ts</a>
```
✅ exits the process after test are done but before timers complete
```
### ✅ <a id="user-content-r0s60" href="#user-content-r0s60">e2e/__tests__/generatorMock.test.ts</a>
```
✅ mock works with generator
```
### ✅ <a id="user-content-r0s61" href="#user-content-r0s61">e2e/__tests__/global-mutation.test.ts</a>
```
✅ can redefine global
```
### ✅ <a id="user-content-r0s62" href="#user-content-r0s62">e2e/__tests__/global.test.ts</a>
```
✅ globals are properly defined
```
### ✅ <a id="user-content-r0s63" href="#user-content-r0s63">e2e/__tests__/globals.test.ts</a>
```
✅ basic test constructs
✅ interleaved describe and test children order
✅ skips
✅ only
✅ cannot have describe with no implementation
✅ cannot test with no implementation
✅ skips with expand arg
✅ only with expand arg
✅ cannot test with no implementation with expand arg
✅ function as descriptor
```
### ✅ <a id="user-content-r0s64" href="#user-content-r0s64">e2e/__tests__/globalSetup.test.ts</a>
```
✅ globalSetup is triggered once before all test suites
✅ jest throws an error when globalSetup does not export a function
✅ globalSetup function gets jest config object as a parameter
✅ should call globalSetup function of multiple projects
✅ should not call a globalSetup of a project if there are no tests to run from this project
✅ should not call any globalSetup if there are no tests to run
✅ globalSetup works with default export
✅ globalSetup throws with named export
✅ should not transpile the transformer
✅ should transform node_modules if configured by transformIgnorePatterns
```
### ✅ <a id="user-content-r0s65" href="#user-content-r0s65">e2e/__tests__/globalTeardown.test.ts</a>
```
✅ globalTeardown is triggered once after all test suites
✅ jest throws an error when globalTeardown does not export a function
✅ globalTeardown function gets jest config object as a parameter
✅ should call globalTeardown function of multiple projects
✅ should not call a globalTeardown of a project if there are no tests to run from this project
✅ globalTeardown works with default export
✅ globalTeardown throws with named export
```
### ✅ <a id="user-content-r0s66" href="#user-content-r0s66">e2e/__tests__/hasteMapMockChanged.test.ts</a>
```
✅ should not warn when a mock file changes
```
### ✅ <a id="user-content-r0s67" href="#user-content-r0s67">e2e/__tests__/hasteMapSha1.test.ts</a>
```
✅ exits the process after test are done but before timers complete
```
### ✅ <a id="user-content-r0s68" href="#user-content-r0s68">e2e/__tests__/hasteMapSize.test.ts</a>
```
✅ reports the correct file size
✅ updates the file size when a file changes
```
### ✅ <a id="user-content-r0s69" href="#user-content-r0s69">e2e/__tests__/importedGlobals.test.ts</a>
```
✅ imported globals
```
### ✅ <a id="user-content-r0s70" href="#user-content-r0s70">e2e/__tests__/injectGlobals.test.ts</a>
```
✅ globals are undefined if passed `false` from CLI
✅ globals are undefined if passed `false` from config
```
### ✅ <a id="user-content-r0s71" href="#user-content-r0s71">e2e/__tests__/jasmineAsync.test.ts</a>
```
async jasmine
  ✅ works with beforeAll
  ✅ works with beforeEach
  ✅ works with afterAll
  ✅ works with afterEach
  ✅ works with fit
  ✅ works with xit
  ✅ throws when not a promise is returned
  ✅ tests async promise code
  ✅ works with concurrent
  ✅ works with concurrent within a describe block when invoked with testNamePattern
  ✅ works with concurrent.each
  ✅ works with concurrent.only.each
  ✅ doesn't execute more than 5 tests simultaneously
  ✅ async test fails
  ✅ generator test
```
### ✅ <a id="user-content-r0s72" href="#user-content-r0s72">e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts</a>
```
async jasmine with pending during test
  ✅ does not work on jest-circus
  ⚪ should be reported as a pending test
```
### ✅ <a id="user-content-r0s73" href="#user-content-r0s73">e2e/__tests__/jest.config.js.test.ts</a>
```
✅ works with jest.config.js
✅ traverses directory tree up until it finds jest.config
✅ invalid JS in jest.config.js
```
### ✅ <a id="user-content-r0s74" href="#user-content-r0s74">e2e/__tests__/jest.config.ts.test.ts</a>
```
✅ works with jest.config.ts
✅ works with tsconfig.json
✅ traverses directory tree up until it finds jest.config
✅ it does type check the config
✅ invalid JS in jest.config.ts
```
### ❌ <a id="user-content-r0s75" href="#user-content-r0s75">e2e/__tests__/jestChangedFiles.test.ts</a>
```
✅ gets hg SCM roots and dedupes them
✅ gets git SCM roots and dedupes them
✅ gets mixed git and hg SCM roots and dedupes them
✅ gets changed files for git
✅ monitors only root paths for git
✅ does not find changes in files with no diff, for git
✅ handles a bad revision for "changedSince", for git
❌ gets changed files for hg
	Error: abort: empty revision range
✅ monitors only root paths for hg
✅ handles a bad revision for "changedSince", for hg
```
### ✅ <a id="user-content-r0s76" href="#user-content-r0s76">e2e/__tests__/jestEnvironmentJsdom.test.ts</a>
```
✅ check is not leaking memory
```
### ✅ <a id="user-content-r0s77" href="#user-content-r0s77">e2e/__tests__/jestRequireActual.test.ts</a>
```
✅ understands dependencies using jest.requireActual
```
### ✅ <a id="user-content-r0s78" href="#user-content-r0s78">e2e/__tests__/jestRequireMock.test.ts</a>
```
✅ understands dependencies using jest.requireMock
```
### ✅ <a id="user-content-r0s79" href="#user-content-r0s79">e2e/__tests__/json.test.ts</a>
```
✅ JSON is available in the global scope
✅ JSON.parse creates objects from within this context
```
### ✅ <a id="user-content-r0s80" href="#user-content-r0s80">e2e/__tests__/jsonReporter.test.ts</a>
```
JSON Reporter
  ✅ writes test result to sum.result.json
  ✅ outputs coverage report
```
### ✅ <a id="user-content-r0s81" href="#user-content-r0s81">e2e/__tests__/lifecycles.ts</a>
```
✅ suite with invalid assertions in afterAll
```
### ✅ <a id="user-content-r0s82" href="#user-content-r0s82">e2e/__tests__/listTests.test.ts</a>
```
--listTests flag
  ✅ causes tests to be printed in different lines
  ✅ causes tests to be printed out as JSON when using the --json flag
```
### ✅ <a id="user-content-r0s83" href="#user-content-r0s83">e2e/__tests__/locationInResults.test.ts</a>
```
✅ defaults to null for location
✅ adds correct location info when provided with flag
```
### ✅ <a id="user-content-r0s84" href="#user-content-r0s84">e2e/__tests__/logHeapUsage.test.ts</a>
```
✅ logs memory usage
```
### ✅ <a id="user-content-r0s85" href="#user-content-r0s85">e2e/__tests__/mockNames.test.ts</a>
```
✅ suite without mock name, mock called
✅ suite without mock name, mock not called
✅ suite with mock name, expect mock not called
✅ suite with mock name, mock called, expect fail
✅ suite with mock name, mock called 5 times
✅ suite with mock name, mock not called 5 times, expect fail
✅ suite with mock name, mock called
✅ suite with mock name, mock not called
```
### ✅ <a id="user-content-r0s86" href="#user-content-r0s86">e2e/__tests__/modernFakeTimers.test.ts</a>
```
modern implementation of fake timers
  ✅ should be possible to use modern implementation from config
  ✅ should be possible to use modern implementation from jest-object
```
### ✅ <a id="user-content-r0s87" href="#user-content-r0s87">e2e/__tests__/moduleNameMapper.test.ts</a>
```
✅ moduleNameMapper wrong configuration
✅ moduleNameMapper wrong array configuration
✅ moduleNameMapper correct configuration
✅ moduleNameMapper correct configuration mocking module of absolute path
✅ moduleNameMapper with mocking
```
### ✅ <a id="user-content-r0s88" href="#user-content-r0s88">e2e/__tests__/moduleParentNullInTest.ts</a>
```
✅ module.parent should be null in test files
```
### ✅ <a id="user-content-r0s89" href="#user-content-r0s89">e2e/__tests__/multiProjectRunner.test.ts</a>
```
✅ --listTests doesn't duplicate the test files
✅ can pass projects or global config
✅ "No tests found" message for projects
✅ allows a single non-root project
✅ allows a single non-root project
✅ correctly runs a single non-root project
✅ correctly runs a single non-root project
✅ projects can be workspaces with non-JS/JSON files
✅ objects in project configuration
✅ allows a single project
✅ resolves projects and their <rootDir> properly
✅ Does transform files with the corresponding project transformer
doesn't bleed module file extensions resolution with multiple workers
  ✅ external config files
  ✅ inline config files
```
### ✅ <a id="user-content-r0s90" href="#user-content-r0s90">e2e/__tests__/nativeAsyncMock.test.ts</a>
```
✅ mocks async functions
```
### ✅ <a id="user-content-r0s91" href="#user-content-r0s91">e2e/__tests__/nativeEsm.test.ts</a>
```
✅ test config is without transform
on node ^12.16.0 || >=13.7.0
  ✅ runs test with native ESM
on node >=14.3.0
  ⚪ supports top-level await
```
### ✅ <a id="user-content-r0s92" href="#user-content-r0s92">e2e/__tests__/nativeEsmTypescript.test.ts</a>
```
on node ^12.16.0 || >=13.7.0
  ✅ runs TS test with native ESM
```
### ✅ <a id="user-content-r0s93" href="#user-content-r0s93">e2e/__tests__/nestedEventLoop.test.ts</a>
```
✅ works with nested event loops
```
### ✅ <a id="user-content-r0s94" href="#user-content-r0s94">e2e/__tests__/nestedTestDefinitions.test.ts</a>
```
✅ print correct error message with nested test definitions outside describe
✅ print correct error message with nested test definitions inside describe
✅ print correct message when nesting describe inside it
✅ print correct message when nesting a hook inside it
```
### ✅ <a id="user-content-r0s95" href="#user-content-r0s95">e2e/__tests__/nodePath.test.ts</a>
```
✅ supports NODE_PATH
```
### ✅ <a id="user-content-r0s96" href="#user-content-r0s96">e2e/__tests__/noTestFound.test.ts</a>
```
Coverage Report
  ✅ outputs coverage report
File path not found in mulit-project scenario
  ✅ outputs coverage report
```
### ✅ <a id="user-content-r0s97" href="#user-content-r0s97">e2e/__tests__/noTestsFound.test.ts</a>
```
No tests are found
  ✅ fails the test suite in standard situation
  ✅ doesn't fail the test suite if --passWithNoTests passed
  ✅ doesn't fail the test suite if using --lastCommit
  ✅ doesn't fail the test suite if using --onlyChanged
  ✅ doesn't fail the test suite if using --findRelatedTests
```
### ❌ <a id="user-content-r0s98" href="#user-content-r0s98">e2e/__tests__/onlyChanged.test.ts</a>
```
✅ run for "onlyChanged" and "changedSince"
✅ run only changed files
✅ report test coverage for only changed files
✅ report test coverage of source on test file change under only changed files
✅ do not pickup non-tested files when reporting coverage on only changed files
✅ collect test coverage when using onlyChanged
✅ onlyChanged in config is overwritten by --all or testPathPattern
❌ gets changed files for hg
	Error: expect(received).toMatch(expected)
✅ path on Windows is case-insensitive
```
### ✅ <a id="user-content-r0s99" href="#user-content-r0s99">e2e/__tests__/onlyFailuresNonWatch.test.ts</a>
```
✅ onlyFailures flag works in non-watch mode
```
### ✅ <a id="user-content-r0s100" href="#user-content-r0s100">e2e/__tests__/overrideGlobals.test.ts</a>
```
✅ overriding native promise does not freeze Jest
✅ has a duration even if time is faked
```
### ✅ <a id="user-content-r0s101" href="#user-content-r0s101">e2e/__tests__/pnp.test.ts</a>
```
✅ successfully runs the tests inside `pnp/`
```
### ✅ <a id="user-content-r0s102" href="#user-content-r0s102">e2e/__tests__/presets.test.ts</a>
```
✅ supports json preset
✅ supports js preset
```
### ✅ <a id="user-content-r0s103" href="#user-content-r0s103">e2e/__tests__/processExit.test.ts</a>
```
✅ prints stack trace pointing to process.exit call
```
### ✅ <a id="user-content-r0s104" href="#user-content-r0s104">e2e/__tests__/promiseReject.test.ts</a>
```
✅ 
```
### ✅ <a id="user-content-r0s105" href="#user-content-r0s105">e2e/__tests__/regexCharInPath.test.ts</a>
```
Regex Char In Path
  ✅ parses paths containing regex chars correctly
```
### ✅ <a id="user-content-r0s106" href="#user-content-r0s106">e2e/__tests__/requireAfterTeardown.test.ts</a>
```
✅ prints useful error for requires after test is done
```
### ✅ <a id="user-content-r0s107" href="#user-content-r0s107">e2e/__tests__/requireMain.test.ts</a>
```
✅ provides `require.main` set to test suite module
```
### ✅ <a id="user-content-r0s108" href="#user-content-r0s108">e2e/__tests__/requireMainAfterCreateRequire.test.ts</a>
```
on node >=12.2.0
  ✅ `require.main` not undefined after createRequire
```
### ✅ <a id="user-content-r0s109" href="#user-content-r0s109">e2e/__tests__/requireMainIsolateModules.test.ts</a>
```
✅ `require.main` on using `jest.isolateModules` should not be undefined
```
### ✅ <a id="user-content-r0s110" href="#user-content-r0s110">e2e/__tests__/requireMainResetModules.test.ts</a>
```
✅ `require.main` on using `--resetModules='true'` should not be undefined
✅ `require.main` on using `jest.resetModules()` should not be undefined
```
### ✅ <a id="user-content-r0s111" href="#user-content-r0s111">e2e/__tests__/requireV8Module.test.ts</a>
```
✅ v8 module
```
### ✅ <a id="user-content-r0s112" href="#user-content-r0s112">e2e/__tests__/resetModules.test.ts</a>
```
✅ jest.resetModules should not error when _isMockFunction is defined but not boolean
```
### ✅ <a id="user-content-r0s113" href="#user-content-r0s113">e2e/__tests__/resolve.test.ts</a>
```
✅ resolve platform modules
```
### ✅ <a id="user-content-r0s114" href="#user-content-r0s114">e2e/__tests__/resolveGetPaths.test.ts</a>
```
✅ require.resolve.paths
```
### ✅ <a id="user-content-r0s115" href="#user-content-r0s115">e2e/__tests__/resolveNodeModule.test.ts</a>
```
✅ resolve node module
```
### ✅ <a id="user-content-r0s116" href="#user-content-r0s116">e2e/__tests__/resolveNoFileExtensions.test.ts</a>
```
✅ show error message with matching files
✅ show error message when no js moduleFileExtensions
```
### ✅ <a id="user-content-r0s117" href="#user-content-r0s117">e2e/__tests__/resolveWithPaths.test.ts</a>
```
✅ require.resolve with paths
```
### ✅ <a id="user-content-r0s118" href="#user-content-r0s118">e2e/__tests__/runProgrammatically.test.ts</a>
```
✅ run Jest programmatically cjs
✅ run Jest programmatically esm
```
### ✅ <a id="user-content-r0s119" href="#user-content-r0s119">e2e/__tests__/runTestsByPath.test.ts</a>
```
✅ runs tests by exact path
```
### ✅ <a id="user-content-r0s120" href="#user-content-r0s120">e2e/__tests__/runtimeInternalModuleRegistry.test.ts</a>
```
Runtime Internal Module Registry
  ✅ correctly makes use of internal module registry when requiring modules
```
### ✅ <a id="user-content-r0s121" href="#user-content-r0s121">e2e/__tests__/selectProjects.test.ts</a>
```
Given a config with two named projects, first-project and second-project when Jest is started with `--selectProjects first-project`
  ✅ runs the tests in the first project only
  ✅ prints that only first-project will run
Given a config with two named projects, first-project and second-project when Jest is started with `--selectProjects second-project`
  ✅ runs the tests in the second project only
  ✅ prints that only second-project will run
Given a config with two named projects, first-project and second-project when Jest is started with `--selectProjects first-project second-project`
  ✅ runs the tests in the first and second projects
  ✅ prints that both first-project and second-project will run
Given a config with two named projects, first-project and second-project when Jest is started without providing `--selectProjects`
  ✅ runs the tests in the first and second projects
  ✅ does not print which projects are run
Given a config with two named projects, first-project and second-project when Jest is started with `--selectProjects third-project`
  ✅ fails
  ✅ prints that no project was found
Given a config with two projects, first-project and an unnamed project when Jest is started with `--selectProjects first-project`
  ✅ runs the tests in the first project only
  ✅ prints that a project does not have a name
  ✅ prints that only first-project will run
Given a config with two projects, first-project and an unnamed project when Jest is started without providing `--selectProjects`
  ✅ runs the tests in the first and second projects
  ✅ does not print that a project has no name
Given a config with two projects, first-project and an unnamed project when Jest is started with `--selectProjects third-project`
  ✅ fails
  ✅ prints that a project does not have a name
  ✅ prints that no project was found
```
### ✅ <a id="user-content-r0s122" href="#user-content-r0s122">e2e/__tests__/setImmediate.test.ts</a>
```
✅ setImmediate
```
### ✅ <a id="user-content-r0s123" href="#user-content-r0s123">e2e/__tests__/setupFilesAfterEnvConfig.test.ts</a>
```
setupFilesAfterEnv
  ✅ requires multiple setup files before each file in the suite
  ✅ requires setup files *after* the test runners are required
```
### ✅ <a id="user-content-r0s124" href="#user-content-r0s124">e2e/__tests__/showConfig.test.ts</a>
```
✅ --showConfig outputs config info and exits
```
### ✅ <a id="user-content-r0s125" href="#user-content-r0s125">e2e/__tests__/skipBeforeAfterAll.test.ts</a>
```
✅ correctly skip `beforeAll`s in skipped tests
```
### ✅ <a id="user-content-r0s126" href="#user-content-r0s126">e2e/__tests__/snapshot-unknown.test.ts</a>
```
Snapshot serializers
  ✅ renders snapshot
```
### ✅ <a id="user-content-r0s127" href="#user-content-r0s127">e2e/__tests__/snapshot.test.ts</a>
```
Snapshot
  ✅ stores new snapshots on the first run
  ✅ works with escaped characters
  ✅ works with escaped regex
  ✅ works with template literal substitutions
Snapshot Validation
  ✅ does not save snapshots in CI mode by default
  ✅ works on subsequent runs without `-u`
  ✅ deletes the snapshot if the test suite has been removed
  ✅ deletes a snapshot when a test does removes all the snapshots
  ✅ updates the snapshot when a test removes some snapshots
```
### ✅ <a id="user-content-r0s128" href="#user-content-r0s128">e2e/__tests__/snapshotMockFs.test.ts</a>
```
✅ store snapshot even if fs is mocked
```
### ✅ <a id="user-content-r0s129" href="#user-content-r0s129">e2e/__tests__/snapshotResolver.test.ts</a>
```
Custom snapshot resolver
  ✅ Resolves snapshot files using custom resolver
```
### ✅ <a id="user-content-r0s130" href="#user-content-r0s130">e2e/__tests__/snapshotSerializers.test.ts</a>
```
Snapshot serializers
  ✅ renders snapshot
  ✅ compares snapshots correctly
```
### ✅ <a id="user-content-r0s131" href="#user-content-r0s131">e2e/__tests__/stackTrace.test.ts</a>
```
Stack Trace
  ✅ prints a stack trace for runtime errors
  ✅ does not print a stack trace for runtime errors when --noStackTrace is given
  ✅ prints a stack trace for matching errors
  ✅ does not print a stack trace for matching errors when --noStackTrace is given
  ✅ prints a stack trace for errors
  ✅ prints a stack trace for errors without message in stack trace
  ✅ does not print a stack trace for errors when --noStackTrace is given
```
### ✅ <a id="user-content-r0s132" href="#user-content-r0s132">e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts</a>
```
✅ prints a usable stack trace even if no Error.captureStackTrace
```
### ✅ <a id="user-content-r0s133" href="#user-content-r0s133">e2e/__tests__/stackTraceSourceMaps.test.ts</a>
```
✅ processes stack traces and code frames with source maps
```
### ✅ <a id="user-content-r0s134" href="#user-content-r0s134">e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts</a>
```
✅ processes stack traces and code frames with source maps with coverage
```
### ✅ <a id="user-content-r0s135" href="#user-content-r0s135">e2e/__tests__/supportsDashedArgs.ts</a>
```
✅ works with passing tests
✅ throws error for unknown dashed & camelcase args
```
### ✅ <a id="user-content-r0s136" href="#user-content-r0s136">e2e/__tests__/symbol.test.ts</a>
```
✅ Symbol deletion
```
### ✅ <a id="user-content-r0s137" href="#user-content-r0s137">e2e/__tests__/testEnvironment.test.ts</a>
```
✅ respects testEnvironment docblock
```
### ✅ <a id="user-content-r0s138" href="#user-content-r0s138">e2e/__tests__/testEnvironmentAsync.test.ts</a>
```
✅ triggers setup/teardown hooks
```
### ✅ <a id="user-content-r0s139" href="#user-content-r0s139">e2e/__tests__/testEnvironmentCircus.test.ts</a>
```
✅ calls testEnvironment handleTestEvent
```
### ✅ <a id="user-content-r0s140" href="#user-content-r0s140">e2e/__tests__/testEnvironmentCircusAsync.test.ts</a>
```
✅ calls asynchronous handleTestEvent in testEnvironment
```
### ✅ <a id="user-content-r0s141" href="#user-content-r0s141">e2e/__tests__/testFailureExitCode.test.ts</a>
```
✅ exits with a specified code when test fail
✅ exits with a specified code when bailing from a failed test
```
### ✅ <a id="user-content-r0s142" href="#user-content-r0s142">e2e/__tests__/testInRoot.test.ts</a>
```
✅ runs tests in only test.js and spec.js
```
### ✅ <a id="user-content-r0s143" href="#user-content-r0s143">e2e/__tests__/testNamePattern.test.ts</a>
```
✅ testNamePattern
```
### ✅ <a id="user-content-r0s144" href="#user-content-r0s144">e2e/__tests__/testNamePatternSkipped.test.ts</a>
```
✅ testNamePattern skipped
```
### ✅ <a id="user-content-r0s145" href="#user-content-r0s145">e2e/__tests__/testPathPatternReporterMessage.test.ts</a>
```
✅ prints a message with path pattern at the end
```
### ✅ <a id="user-content-r0s146" href="#user-content-r0s146">e2e/__tests__/testResultsProcessor.test.ts</a>
```
✅ testNamePattern
```
### ✅ <a id="user-content-r0s147" href="#user-content-r0s147">e2e/__tests__/testRetries.test.ts</a>
```
Test Retries
  ✅ retries failed tests
  ✅ reporter shows more than 1 invocation if test is retried
  ✅ reporter shows 1 invocation if tests are not retried
  ✅ tests are not retried if beforeAll hook failure occurs
```
### ✅ <a id="user-content-r0s148" href="#user-content-r0s148">e2e/__tests__/testTodo.test.ts</a>
```
✅ works with all statuses
✅ shows error messages when called with no arguments
✅ shows error messages when called with multiple arguments
✅ shows error messages when called with invalid argument
✅ shows todo messages when in verbose mode
```
### ✅ <a id="user-content-r0s149" href="#user-content-r0s149">e2e/__tests__/timeouts.test.ts</a>
```
✅ exceeds the timeout
✅ does not exceed the timeout
✅ exceeds the command line testTimeout
✅ does not exceed the command line testTimeout
```
### ✅ <a id="user-content-r0s150" href="#user-content-r0s150">e2e/__tests__/timeoutsLegacy.test.ts</a>
```
✅ does not work on jest-circus
⚪ exceeds the timeout set using jasmine.DEFAULT_TIMEOUT_INTERVAL
⚪ does not exceed the timeout using jasmine.DEFAULT_TIMEOUT_INTERVAL
⚪ can read and write jasmine.DEFAULT_TIMEOUT_INTERVAL
```
### ✅ <a id="user-content-r0s151" href="#user-content-r0s151">e2e/__tests__/timerResetMocks.test.ts</a>
```
✅ run timers after resetAllMocks test
✅ run timers with resetMocks in config test
```
### ✅ <a id="user-content-r0s152" href="#user-content-r0s152">e2e/__tests__/timerUseRealTimers.test.ts</a>
```
✅ useRealTimers cancels "timers": "fake" for whole test file
```
### ✅ <a id="user-content-r0s153" href="#user-content-r0s153">e2e/__tests__/toMatchInlineSnapshot.test.ts</a>
```
✅ basic support
✅ do not indent empty lines
✅ handles property matchers
✅ removes obsolete external snapshots
✅ supports async matchers
✅ supports async tests
✅ writes snapshots with non-literals in expect(...)
✅ handles mocking native modules prettier relies on
✅ supports custom matchers
✅ supports custom matchers with property matcher
✅ multiple custom matchers and native matchers
✅ indentation is correct in the presences of existing snapshots
```
### ✅ <a id="user-content-r0s154" href="#user-content-r0s154">e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts</a>
```
✅ works with a single snapshot
✅ works when a different assertion is failing
✅ works when multiple tests have snapshots but only one of them failed multiple times
```
### ✅ <a id="user-content-r0s155" href="#user-content-r0s155">e2e/__tests__/toMatchSnapshot.test.ts</a>
```
✅ basic support
✅ error thrown before snapshot
✅ first snapshot fails, second passes
✅ does not mark snapshots as obsolete in skipped tests
✅ accepts custom snapshot name
✅ handles property matchers
✅ handles invalid property matchers
✅ handles property matchers with hint
✅ handles property matchers with deep properties
```
### ✅ <a id="user-content-r0s156" href="#user-content-r0s156">e2e/__tests__/toMatchSnapshotWithRetries.test.ts</a>
```
✅ works with a single snapshot
✅ works when multiple tests have snapshots but only one of them failed multiple times
```
### ✅ <a id="user-content-r0s157" href="#user-content-r0s157">e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts</a>
```
✅ empty external
✅ empty internal ci false
✅ undefined internal ci true
```
### ✅ <a id="user-content-r0s158" href="#user-content-r0s158">e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts</a>
```
✅ works fine when function throws error
✅ updates existing snapshot
✅ cannot be used with .not
✅ should support rejecting promises
```
### ✅ <a id="user-content-r0s159" href="#user-content-r0s159">e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts</a>
```
✅ works fine when function throws error
✅ throws the error if tested function didn't throw error
✅ accepts custom snapshot name
✅ cannot be used with .not
✅ should support rejecting promises
```
### ✅ <a id="user-content-r0s160" href="#user-content-r0s160">e2e/__tests__/transform.test.ts</a>
```
babel-jest
  ✅ runs transpiled code
  ✅ instruments only specific files and collects coverage
babel-jest ignored
  ✅ tells user to match ignored files
babel-jest with manual transformer
  ✅ runs transpiled code
no babel-jest
  ✅ fails with syntax error on flow types
  ✅ instrumentation with no babel-jest
custom transformer
  ✅ proprocesses files
  ✅ instruments files
multiple-transformers
  ✅ transforms dependencies using specific transformers
ecmascript-modules-support
  ✅ runs transpiled code
transformer-config
  ✅ runs transpiled code
  ✅ instruments only specific files and collects coverage
transformer caching
  ✅ does not rerun transform within worker
transform-environment
  ✅ should transform the environment
transform-runner
  ✅ should transform runner
transform-testrunner
  ✅ should transform testRunner
```
### ✅ <a id="user-content-r0s161" href="#user-content-r0s161">e2e/__tests__/transformLinkedModules.test.ts</a>
```
✅ should transform linked modules
```
### ✅ <a id="user-content-r0s162" href="#user-content-r0s162">e2e/__tests__/typescriptCoverage.test.ts</a>
```
✅ instruments and collects coverage for typescript files
```
### ✅ <a id="user-content-r0s163" href="#user-content-r0s163">e2e/__tests__/unexpectedToken.test.ts</a>
```
✅ triggers unexpected token error message for non-JS assets
✅ triggers unexpected token error message for untranspiled node_modules
✅ does not trigger unexpected token error message for regular syntax errors
```
### ✅ <a id="user-content-r0s164" href="#user-content-r0s164">e2e/__tests__/useStderr.test.ts</a>
```
✅ no tests found message is redirected to stderr
```
### ✅ <a id="user-content-r0s165" href="#user-content-r0s165">e2e/__tests__/v8Coverage.test.ts</a>
```
✅ prints coverage with missing sourcemaps
✅ prints coverage with empty sourcemaps
```
### ✅ <a id="user-content-r0s166" href="#user-content-r0s166">e2e/__tests__/verbose.test.ts</a>
```
✅ Verbose Reporter
```
### ✅ <a id="user-content-r0s167" href="#user-content-r0s167">e2e/__tests__/version.test.ts</a>
```
✅ works with jest.config.js
```
### ✅ <a id="user-content-r0s168" href="#user-content-r0s168">e2e/__tests__/watchModeNoAccess.test.ts</a>
```
✅ does not re-run tests when only access time is modified
```
### ✅ <a id="user-content-r0s169" href="#user-content-r0s169">e2e/__tests__/watchModeOnlyFailed.test.ts</a>
```
✅ can press "f" to run only failed tests
```
### ✅ <a id="user-content-r0s170" href="#user-content-r0s170">e2e/__tests__/watchModePatterns.test.ts</a>
```
✅ can press "p" to filter by file name
✅ can press "t" to filter by test name
```
### ✅ <a id="user-content-r0s171" href="#user-content-r0s171">e2e/__tests__/watchModeUpdateSnapshot.test.ts</a>
```
✅ can press "u" to update snapshots
```
### ✅ <a id="user-content-r0s172" href="#user-content-r0s172">e2e/__tests__/workerForceExit.test.ts</a>
```
✅ prints a warning if a worker is force exited
✅ force exits a worker that fails to exit gracefully
```
### ✅ <a id="user-content-r0s173" href="#user-content-r0s173">e2e/__tests__/wrongEnv.test.ts</a>
```
Wrong globals for environment
  ✅ print useful error for window
  ✅ print useful error for document
  ✅ print useful error for navigator
  ✅ print useful error for unref
  ✅ print useful error when it explodes during evaluation
```
### ✅ <a id="user-content-r0s174" href="#user-content-r0s174">e2e/custom-test-sequencer/a.test.js</a>
```
✅ a
```
### ✅ <a id="user-content-r0s175" href="#user-content-r0s175">e2e/custom-test-sequencer/b.test.js</a>
```
✅ b
```
### ✅ <a id="user-content-r0s176" href="#user-content-r0s176">e2e/custom-test-sequencer/c.test.js</a>
```
✅ c
```
### ✅ <a id="user-content-r0s177" href="#user-content-r0s177">e2e/custom-test-sequencer/d.test.js</a>
```
✅ d
```
### ✅ <a id="user-content-r0s178" href="#user-content-r0s178">e2e/custom-test-sequencer/e.test.js</a>
```
✅ e
```
### ✅ <a id="user-content-r0s179" href="#user-content-r0s179">e2e/test-in-root/spec.js</a>
```
✅ stub
```
### ✅ <a id="user-content-r0s180" href="#user-content-r0s180">e2e/test-in-root/test.js</a>
```
✅ stub
```
### ✅ <a id="user-content-r0s181" href="#user-content-r0s181">e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js</a>
```
timers
  ✅ should work before calling resetAllMocks
  ✅ should not break after calling resetAllMocks
```
### ✅ <a id="user-content-r0s182" href="#user-content-r0s182">e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js</a>
```
timers
  ✅ should work before calling resetAllMocks
```
### ✅ <a id="user-content-r0s183" href="#user-content-r0s183">e2e/v8-coverage/empty-sourcemap/test.ts</a>
```
✅ dummy-test
```
### ✅ <a id="user-content-r0s184" href="#user-content-r0s184">examples/angular/app.component.spec.ts</a>
```
AppComponent
  ✅ should create the app
  ✅ should have as title 'angular'
  ✅ should render title in a h1 tag
```
### ✅ <a id="user-content-r0s185" href="#user-content-r0s185">examples/angular/shared/data.service.spec.ts</a>
```
Service: DataService
  ✅ should create service
  ✅ should return the right title
```
### ✅ <a id="user-content-r0s186" href="#user-content-r0s186">examples/angular/shared/sub.service.spec.ts</a>
```
Service: SubService
  ✅ should create service
```
### ✅ <a id="user-content-r0s187" href="#user-content-r0s187">examples/async/__tests__/user.test.js</a>
```
✅ works with resolves
✅ works with promises
✅ works with async/await
✅ works with async/await and resolves
✅ tests error with rejects
✅ tests error with promises
✅ tests error with async/await
✅ tests error with async/await and rejects
```
### ✅ <a id="user-content-r0s188" href="#user-content-r0s188">examples/automatic-mocks/__tests__/automock.test.js</a>
```
✅ if utils are mocked
✅ mocked implementation
```
### ✅ <a id="user-content-r0s189" href="#user-content-r0s189">examples/automatic-mocks/__tests__/createMockFromModule.test.js</a>
```
✅ implementation created by automock
✅ implementation created by jest.createMockFromModule
```
### ✅ <a id="user-content-r0s190" href="#user-content-r0s190">examples/automatic-mocks/__tests__/disableAutomocking.test.js</a>
```
✅ original implementation
```
### ✅ <a id="user-content-r0s191" href="#user-content-r0s191">examples/enzyme/__tests__/CheckboxWithLabel-test.js</a>
```
✅ CheckboxWithLabel changes the text after click
```
### ✅ <a id="user-content-r0s192" href="#user-content-r0s192">examples/getting-started/sum.test.js</a>
```
✅ adds 1 + 2 to equal 3
```
### ✅ <a id="user-content-r0s193" href="#user-content-r0s193">examples/jquery/__tests__/display_user.test.js</a>
```
✅ displays a user after a click
```
### ✅ <a id="user-content-r0s194" href="#user-content-r0s194">examples/jquery/__tests__/fetch_current_user.test.js</a>
```
✅ calls into $.ajax with the correct params
✅ calls the callback when $.ajax requests are finished
```
### ✅ <a id="user-content-r0s195" href="#user-content-r0s195">examples/manual-mocks/__tests__/file_summarizer.test.js</a>
```
listFilesInDirectorySync
  ✅ includes all files in the directory in the summary
```
### ✅ <a id="user-content-r0s196" href="#user-content-r0s196">examples/manual-mocks/__tests__/lodashMocking.test.js</a>
```
✅ if lodash head is mocked
```
### ✅ <a id="user-content-r0s197" href="#user-content-r0s197">examples/manual-mocks/__tests__/user.test.js</a>
```
✅ if orginal user model
```
### ✅ <a id="user-content-r0s198" href="#user-content-r0s198">examples/manual-mocks/__tests__/userMocked.test.js</a>
```
✅ if user model is mocked
```
### ✅ <a id="user-content-r0s199" href="#user-content-r0s199">examples/module-mock/__tests__/full_mock.js</a>
```
✅ does a full mock
```
### ✅ <a id="user-content-r0s200" href="#user-content-r0s200">examples/module-mock/__tests__/mock_per_test.js</a>
```
define mock per test
  ✅ uses mocked module
  ✅ uses actual module
```
### ✅ <a id="user-content-r0s201" href="#user-content-r0s201">examples/module-mock/__tests__/partial_mock.js</a>
```
✅ does a partial mock
```
### ✅ <a id="user-content-r0s202" href="#user-content-r0s202">examples/mongodb/__test__/db.test.js</a>
```
✅ should aggregate docs from collection
```
### ✅ <a id="user-content-r0s203" href="#user-content-r0s203">examples/react-native/__tests__/intro.test.js</a>
```
✅ renders correctly
✅ renders the ActivityIndicator component
✅ renders the TextInput component
✅ renders the FlatList component
```
### ✅ <a id="user-content-r0s204" href="#user-content-r0s204">examples/react-testing-library/__tests__/CheckboxWithLabel-test.js</a>
```
✅ CheckboxWithLabel changes the text after click
```
### ✅ <a id="user-content-r0s205" href="#user-content-r0s205">examples/react/__tests__/CheckboxWithLabel-test.js</a>
```
✅ CheckboxWithLabel changes the text after click
```
### ✅ <a id="user-content-r0s206" href="#user-content-r0s206">examples/snapshot/__tests__/clock.react.test.js</a>
```
✅ renders correctly
```
### ✅ <a id="user-content-r0s207" href="#user-content-r0s207">examples/snapshot/__tests__/link.react.test.js</a>
```
✅ renders correctly
✅ renders as an anchor when no page is set
✅ properly escapes quotes
✅ changes the class when hovered
```
### ✅ <a id="user-content-r0s208" href="#user-content-r0s208">examples/timer/__tests__/infinite_timer_game.test.js</a>
```
✅ schedules a 10-second timer after 1 second
```
### ✅ <a id="user-content-r0s209" href="#user-content-r0s209">examples/timer/__tests__/timer_game.test.js</a>
```
timerGame
  ✅ waits 1 second before ending the game
  ✅ calls the callback after 1 second via runAllTimers
  ✅ calls the callback after 1 second via advanceTimersByTime
```
### ✅ <a id="user-content-r0s210" href="#user-content-r0s210">examples/typescript/__tests__/calc.test.ts</a>
```
calc - mocks
  ✅ returns result from subtract
  ✅ returns result from sum
  ✅ adds last result to memory
  ✅ subtracts last result to memory
  ✅ clears the memory
  ✅ throws an error when invalid Op is passed
```
### ✅ <a id="user-content-r0s211" href="#user-content-r0s211">examples/typescript/__tests__/CheckboxWithLabel-test.tsx</a>
```
✅ CheckboxWithLabel changes the text after click
```
### ✅ <a id="user-content-r0s212" href="#user-content-r0s212">examples/typescript/__tests__/sub-test.ts</a>
```
✅ subtracts 5 - 1 to equal 4 in TypeScript
```
### ✅ <a id="user-content-r0s213" href="#user-content-r0s213">examples/typescript/__tests__/sum-test.ts</a>
```
✅ adds 1 + 2 to equal 3 in TScript
✅ adds 1 + 2 to equal 3 in JavaScript
```
### ✅ <a id="user-content-r0s214" href="#user-content-r0s214">examples/typescript/__tests__/sum.test.js</a>
```
✅ adds 1 + 2 to equal 3 in Typescript
✅ adds 1 + 2 to equal 3 in JavaScript
```
### ✅ <a id="user-content-r0s215" href="#user-content-r0s215">packages/babel-jest/src/__tests__/index.ts</a>
```
✅ Returns source string with inline maps when no transformOptions is passed
✅ can pass null to createTransformer
caller option correctly merges from defaults and options
  ✅ {"supportsDynamicImport":true,"supportsStaticESM":true} -> {"supportsDynamicImport":true,"supportsStaticESM":true}
  ✅ {"supportsDynamicImport":false,"supportsStaticESM":false} -> {"supportsDynamicImport":false,"supportsStaticESM":false}
  ✅ {"supportsStaticESM":false} -> {"supportsDynamicImport":false,"supportsStaticESM":false}
  ✅ {"supportsDynamicImport":true} -> {"supportsDynamicImport":true,"supportsStaticESM":false}
```
### ✅ <a id="user-content-r0s216" href="#user-content-r0s216">packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts</a>
```
babel-plugin-jest-hoist
  ✅ automatic react runtime
  ✅ top level mocking
  ✅ within a block
  ✅ within a block with no siblings
```
### ✅ <a id="user-content-r0s217" href="#user-content-r0s217">packages/diff-sequences/src/__tests__/index.property.test.ts</a>
```
✅ should be reflexive
✅ should find the same number of common items when switching the inputs
✅ should have at most the length of its inputs
✅ should have at most the same number of each character as its inputs
✅ should be a subsequence of its inputs
✅ should be no-op when passing common items
✅ should find the exact common items when one array is subarray of the other
```
### ✅ <a id="user-content-r0s218" href="#user-content-r0s218">packages/diff-sequences/src/__tests__/index.test.ts</a>
```
invalid arg length
  ✅ is not a number
  ✅ Infinity is not a safe integer
  ✅ Not a Number is not a safe integer
  ✅ MAX_SAFE_INTEGER + 1 is not a safe integer
  ✅ MIN_SAFE_INTEGER - 1 is not a safe integer
  ✅ is a negative integer
invalid arg callback
  ✅ null is not a function
  ✅ undefined is not a function
input callback encapsulates comparison zero and negative zero
  ✅ are not common according to Object.is method
  ✅ are common according to === operator
input callback encapsulates comparison Not a Number
  ✅ is common according to Object.is method
  ✅ is not common according to === operator
input callback encapsulates sequences
  ✅ arrays of strings
  ✅ string and array of strings
  ✅ strings
no common items negative zero is equivalent to zero for length
  ✅ of a
  ✅ of b
  ✅ of a and b
no common items
  ✅ a empty and b empty
  ✅ a empty and b non-empty
  ✅ a non-empty and b empty
no common items a non-empty and b non-empty
  ✅ baDeltaLength 0 even
  ✅ baDeltaLength 1 odd
  ✅ baDeltaLength 2 even
  ✅ baDeltaLength 7 odd
only common items
  ✅ length 1
  ✅ length 2
all common items outside
  ✅ preceding changes
  ✅ following change
  ✅ preceding and following changes in one sequence
some common items inside and outside
  ✅ preceding changes adjacent to common in both sequences
  ✅ following changes adjacent to common in both sequences
all common items inside non-recursive
  ✅ move from start to end relative to change
  ✅ move from start to end relative to common
  ✅ move from start to end relative to change and common
  ✅ reverse relative to change
  ✅ preceding middle
  ✅ following middle
all common items inside recursive
  ✅ prev reverse at depth 1 and preceding at depth 2
  ✅ last forward at depth 1 and following at depth 2
  ✅ preceding at depth 2 and both at depth 3 of following
  ✅ interleaved single change
  ✅ interleaved double changes
  ✅ optimization decreases iMaxF
  ✅ optimization decreases iMaxR
common substrings
  ✅ progress
  ✅ regression
  ✅ wrapping
```
### ✅ <a id="user-content-r0s219" href="#user-content-r0s219">packages/expect/src/__tests__/assertionCounts.test.ts</a>
```
.assertions()
  ✅ does not throw
  ✅ redeclares different assertion count
  ✅ expects no assertions
.hasAssertions()
  ✅ does not throw if there is an assertion
  ✅ throws if expected is not undefined
  ✅ hasAssertions not leaking to global state
```
### ✅ <a id="user-content-r0s220" href="#user-content-r0s220">packages/expect/src/__tests__/asymmetricMatchers.test.ts</a>
```
✅ Any.asymmetricMatch()
✅ Any.toAsymmetricMatcher()
✅ Any.toAsymmetricMatcher() with function name
✅ Any throws when called with empty constructor
✅ Anything matches any type
✅ Anything does not match null and undefined
✅ Anything.toAsymmetricMatcher()
✅ ArrayContaining matches
✅ ArrayContaining does not match
✅ ArrayContaining throws for non-arrays
✅ ArrayNotContaining matches
✅ ArrayNotContaining does not match
✅ ArrayNotContaining throws for non-arrays
✅ ObjectContaining matches
✅ ObjectContaining does not match
✅ ObjectContaining matches defined properties
✅ ObjectContaining matches prototype properties
✅ ObjectContaining throws for non-objects
✅ ObjectContaining does not mutate the sample
✅ ObjectNotContaining matches
✅ ObjectNotContaining does not match
✅ ObjectNotContaining inverts ObjectContaining
✅ ObjectNotContaining throws for non-objects
✅ StringContaining matches string against string
✅ StringContaining throws if expected value is not string
✅ StringContaining returns false if received value is not string
✅ StringNotContaining matches string against string
✅ StringNotContaining throws if expected value is not string
✅ StringNotContaining returns true if received value is not string
✅ StringMatching matches string against regexp
✅ StringMatching matches string against string
✅ StringMatching throws if expected value is neither string nor regexp
✅ StringMatching returns false if received value is not string
✅ StringMatching returns false even if coerced non-string received value matches pattern
✅ StringNotMatching matches string against regexp
✅ StringNotMatching matches string against string
✅ StringNotMatching throws if expected value is neither string nor regexp
✅ StringNotMatching returns true if received value is not string
```
### ✅ <a id="user-content-r0s221" href="#user-content-r0s221">packages/expect/src/__tests__/extend.test.ts</a>
```
✅ is available globally when matcher is unary
✅ is available globally when matcher is variadic
✅ exposes matcherUtils in context
✅ is ok if there is no message specified
✅ exposes an equality function to custom matchers
✅ defines asymmetric unary matchers
✅ defines asymmetric unary matchers that can be prefixed by not
✅ defines asymmetric variadic matchers
✅ defines asymmetric variadic matchers that can be prefixed by not
✅ prints the Symbol into the error message
```
### ✅ <a id="user-content-r0s222" href="#user-content-r0s222">packages/expect/src/__tests__/isError.test.ts</a>
```
isError
  ✅ should not assume objects are errors
  ✅ should detect simple error instances
  ✅ should detect errors from another context
  ✅ should detect DOMException errors from another context
```
### ✅ <a id="user-content-r0s223" href="#user-content-r0s223">packages/expect/src/__tests__/matchers-toContain.property.test.ts</a>
```
toContain
  ✅ should always find the value when inside the array
  ✅ should not find the value if it has been cloned into the array
```
### ✅ <a id="user-content-r0s224" href="#user-content-r0s224">packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts</a>
```
toContainEqual
  ✅ should always find the value when inside the array
  ✅ should always find the value when cloned inside the array
```
### ✅ <a id="user-content-r0s225" href="#user-content-r0s225">packages/expect/src/__tests__/matchers-toEqual.property.test.ts</a>
```
toEqual
  ✅ should be reflexive
  ✅ should be symmetric
```
### ✅ <a id="user-content-r0s226" href="#user-content-r0s226">packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts</a>
```
toStrictEqual
  ✅ should be reflexive
  ✅ should be symmetric
toStrictEqual on node >=9
  ✅ should be equivalent to Node deepStrictEqual
```
### ✅ <a id="user-content-r0s227" href="#user-content-r0s227">packages/expect/src/__tests__/matchers.test.js</a>
```
✅ should throw if passed two arguments
.rejects
  ✅ should reject
  ✅ should reject with toThrow
  ✅ should reject async function to toThrow
  ✅ fails non-promise value "a" synchronously
  ✅ fails non-promise value "a"
  ✅ fails non-promise value [1] synchronously
  ✅ fails non-promise value [1]
  ✅ fails non-promise value [Function anonymous] synchronously
  ✅ fails non-promise value [Function anonymous]
  ✅ fails non-promise value {"a": 1} synchronously
  ✅ fails non-promise value {"a": 1}
  ✅ fails non-promise value 4 synchronously
  ✅ fails non-promise value 4
  ✅ fails non-promise value null synchronously
  ✅ fails non-promise value null
  ✅ fails non-promise value true synchronously
  ✅ fails non-promise value true
  ✅ fails non-promise value undefined synchronously
  ✅ fails non-promise value undefined
  ✅ fails for promise that resolves
.resolves
  ✅ should resolve
  ✅ fails non-promise value "a" synchronously
  ✅ fails non-promise value "a"
  ✅ fails non-promise value [1] synchronously
  ✅ fails non-promise value [1]
  ✅ fails non-promise value [Function anonymous] synchronously
  ✅ fails non-promise value [Function anonymous]
  ✅ fails non-promise value {"a": 1} synchronously
  ✅ fails non-promise value {"a": 1}
  ✅ fails non-promise value 4 synchronously
  ✅ fails non-promise value 4
  ✅ fails non-promise value null synchronously
  ✅ fails non-promise value null
  ✅ fails non-promise value true synchronously
  ✅ fails non-promise value true
  ✅ fails non-promise value undefined synchronously
  ✅ fails non-promise value undefined
  ✅ fails for promise that rejects
.toBe()
  ✅ does not throw
  ✅ fails for: 1 and 2
  ✅ fails for: true and false
  ✅ fails for: [Function anonymous] and [Function anonymous]
  ✅ fails for: {} and {}
  ✅ fails for: {"a": 1} and {"a": 1}
  ✅ fails for: {"a": 1} and {"a": 5}
  ✅ fails for: {"a": [Function a], "b": 2} and {"a": Any<Function>, "b": 2}
  ✅ fails for: {"a": undefined, "b": 2} and {"b": 2}
  ✅ fails for: 2020-02-20T00:00:00.000Z and 2020-02-20T00:00:00.000Z
  ✅ fails for: 2020-02-21T00:00:00.000Z and 2020-02-20T00:00:00.000Z
  ✅ fails for: /received/ and /expected/
  ✅ fails for: Symbol(received) and Symbol(expected)
  ✅ fails for: [Error: received] and [Error: expected]
  ✅ fails for: "abc" and "cde"
  ✅ fails for: "painless JavaScript testing" and "delightful JavaScript testing"
  ✅ fails for: "" and "compare one-line string to empty string"
  ✅ fails for: "with 
trailing space" and "without trailing space"
  ✅ fails for: "four
4
line
string" and "3
line
string"
  ✅ fails for: [] and []
  ✅ fails for: null and undefined
  ✅ fails for: -0 and 0
  ✅ fails for: 1n and 2n
  ✅ fails for: {"a": 1n} and {"a": 1n}
  ✅ fails for 'false' with '.not'
  ✅ fails for '1' with '.not'
  ✅ fails for '"a"' with '.not'
  ✅ fails for 'undefined' with '.not'
  ✅ fails for 'null' with '.not'
  ✅ fails for '{}' with '.not'
  ✅ fails for '[]' with '.not'
  ✅ fails for '1n' with '.not'
  ✅ fails for '1n' with '.not'
  ✅ does not crash on circular references
  ✅ assertion error matcherResult property contains matcher name, expected and actual values
.toStrictEqual()
  ✅ does not ignore keys with undefined values
  ✅ does not ignore keys with undefined values inside an array
  ✅ does not ignore keys with undefined values deep inside an object
  ✅ passes when comparing same type
  ✅ matches the expected snapshot when it fails
  ✅ displays substring diff
  ✅ displays substring diff for multiple lines
  ✅ does not pass for different types
  ✅ does not simply compare constructor names
  ✅ passes for matching sparse arrays
  ✅ does not pass when sparseness of arrays do not match
  ✅ does not pass when equally sparse arrays have different values
.toEqual()
  ✅ {pass: false} expect(true).toEqual(false)
  ✅ {pass: false} expect(1).toEqual(2)
  ✅ {pass: false} expect(0).toEqual(-0)
  ✅ {pass: false} expect(0).toEqual(5e-324)
  ✅ {pass: false} expect(5e-324).toEqual(0)
  ✅ {pass: false} expect(0).toEqual({})
  ✅ {pass: false} expect({}).toEqual(0)
  ✅ {pass: false} expect({}).toEqual({})
  ✅ {pass: false} expect("abc").toEqual({"0": "a", "1": "b", "2": "c"})
  ✅ {pass: false} expect({"0": "a", "1": "b", "2": "c"}).toEqual("abc")
  ✅ {pass: false} expect(/abc/gsy).toEqual(/abc/g)
  ✅ {pass: false} expect({"a": 1}).toEqual({"a": 2})
  ✅ {pass: false} expect({"a": 5}).toEqual({"b": 6})
  ✅ {pass: false} expect({"foo": {"bar": 1}}).toEqual({"foo": {}})
  ✅ {pass: false} expect({"getterAndSetter": {}}).toEqual({"getterAndSetter": {"foo": "bar"}})
  ✅ {pass: false} expect({"frozenGetterAndSetter": {}}).toEqual({"frozenGetterAndSetter": {"foo": "bar"}})
  ✅ {pass: false} expect({"getter": {}}).toEqual({"getter": {"foo": "bar"}})
  ✅ {pass: false} expect({"frozenGetter": {}}).toEqual({"frozenGetter": {"foo": "bar"}})
  ✅ {pass: false} expect({"setter": undefined}).toEqual({"setter": {"foo": "bar"}})
  ✅ {pass: false} expect({"frozenSetter": undefined}).toEqual({"frozenSetter": {"foo": "bar"}})
  ✅ {pass: false} expect("banana").toEqual("apple")
  ✅ {pass: false} expect("1 234,57 $").toEqual("1 234,57 $")
  ✅ {pass: false} expect("type TypeName<T> = T extends Function ? \"function\" : \"object\";").toEqual("type TypeName<T> = T extends Function
? \"function\"
: \"object\";")
  ✅ {pass: false} expect(null).toEqual(undefined)
  ✅ {pass: false} expect([1]).toEqual([2])
  ✅ {pass: false} expect([1, 2]).toEqual([2, 1])
  ✅ {pass: false} expect(Immutable.List [1]).toEqual(Immutable.List [2])
  ✅ {pass: false} expect(Immutable.List [1, 2]).toEqual(Immutable.List [2, 1])
  ✅ {pass: false} expect(Map {}).toEqual(Set {})
  ✅ {pass: false} expect(Set {1, 2}).toEqual(Set {})
  ✅ {pass: false} expect(Set {1, 2}).toEqual(Set {1, 2, 3})
  ✅ {pass: false} expect(Set {[1], [2]}).toEqual(Set {[1], [2], [3]})
  ✅ {pass: false} expect(Set {[1], [2]}).toEqual(Set {[1], [2], [2]})
  ✅ {pass: false} expect(Set {Set {1}, Set {2}}).toEqual(Set {Set {1}, Set {3}})
  ✅ {pass: false} expect(Immutable.Set [1, 2]).toEqual(Immutable.Set [])
  ✅ {pass: false} expect(Immutable.Set [1, 2]).toEqual(Immutable.Set [1, 2, 3])
  ✅ {pass: false} expect(Immutable.OrderedSet [1, 2]).toEqual(Immutable.OrderedSet [2, 1])
  ✅ {pass: false} expect(Map {1 => "one", 2 => "two"}).toEqual(Map {1 => "one"})
  ✅ {pass: false} expect(Map {"a" => 0}).toEqual(Map {"b" => 0})
  ✅ {pass: false} expect(Map {"v" => 1}).toEqual(Map {"v" => 2})
  ✅ {pass: false} expect(Map {["v"] => 1}).toEqual(Map {["v"] => 2})
  ✅ {pass: false} expect(Map {[1] => Map {[1] => "one"}}).toEqual(Map {[1] => Map {[1] => "two"}})
  ✅ {pass: false} expect(Immutable.Map {"a": 0}).toEqual(Immutable.Map {"b": 0})
  ✅ {pass: false} expect(Immutable.Map {"v": 1}).toEqual(Immutable.Map {"v": 2})
  ✅ {pass: false} expect(Immutable.OrderedMap {1: "one", 2: "two"}).toEqual(Immutable.OrderedMap {2: "two", 1: "one"})
  ✅ {pass: false} expect(Immutable.Map {"1": Immutable.Map {"2": {"a": 99}}}).toEqual(Immutable.Map {"1": Immutable.Map {"2": {"a": 11}}})
  ✅ {pass: false} expect([97, 98, 99]).toEqual([97, 98, 100])
  ✅ {pass: false} expect({"a": 1, "b": 2}).toEqual(ObjectContaining {"a": 2})
  ✅ {pass: false} expect(false).toEqual(ObjectContaining {"a": 2})
  ✅ {pass: false} expect([1, 3]).toEqual(ArrayContaining [1, 2])
  ✅ {pass: false} expect(1).toEqual(ArrayContaining [1, 2])
  ✅ {pass: false} expect("abd").toEqual(StringContaining "bc")
  ✅ {pass: false} expect("abd").toEqual(StringMatching /bc/i)
  ✅ {pass: false} expect(undefined).toEqual(Anything)
  ✅ {pass: false} expect(undefined).toEqual(Any<Function>)
  ✅ {pass: false} expect("Eve").toEqual({"asymmetricMatch": [Function asymmetricMatch]})
  ✅ {pass: false} expect({"target": {"nodeType": 1, "value": "a"}}).toEqual({"target": {"nodeType": 1, "value": "b"}})
  ✅ {pass: false} expect({"nodeName": "div", "nodeType": 1}).toEqual({"nodeName": "p", "nodeType": 1})
  ✅ {pass: false} expect({Symbol(foo): 1, Symbol(bar): 2}).toEqual({Symbol(foo): Any<Number>, Symbol(bar): 1})
  ✅ {pass: false} expect(1n).toEqual(2n)
  ✅ {pass: false} expect(1n).toEqual(1)
  ✅ {pass: true} expect(true).not.toEqual(true)
  ✅ {pass: true} expect(1).not.toEqual(1)
  ✅ {pass: true} expect(NaN).not.toEqual(NaN)
  ✅ {pass: true} expect(0).not.toEqual(0)
  ✅ {pass: true} expect(0).not.toEqual(0)
  ✅ {pass: true} expect({}).not.toEqual({})
  ✅ {pass: true} expect("abc").not.toEqual("abc")
  ✅ {pass: true} expect("abc").not.toEqual("abc")
  ✅ {pass: true} expect("abc").not.toEqual("abc")
  ✅ {pass: true} expect([1]).not.toEqual([1])
  ✅ {pass: true} expect([1, 2]).not.toEqual([1, 2])
  ✅ {pass: true} expect(Immutable.List [1]).not.toEqual(Immutable.List [1])
  ✅ {pass: true} expect(Immutable.List [1, 2]).not.toEqual(Immutable.List [1, 2])
  ✅ {pass: true} expect({}).not.toEqual({})
  ✅ {pass: true} expect({"a": 99}).not.toEqual({"a": 99})
  ✅ {pass: true} expect(Set {}).not.toEqual(Set {})
  ✅ {pass: true} expect(Set {1, 2}).not.toEqual(Set {1, 2})
  ✅ {pass: true} expect(Set {1, 2}).not.toEqual(Set {2, 1})
  ✅ {pass: true} expect(Set {[1], [2]}).not.toEqual(Set {[2], [1]})
  ✅ {pass: true} expect(Set {Set {[1]}, Set {[2]}}).not.toEqual(Set {Set {[2]}, Set {[1]}})
  ✅ {pass: true} expect(Set {[1], [2], [3], [3]}).not.toEqual(Set {[3], [3], [2], [1]})
  ✅ {pass: true} expect(Set {{"a": 1}, {"b": 2}}).not.toEqual(Set {{"b": 2}, {"a": 1}})
  ✅ {pass: true} expect(Immutable.Set []).not.toEqual(Immutable.Set [])
  ✅ {pass: true} expect(Immutable.Set [1, 2]).not.toEqual(Immutable.Set [1, 2])
  ✅ {pass: true} expect(Immutable.Set [1, 2]).not.toEqual(Immutable.Set [2, 1])
  ✅ {pass: true} expect(Immutable.OrderedSet []).not.toEqual(Immutable.OrderedSet [])
  ✅ {pass: true} expect(Immutable.OrderedSet [1, 2]).not.toEqual(Immutable.OrderedSet [1, 2])
  ✅ {pass: true} expect(Map {}).not.toEqual(Map {})
  ✅ {pass: true} expect(Map {1 => "one", 2 => "two"}).not.toEqual(Map {1 => "one", 2 => "two"})
  ✅ {pass: true} expect(Map {1 => "one", 2 => "two"}).not.toEqual(Map {2 => "two", 1 => "one"})
  ✅ {pass: true} expect(Map {[1] => "one", [2] => "two", [3] => "three", [3] => "four"}).not.toEqual(Map {[3] => "three", [3] => "four", [2] => "two", [1] => "one"})
  ✅ {pass: true} expect(Map {[1] => Map {[1] => "one"}, [2] => Map {[2] => "two"}}).not.toEqual(Map {[2] => Map {[2] => "two"}, [1] => Map {[1] => "one"}})
  ✅ {pass: true} expect(Map {[1] => "one", [2] => "two"}).not.toEqual(Map {[2] => "two", [1] => "one"})
  ✅ {pass: true} expect(Map {{"a": 1} => "one", {"b": 2} => "two"}).not.toEqual(Map {{"b": 2} => "two", {"a": 1} => "one"})
  ✅ {pass: true} expect(Map {1 => ["one"], 2 => ["two"]}).not.toEqual(Map {2 => ["two"], 1 => ["one"]})
  ✅ {pass: true} expect(Immutable.Map {}).not.toEqual(Immutable.Map {})
  ✅ {pass: true} expect(Immutable.Map {1: "one", 2: "two"}).not.toEqual(Immutable.Map {1: "one", 2: "two"})
  ✅ {pass: true} expect(Immutable.Map {1: "one", 2: "two"}).not.toEqual(Immutable.Map {2: "two", 1: "one"})
  ✅ {pass: true} expect(Immutable.OrderedMap {1: "one", 2: "two"}).not.toEqual(Immutable.OrderedMap {1: "one", 2: "two"})
  ✅ {pass: true} expect(Immutable.Map {"1": Immutable.Map {"2": {"a": 99}}}).not.toEqual(Immutable.Map {"1": Immutable.Map {"2": {"a": 99}}})
  ✅ {pass: true} expect([97, 98, 99]).not.toEqual([97, 98, 99])
  ✅ {pass: true} expect({"a": 1, "b": 2}).not.toEqual(ObjectContaining {"a": 1})
  ✅ {pass: true} expect([1, 2, 3]).not.toEqual(ArrayContaining [2, 3])
  ✅ {pass: true} expect("abcd").not.toEqual(StringContaining "bc")
  ✅ {pass: true} expect("abcd").not.toEqual(StringMatching /bc/)
  ✅ {pass: true} expect(true).not.toEqual(Anything)
  ✅ {pass: true} expect([Function anonymous]).not.toEqual(Any<Function>)
  ✅ {pass: true} expect({"a": 1, "b": [Function b], "c": true}).not.toEqual({"a": 1, "b": Any<Function>, "c": Anything})
  ✅ {pass: true} expect("Alice").not.toEqual({"asymmetricMatch": [Function asymmetricMatch]})
  ✅ {pass: true} expect({"nodeName": "div", "nodeType": 1}).not.toEqual({"nodeName": "div", "nodeType": 1})
  ✅ {pass: true} expect({Symbol(foo): 1, Symbol(bar): 2}).not.toEqual({Symbol(foo): Any<Number>, Symbol(bar): 2})
  ✅ {pass: true} expect(1n).not.toEqual(1n)
  ✅ {pass: true} expect(0n).not.toEqual(0n)
  ✅ {pass: true} expect([1n]).not.toEqual([1n])
  ✅ {pass: true} expect([1n, 2]).not.toEqual([1n, 2])
  ✅ {pass: true} expect(Immutable.List [1n]).not.toEqual(Immutable.List [1n])
  ✅ {pass: true} expect({"a": 99n}).not.toEqual({"a": 99n})
  ✅ {pass: true} expect(Set {1n, 2n}).not.toEqual(Set {1n, 2n})
  ✅ assertion error matcherResult property contains matcher name, expected and actual values
  ✅ symbol based keys in arrays are processed correctly
  ✅ non-enumerable members should be skipped during equal
  ✅ non-enumerable symbolic members should be skipped during equal
.toEqual() cyclic object equality
  ✅ properties with the same circularity are equal
  ✅ properties with different circularity are not equal
  ✅ are not equal if circularity is not on the same property
.toBeInstanceOf()
  ✅ passing Map {} and [Function Map]
  ✅ passing [] and [Function Array]
  ✅ passing {} and [Function A]
  ✅ passing {} and [Function B]
  ✅ passing {} and [Function B]
  ✅ passing {} and [Function anonymous]
  ✅ passing {} and [Function B]
  ✅ passing {} and [Function name() {}]
  ✅ failing "a" and [Function String]
  ✅ failing 1 and [Function Number]
  ✅ failing true and [Function Boolean]
  ✅ failing {} and [Function B]
  ✅ failing {} and [Function A]
  ✅ failing undefined and [Function String]
  ✅ failing null and [Function String]
  ✅ failing /\w+/ and [Function anonymous]
  ✅ failing {} and [Function RegExp]
  ✅ throws if constructor is not a function
.toBeTruthy(), .toBeFalsy()
  ✅ does not accept arguments
  ✅ '{}' is truthy
  ✅ '[]' is truthy
  ✅ 'true' is truthy
  ✅ '1' is truthy
  ✅ '"a"' is truthy
  ✅ '0.5' is truthy
  ✅ 'Map {}' is truthy
  ✅ '[Function anonymous]' is truthy
  ✅ 'Infinity' is truthy
  ✅ '1n' is truthy
  ✅ 'false' is falsy
  ✅ 'null' is falsy
  ✅ 'NaN' is falsy
  ✅ '0' is falsy
  ✅ '""' is falsy
  ✅ 'undefined' is falsy
  ✅ '0n' is falsy
.toBeNaN()
  ✅ {pass: true} expect(NaN).toBeNaN()
  ✅ throws
.toBeNull()
  ✅ fails for '{}'
  ✅ fails for '[]'
  ✅ fails for 'true'
  ✅ fails for '1'
  ✅ fails for '"a"'
  ✅ fails for '0.5'
  ✅ fails for 'Map {}'
  ✅ fails for '[Function anonymous]'
  ✅ fails for 'Infinity'
  ✅ fails for null with .not
  ✅ pass for null
.toBeDefined(), .toBeUndefined()
  ✅ '{}' is defined
  ✅ '[]' is defined
  ✅ 'true' is defined
  ✅ '1' is defined
  ✅ '"a"' is defined
  ✅ '0.5' is defined
  ✅ 'Map {}' is defined
  ✅ '[Function anonymous]' is defined
  ✅ 'Infinity' is defined
  ✅ '1n' is defined
  ✅ undefined is undefined
.toBeGreaterThan(), .toBeLessThan(), .toBeGreaterThanOrEqual(), .toBeLessThanOrEqual()
  ✅ {pass: true} expect(1).toBeLessThan(2)
  ✅ {pass: false} expect(2).toBeLessThan(1)
  ✅ {pass: true} expect(2).toBeGreaterThan(1)
  ✅ {pass: false} expect(1).toBeGreaterThan(2)
  ✅ {pass: true} expect(1).toBeLessThanOrEqual(2)
  ✅ {pass: false} expect(2).toBeLessThanOrEqual(1)
  ✅ {pass: true} expect(2).toBeGreaterThanOrEqual(1)
  ✅ {pass: false} expect(1).toBeGreaterThanOrEqual(2)
  ✅ throws: [1, 2]
  ✅ {pass: true} expect(-Infinity).toBeLessThan(Infinity)
  ✅ {pass: false} expect(Infinity).toBeLessThan(-Infinity)
  ✅ {pass: true} expect(Infinity).toBeGreaterThan(-Infinity)
  ✅ {pass: false} expect(-Infinity).toBeGreaterThan(Infinity)
  ✅ {pass: true} expect(-Infinity).toBeLessThanOrEqual(Infinity)
  ✅ {pass: false} expect(Infinity).toBeLessThanOrEqual(-Infinity)
  ✅ {pass: true} expect(Infinity).toBeGreaterThanOrEqual(-Infinity)
  ✅ {pass: false} expect(-Infinity).toBeGreaterThanOrEqual(Infinity)
  ✅ throws: [-Infinity, Infinity]
  ✅ {pass: true} expect(5e-324).toBeLessThan(1.7976931348623157e+308)
  ✅ {pass: false} expect(1.7976931348623157e+308).toBeLessThan(5e-324)
  ✅ {pass: true} expect(1.7976931348623157e+308).toBeGreaterThan(5e-324)
  ✅ {pass: false} expect(5e-324).toBeGreaterThan(1.7976931348623157e+308)
  ✅ {pass: true} expect(5e-324).toBeLessThanOrEqual(1.7976931348623157e+308)
  ✅ {pass: false} expect(1.7976931348623157e+308).toBeLessThanOrEqual(5e-324)
  ✅ {pass: true} expect(1.7976931348623157e+308).toBeGreaterThanOrEqual(5e-324)
  ✅ {pass: false} expect(5e-324).toBeGreaterThanOrEqual(1.7976931348623157e+308)
  ✅ throws: [5e-324, 1.7976931348623157e+308]
  ✅ {pass: true} expect(17).toBeLessThan(34)
  ✅ {pass: false} expect(34).toBeLessThan(17)
  ✅ {pass: true} expect(34).toBeGreaterThan(17)
  ✅ {pass: false} expect(17).toBeGreaterThan(34)
  ✅ {pass: true} expect(17).toBeLessThanOrEqual(34)
  ✅ {pass: false} expect(34).toBeLessThanOrEqual(17)
  ✅ {pass: true} expect(34).toBeGreaterThanOrEqual(17)
  ✅ {pass: false} expect(17).toBeGreaterThanOrEqual(34)
  ✅ throws: [17, 34]
  ✅ {pass: true} expect(3).toBeLessThan(7)
  ✅ {pass: false} expect(7).toBeLessThan(3)
  ✅ {pass: true} expect(7).toBeGreaterThan(3)
  ✅ {pass: false} expect(3).toBeGreaterThan(7)
  ✅ {pass: true} expect(3).toBeLessThanOrEqual(7)
  ✅ {pass: false} expect(7).toBeLessThanOrEqual(3)
  ✅ {pass: true} expect(7).toBeGreaterThanOrEqual(3)
  ✅ {pass: false} expect(3).toBeGreaterThanOrEqual(7)
  ✅ throws: [3, 7]
  ✅ {pass: true} expect(9).toBeLessThan(18)
  ✅ {pass: false} expect(18).toBeLessThan(9)
  ✅ {pass: true} expect(18).toBeGreaterThan(9)
  ✅ {pass: false} expect(9).toBeGreaterThan(18)
  ✅ {pass: true} expect(9).toBeLessThanOrEqual(18)
  ✅ {pass: false} expect(18).toBeLessThanOrEqual(9)
  ✅ {pass: true} expect(18).toBeGreaterThanOrEqual(9)
  ✅ {pass: false} expect(9).toBeGreaterThanOrEqual(18)
  ✅ throws: [9, 18]
  ✅ {pass: true} expect(0.1).toBeLessThan(0.2)
  ✅ {pass: false} expect(0.2).toBeLessThan(0.1)
  ✅ {pass: true} expect(0.2).toBeGreaterThan(0.1)
  ✅ {pass: false} expect(0.1).toBeGreaterThan(0.2)
  ✅ {pass: true} expect(0.1).toBeLessThanOrEqual(0.2)
  ✅ {pass: false} expect(0.2).toBeLessThanOrEqual(0.1)
  ✅ {pass: true} expect(0.2).toBeGreaterThanOrEqual(0.1)
  ✅ {pass: false} expect(0.1).toBeGreaterThanOrEqual(0.2)
  ✅ throws: [0.1, 0.2]
  ✅ can compare BigInt to Numbers
  ✅ {pass: true} expect(1n).toBeLessThan(2n)
  ✅ {pass: false} expect(2n).toBeLessThan(1n)
  ✅ {pass: true} expect(2n).toBeGreaterThan(1n)
  ✅ {pass: false} expect(1n).toBeGreaterThan(2n)
  ✅ {pass: true} expect(1n).toBeLessThanOrEqual(2n)
  ✅ {pass: false} expect(2n).toBeLessThanOrEqual(1n)
  ✅ {pass: true} expect(2n).toBeGreaterThanOrEqual(1n)
  ✅ {pass: false} expect(1n).toBeGreaterThanOrEqual(2n)
  ✅ throws: [1n, 2n]
  ✅ {pass: true} expect(17n).toBeLessThan(34n)
  ✅ {pass: false} expect(34n).toBeLessThan(17n)
  ✅ {pass: true} expect(34n).toBeGreaterThan(17n)
  ✅ {pass: false} expect(17n).toBeGreaterThan(34n)
  ✅ {pass: true} expect(17n).toBeLessThanOrEqual(34n)
  ✅ {pass: false} expect(34n).toBeLessThanOrEqual(17n)
  ✅ {pass: true} expect(34n).toBeGreaterThanOrEqual(17n)
  ✅ {pass: false} expect(17n).toBeGreaterThanOrEqual(34n)
  ✅ throws: [17n, 34n]
  ✅ {pass: true} expect(-1).toBeLessThan(2n)
  ✅ {pass: false} expect(2n).toBeLessThan(-1)
  ✅ {pass: true} expect(2n).toBeGreaterThan(-1)
  ✅ {pass: false} expect(-1).toBeGreaterThan(2n)
  ✅ {pass: true} expect(-1).toBeLessThanOrEqual(2n)
  ✅ {pass: false} expect(2n).toBeLessThanOrEqual(-1)
  ✅ {pass: true} expect(2n).toBeGreaterThanOrEqual(-1)
  ✅ {pass: false} expect(-1).toBeGreaterThanOrEqual(2n)
  ✅ throws: [-1, 2n]
  ✅ equal numbers: [1, 1]
  ✅ equal numbers: [5e-324, 5e-324]
  ✅ equal numbers: [1.7976931348623157e+308, 1.7976931348623157e+308]
  ✅ equal numbers: [Infinity, Infinity]
  ✅ equal numbers: [-Infinity, -Infinity]
  ✅ equal numbers: [1, 1]
  ✅ equal numbers: [9007199254740991, 9007199254740991]
.toContain(), .toContainEqual()
  ✅ iterable
  ✅ '[1, 2, 3, 4]' contains '1'
  ✅ '["a", "b", "c", "d"]' contains '"a"'
  ✅ '[undefined, null]' contains 'null'
  ✅ '[undefined, null]' contains 'undefined'
  ✅ '[Symbol(a)]' contains 'Symbol(a)'
  ✅ '"abcdef"' contains '"abc"'
  ✅ '"11112111"' contains '"2"'
  ✅ 'Set {"abc", "def"}' contains '"abc"'
  ✅ '[0, 1]' contains '1'
  ✅ '[1n, 2n, 3n, 4n]' contains '1n'
  ✅ '[1, 2, 3, 3n, 4]' contains '3n'
  ✅ '[1, 2, 3]' does not contain '4'
  ✅ '[null, undefined]' does not contain '1'
  ✅ '[{}, []]' does not contain '[]'
  ✅ '[{}, []]' does not contain '{}'
  ✅ '[1n, 2n, 3n]' does not contain '3'
  ✅ error cases
  ✅ '[1, 2, 3, 4]' contains a value equal to '1'
  ✅ '["a", "b", "c", "d"]' contains a value equal to '"a"'
  ✅ '[undefined, null]' contains a value equal to 'null'
  ✅ '[undefined, null]' contains a value equal to 'undefined'
  ✅ '[Symbol(a)]' contains a value equal to 'Symbol(a)'
  ✅ '[{"a": "b"}, {"a": "c"}]' contains a value equal to '{"a": "b"}'
  ✅ 'Set {1, 2, 3, 4}' contains a value equal to '1'
  ✅ '[0, 1]' contains a value equal to '1'
  ✅ '[{"a": "b"}, {"a": "c"}]' does not contain a value equal to'{"a": "d"}'
  ✅ error cases for toContainEqual
.toBeCloseTo
  ✅ {pass: true} expect(0).toBeCloseTo(0)
  ✅ {pass: true} expect(0).toBeCloseTo(0.001)
  ✅ {pass: true} expect(1.23).toBeCloseTo(1.229)
  ✅ {pass: true} expect(1.23).toBeCloseTo(1.226)
  ✅ {pass: true} expect(1.23).toBeCloseTo(1.225)
  ✅ {pass: true} expect(1.23).toBeCloseTo(1.234)
  ✅ {pass: true} expect(Infinity).toBeCloseTo(Infinity)
  ✅ {pass: true} expect(-Infinity).toBeCloseTo(-Infinity)
  ✅ {pass: false} expect(0).toBeCloseTo(0.01)
  ✅ {pass: false} expect(1).toBeCloseTo(1.23)
  ✅ {pass: false} expect(1.23).toBeCloseTo(1.2249999)
  ✅ {pass: false} expect(Infinity).toBeCloseTo(-Infinity)
  ✅ {pass: false} expect(Infinity).toBeCloseTo(1.23)
  ✅ {pass: false} expect(-Infinity).toBeCloseTo(-1.23)
  ✅ {pass: false} expect(3.141592e-7).toBeCloseTo(3e-7, 8)
  ✅ {pass: false} expect(56789).toBeCloseTo(51234, -4)
  ✅ {pass: true} expect(0).toBeCloseTo(0.1, 0)
  ✅ {pass: true} expect(0).toBeCloseTo(0.0001, 3)
  ✅ {pass: true} expect(0).toBeCloseTo(0.000004, 5)
  ✅ {pass: true} expect(2.0000002).toBeCloseTo(2, 5)
.toBeCloseTo throws: Matcher error
  ✅ promise empty isNot false received
  ✅ promise empty isNot true expected
  ✅ promise rejects isNot false expected
  ✅ promise rejects isNot true received
  ✅ promise resolves isNot false received
  ✅ promise resolves isNot true expected
.toMatch()
  ✅ {pass: true} expect(foo).toMatch(foo)
  ✅ {pass: true} expect(Foo bar).toMatch(/^foo/i)
  ✅ throws: [bar, foo]
  ✅ throws: [bar, /foo/]
  ✅ throws if non String actual value passed: [1, "foo"]
  ✅ throws if non String actual value passed: [{}, "foo"]
  ✅ throws if non String actual value passed: [[], "foo"]
  ✅ throws if non String actual value passed: [true, "foo"]
  ✅ throws if non String actual value passed: [/foo/i, "foo"]
  ✅ throws if non String actual value passed: [[Function anonymous], "foo"]
  ✅ throws if non String actual value passed: [undefined, "foo"]
  ✅ throws if non String/RegExp expected value passed: ["foo", 1]
  ✅ throws if non String/RegExp expected value passed: ["foo", {}]
  ✅ throws if non String/RegExp expected value passed: ["foo", []]
  ✅ throws if non String/RegExp expected value passed: ["foo", true]
  ✅ throws if non String/RegExp expected value passed: ["foo", [Function anonymous]]
  ✅ throws if non String/RegExp expected value passed: ["foo", undefined]
  ✅ escapes strings properly
  ✅ does not maintain RegExp state between calls
.toHaveLength
  ✅ {pass: true} expect([1, 2]).toHaveLength(2)
  ✅ {pass: true} expect([]).toHaveLength(0)
  ✅ {pass: true} expect(["a", "b"]).toHaveLength(2)
  ✅ {pass: true} expect("abc").toHaveLength(3)
  ✅ {pass: true} expect("").toHaveLength(0)
  ✅ {pass: true} expect([Function anonymous]).toHaveLength(0)
  ✅ {pass: false} expect([1, 2]).toHaveLength(3)
  ✅ {pass: false} expect([]).toHaveLength(1)
  ✅ {pass: false} expect(["a", "b"]).toHaveLength(99)
  ✅ {pass: false} expect("abc").toHaveLength(66)
  ✅ {pass: false} expect("").toHaveLength(1)
  ✅ error cases
.toHaveLength matcher error expected length
  ✅ not number
  ✅ number Infinity
  ✅ number NaN
  ✅ number float
  ✅ number negative integer
.toHaveProperty()
  ✅ {pass: true} expect({"a": {"b": {"c": {"d": 1}}}}).toHaveProperty('a.b.c.d', 1)
  ✅ {pass: true} expect({"a": {"b": {"c": {"d": 1}}}}).toHaveProperty('a,b,c,d', 1)
  ✅ {pass: true} expect({"a.b.c.d": 1}).toHaveProperty('a.b.c.d', 1)
  ✅ {pass: true} expect({"a": {"b": [1, 2, 3]}}).toHaveProperty('a,b,1', 2)
  ✅ {pass: true} expect({"a": {"b": [1, 2, 3]}}).toHaveProperty('a,b,1', Any<Number>)
  ✅ {pass: true} expect({"a": 0}).toHaveProperty('a', 0)
  ✅ {pass: true} expect({"a": {"b": undefined}}).toHaveProperty('a.b', undefined)
  ✅ {pass: true} expect({"a": {}}).toHaveProperty('a.b', undefined)
  ✅ {pass: true} expect({"a": {"b": {"c": 5}}}).toHaveProperty('a.b', {"c": 5})
  ✅ {pass: true} expect({"property": 1}).toHaveProperty('property', 1)
  ✅ {pass: true} expect({}).toHaveProperty('a', undefined)
  ✅ {pass: true} expect({}).toHaveProperty('b', "b")
  ✅ {pass: true} expect({}).toHaveProperty('setter', undefined)
  ✅ {pass: true} expect({"val": true}).toHaveProperty('a', undefined)
  ✅ {pass: true} expect({"val": true}).toHaveProperty('c', "c")
  ✅ {pass: true} expect({"val": true}).toHaveProperty('val', true)
  ✅ {pass: true} expect({"nodeName": "DIV"}).toHaveProperty('nodeType', 1)
  ✅ {pass: true} expect("").toHaveProperty('length', 0)
  ✅ {pass: true} expect([Function memoized]).toHaveProperty('memo', [])
  ✅ {pass: false} expect({"a": {"b": {"c": {"d": 1}}}}).toHaveProperty('a.b.ttt.d', 1)
  ✅ {pass: false} expect({"a": {"b": {"c": {"d": 1}}}}).toHaveProperty('a.b.c.d', 2)
  ✅ {pass: false} expect({"a.b.c.d": 1}).toHaveProperty('a.b.c.d', 2)
  ✅ {pass: false} expect({"a.b.c.d": 1}).toHaveProperty('a.b.c.d', 2)
  ✅ {pass: false} expect({"children": ["\"That cartoon\""], "props": null, "type": "p"}).toHaveProperty('children,0', "\"That cat cartoon\"")
  ✅ {pass: false} expect({"children": ["Roses are red.
Violets are blue.
Testing with Jest is good for you."], "props": null, "type": "pre"}).toHaveProperty('children,0', "Roses are red, violets are blue.
Testing with Jest
Is good for you.")
  ✅ {pass: false} expect({"a": {"b": {"c": {"d": 1}}}}).toHaveProperty('a,b,c,d', 2)
  ✅ {pass: false} expect({"a": {"b": {"c": {}}}}).toHaveProperty('a.b.c.d', 1)
  ✅ {pass: false} expect({"a": 1}).toHaveProperty('a.b.c.d', 5)
  ✅ {pass: false} expect({}).toHaveProperty('a', "test")
  ✅ {pass: false} expect({"a": {"b": 3}}).toHaveProperty('a.b', undefined)
  ✅ {pass: false} expect(1).toHaveProperty('a.b.c', "test")
  ✅ {pass: false} expect("abc").toHaveProperty('a.b.c', {"a": 5})
  ✅ {pass: false} expect({"a": {"b": {"c": 5}}}).toHaveProperty('a.b', {"c": 4})
  ✅ {pass: false} expect({}).toHaveProperty('a', "a")
  ✅ {pass: false} expect({}).toHaveProperty('b', undefined)
  ✅ {pass: true} expect({"a": {"b": {"c": {"d": 1}}}}).toHaveProperty('a.b.c.d')
  ✅ {pass: true} expect({"a": {"b": {"c": {"d": 1}}}}).toHaveProperty('a,b,c,d')
  ✅ {pass: true} expect({"a.b.c.d": 1}).toHaveProperty('a.b.c.d')
  ✅ {pass: true} expect({"a": {"b": [1, 2, 3]}}).toHaveProperty('a,b,1')
  ✅ {pass: true} expect({"a": 0}).toHaveProperty('a')
  ✅ {pass: true} expect({"a": {"b": undefined}}).toHaveProperty('a.b')
  ✅ {pass: false} expect({"a": {"b": {"c": {}}}}).toHaveProperty('a.b.c.d')
  ✅ {pass: false} expect({"a": 1}).toHaveProperty('a.b.c.d')
  ✅ {pass: false} expect({}).toHaveProperty('a')
  ✅ {pass: false} expect(1).toHaveProperty('a.b.c')
  ✅ {pass: false} expect("abc").toHaveProperty('a.b.c')
  ✅ {pass: false} expect(false).toHaveProperty('key')
  ✅ {pass: false} expect(0).toHaveProperty('key')
  ✅ {pass: false} expect("").toHaveProperty('key')
  ✅ {pass: false} expect(Symbol()).toHaveProperty('key')
  ✅ {pass: false} expect({"key": 1}).toHaveProperty('not')
  ✅ {error} expect(null).toHaveProperty('a.b')
  ✅ {error} expect(undefined).toHaveProperty('a')
  ✅ {error} expect({"a": {"b": {}}}).toHaveProperty('undefined')
  ✅ {error} expect({"a": {"b": {}}}).toHaveProperty('null')
  ✅ {error} expect({"a": {"b": {}}}).toHaveProperty('1')
  ✅ {error} expect({}).toHaveProperty('')
toMatchObject() circular references simple circular references
  ✅ {pass: true} expect({"a": "hello", "ref": [Circular]}).toMatchObject({})
  ✅ {pass: true} expect({"a": "hello", "ref": [Circular]}).toMatchObject({"a": "hello", "ref": [Circular]})
  ✅ {pass: false} expect({}).toMatchObject({"a": "hello", "ref": [Circular]})
  ✅ {pass: false} expect({"a": "hello", "ref": [Circular]}).toMatchObject({"a": "world", "ref": [Circular]})
  ✅ {pass: false} expect({"ref": "not a ref"}).toMatchObject({"a": "hello", "ref": [Circular]})
toMatchObject() circular references transitive circular references
  ✅ {pass: true} expect({"a": "hello", "nestedObj": {"parentObj": [Circular]}}).toMatchObject({})
  ✅ {pass: true} expect({"a": "hello", "nestedObj": {"parentObj": [Circular]}}).toMatchObject({"a": "hello", "nestedObj": {"parentObj": [Circular]}})
  ✅ {pass: false} expect({}).toMatchObject({"a": "hello", "nestedObj": {"parentObj": [Circular]}})
  ✅ {pass: false} expect({"a": "world", "nestedObj": {"parentObj": [Circular]}}).toMatchObject({"a": "hello", "nestedObj": {"parentObj": [Circular]}})
  ✅ {pass: false} expect({"nestedObj": {"parentObj": "not the parent ref"}}).toMatchObject({"a": "hello", "nestedObj": {"parentObj": [Circular]}})
toMatchObject()
  ✅ {pass: true} expect({"a": "b", "c": "d"}).toMatchObject({"a": "b"})
  ✅ {pass: true} expect({"a": "b", "c": "d"}).toMatchObject({"a": "b", "c": "d"})
  ✅ {pass: true} expect({"a": "b", "t": {"x": {"r": "r"}, "z": "z"}}).toMatchObject({"a": "b", "t": {"z": "z"}})
  ✅ {pass: true} expect({"a": "b", "t": {"x": {"r": "r"}, "z": "z"}}).toMatchObject({"t": {"x": {"r": "r"}}})
  ✅ {pass: true} expect({"a": [3, 4, 5], "b": "b"}).toMatchObject({"a": [3, 4, 5]})
  ✅ {pass: true} expect({"a": [3, 4, 5, "v"], "b": "b"}).toMatchObject({"a": [3, 4, 5, "v"]})
  ✅ {pass: true} expect({"a": 1, "c": 2}).toMatchObject({"a": Any<Number>})
  ✅ {pass: true} expect({"a": {"x": "x", "y": "y"}}).toMatchObject({"a": {"x": Any<String>}})
  ✅ {pass: true} expect(Set {1, 2}).toMatchObject(Set {1, 2})
  ✅ {pass: true} expect(Set {1, 2}).toMatchObject(Set {2, 1})
  ✅ {pass: true} expect(2015-11-30T00:00:00.000Z).toMatchObject(2015-11-30T00:00:00.000Z)
  ✅ {pass: true} expect({"a": 2015-11-30T00:00:00.000Z, "b": "b"}).toMatchObject({"a": 2015-11-30T00:00:00.000Z})
  ✅ {pass: true} expect({"a": null, "b": "b"}).toMatchObject({"a": null})
  ✅ {pass: true} expect({"a": undefined, "b": "b"}).toMatchObject({"a": undefined})
  ✅ {pass: true} expect({"a": [{"a": "a", "b": "b"}]}).toMatchObject({"a": [{"a": "a"}]})
  ✅ {pass: true} expect([1, 2]).toMatchObject([1, 2])
  ✅ {pass: true} expect({"a": undefined}).toMatchObject({"a": undefined})
  ✅ {pass: true} expect([]).toMatchObject([])
  ✅ {pass: true} expect([Error: foo]).toMatchObject([Error: foo])
  ✅ {pass: true} expect([Error: bar]).toMatchObject({"message": "bar"})
  ✅ {pass: true} expect({}).toMatchObject({"a": undefined, "b": "b"})
  ✅ {pass: true} expect({"a": "b"}).toMatchObject({"a": "b"})
  ✅ {pass: true} expect({"a": "b", "c": "d", Symbol(jest): "jest"}).toMatchObject({"a": "b", Symbol(jest): "jest"})
  ✅ {pass: true} expect({"a": "b", "c": "d", Symbol(jest): "jest"}).toMatchObject({"a": "b", "c": "d", Symbol(jest): "jest"})
  ✅ {pass: true} expect({}).toMatchObject({"a": undefined, "b": "b", "c": "c"})
  ✅ {pass: true} expect({}).toMatchObject({"d": 4})
  ✅ {pass: true} expect({"a": "b", "toString": [Function toString]}).toMatchObject({"toString": Any<Function>})
  ✅ {pass: false} expect({"a": "b", "c": "d"}).toMatchObject({"e": "b"})
  ✅ {pass: false} expect({"a": "b", "c": "d"}).toMatchObject({"a": "b!", "c": "d"})
  ✅ {pass: false} expect({"a": "a", "c": "d"}).toMatchObject({"a": Any<Number>})
  ✅ {pass: false} expect({"a": "b", "t": {"x": {"r": "r"}, "z": "z"}}).toMatchObject({"a": "b", "t": {"z": [3]}})
  ✅ {pass: false} expect({"a": "b", "t": {"x": {"r": "r"}, "z": "z"}}).toMatchObject({"t": {"l": {"r": "r"}}})
  ✅ {pass: false} expect({"a": [3, 4, 5], "b": "b"}).toMatchObject({"a": [3, 4, 5, 6]})
  ✅ {pass: false} expect({"a": [3, 4, 5], "b": "b"}).toMatchObject({"a": [3, 4]})
  ✅ {pass: false} expect({"a": [3, 4, "v"], "b": "b"}).toMatchObject({"a": ["v"]})
  ✅ {pass: false} expect({"a": [3, 4, 5], "b": "b"}).toMatchObject({"a": {"b": 4}})
  ✅ {pass: false} expect({"a": [3, 4, 5], "b": "b"}).toMatchObject({"a": {"b": Any<String>}})
  ✅ {pass: false} expect([1, 2]).toMatchObject([1, 3])
  ✅ {pass: false} expect([0]).toMatchObject([-0])
  ✅ {pass: false} expect(Set {1, 2}).toMatchObject(Set {2})
  ✅ {pass: false} expect(2015-11-30T00:00:00.000Z).toMatchObject(2015-10-10T00:00:00.000Z)
  ✅ {pass: false} expect({"a": 2015-11-30T00:00:00.000Z, "b": "b"}).toMatchObject({"a": 2015-10-10T00:00:00.000Z})
  ✅ {pass: false} expect({"a": null, "b": "b"}).toMatchObject({"a": "4"})
  ✅ {pass: false} expect({"a": null, "b": "b"}).toMatchObject({"a": undefined})
  ✅ {pass: false} expect({"a": undefined}).toMatchObject({"a": null})
  ✅ {pass: false} expect({"a": [{"a": "a", "b": "b"}]}).toMatchObject({"a": [{"a": "c"}]})
  ✅ {pass: false} expect({"a": 1, "b": 1, "c": 1, "d": {"e": {"f": 555}}}).toMatchObject({"d": {"e": {"f": 222}}})
  ✅ {pass: false} expect({}).toMatchObject({"a": undefined})
  ✅ {pass: false} expect([1, 2, 3]).toMatchObject([2, 3, 1])
  ✅ {pass: false} expect([1, 2, 3]).toMatchObject([1, 2, 2])
  ✅ {pass: false} expect([Error: foo]).toMatchObject([Error: bar])
  ✅ {pass: false} expect({"a": "b"}).toMatchObject({"c": "d"})
  ✅ {pass: false} expect({"a": "b", "c": "d", Symbol(jest): "jest"}).toMatchObject({"a": "c", Symbol(jest): Any<String>})
  ✅ {pass: false} expect({"a": "b"}).toMatchObject({"toString": Any<Function>})
  ✅ throws expect(null).toMatchObject({})
  ✅ throws expect(4).toMatchObject({})
  ✅ throws expect("44").toMatchObject({})
  ✅ throws expect(true).toMatchObject({})
  ✅ throws expect(undefined).toMatchObject({})
  ✅ throws expect({}).toMatchObject(null)
  ✅ throws expect({}).toMatchObject(4)
  ✅ throws expect({}).toMatchObject("some string")
  ✅ throws expect({}).toMatchObject(true)
  ✅ throws expect({}).toMatchObject(undefined)
  ✅ does not match properties up in the prototype chain
```
### ✅ <a id="user-content-r0s228" href="#user-content-r0s228">packages/expect/src/__tests__/spyMatchers.test.ts</a>
```
toBeCalled
  ✅ works only on spies or jest.fn
  ✅ passes when called
  ✅ .not passes when called
  ✅ fails with any argument passed
  ✅ .not fails with any argument passed
  ✅ includes the custom mock name in the error message
toHaveBeenCalled
  ✅ works only on spies or jest.fn
  ✅ passes when called
  ✅ .not passes when called
  ✅ fails with any argument passed
  ✅ .not fails with any argument passed
  ✅ includes the custom mock name in the error message
toBeCalledTimes
  ✅ .not works only on spies or jest.fn
  ✅ only accepts a number argument
  ✅ .not only accepts a number argument
  ✅ passes if function called equal to expected times
  ✅ .not passes if function called more than expected times
  ✅ .not passes if function called less than expected times
  ✅ includes the custom mock name in the error message
toHaveBeenCalledTimes
  ✅ .not works only on spies or jest.fn
  ✅ only accepts a number argument
  ✅ .not only accepts a number argument
  ✅ passes if function called equal to expected times
  ✅ .not passes if function called more than expected times
  ✅ .not passes if function called less than expected times
  ✅ includes the custom mock name in the error message
lastCalledWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with arguments that don't match
  ✅ works with arguments that match
  ✅ works with trailing undefined arguments
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects
  ✅ works with many arguments
  ✅ works with many arguments that don't match
  ✅ includes the custom mock name in the error message
toHaveBeenLastCalledWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with arguments that don't match
  ✅ works with arguments that match
  ✅ works with trailing undefined arguments
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects
  ✅ works with many arguments
  ✅ works with many arguments that don't match
  ✅ includes the custom mock name in the error message
nthCalledWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with arguments that don't match
  ✅ works with arguments that match
  ✅ works with trailing undefined arguments
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects
  ✅ works with three calls
  ✅ positive throw matcher error for n that is not positive integer
  ✅ positive throw matcher error for n that is not integer
  ✅ negative throw matcher error for n that is not integer
  ✅ includes the custom mock name in the error message
toHaveBeenNthCalledWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with arguments that don't match
  ✅ works with arguments that match
  ✅ works with trailing undefined arguments
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects
  ✅ works with three calls
  ✅ positive throw matcher error for n that is not positive integer
  ✅ positive throw matcher error for n that is not integer
  ✅ negative throw matcher error for n that is not integer
  ✅ includes the custom mock name in the error message
toBeCalledWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with arguments that don't match
  ✅ works with arguments that match
  ✅ works with trailing undefined arguments
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects
  ✅ works with many arguments
  ✅ works with many arguments that don't match
  ✅ includes the custom mock name in the error message
toHaveBeenCalledWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with arguments that don't match
  ✅ works with arguments that match
  ✅ works with trailing undefined arguments
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects
  ✅ works with many arguments
  ✅ works with many arguments that don't match
  ✅ includes the custom mock name in the error message
toReturn
  ✅ .not works only on jest.fn
  ✅ throw matcher error if received is spy
  ✅ passes when returned
  ✅ passes when undefined is returned
  ✅ passes when at least one call does not throw
  ✅ .not passes when not returned
  ✅ .not passes when all calls throw
  ✅ .not passes when a call throws undefined
  ✅ fails with any argument passed
  ✅ .not fails with any argument passed
  ✅ includes the custom mock name in the error message
  ✅ incomplete recursive calls are handled properly
toHaveReturned
  ✅ .not works only on jest.fn
  ✅ throw matcher error if received is spy
  ✅ passes when returned
  ✅ passes when undefined is returned
  ✅ passes when at least one call does not throw
  ✅ .not passes when not returned
  ✅ .not passes when all calls throw
  ✅ .not passes when a call throws undefined
  ✅ fails with any argument passed
  ✅ .not fails with any argument passed
  ✅ includes the custom mock name in the error message
  ✅ incomplete recursive calls are handled properly
toReturnTimes
  ✅ throw matcher error if received is spy
  ✅ only accepts a number argument
  ✅ .not only accepts a number argument
  ✅ passes if function returned equal to expected times
  ✅ calls that return undefined are counted as returns
  ✅ .not passes if function returned more than expected times
  ✅ .not passes if function called less than expected times
  ✅ calls that throw are not counted
  ✅ calls that throw undefined are not counted
  ✅ includes the custom mock name in the error message
  ✅ incomplete recursive calls are handled properly
toHaveReturnedTimes
  ✅ throw matcher error if received is spy
  ✅ only accepts a number argument
  ✅ .not only accepts a number argument
  ✅ passes if function returned equal to expected times
  ✅ calls that return undefined are counted as returns
  ✅ .not passes if function returned more than expected times
  ✅ .not passes if function called less than expected times
  ✅ calls that throw are not counted
  ✅ calls that throw undefined are not counted
  ✅ includes the custom mock name in the error message
  ✅ incomplete recursive calls are handled properly
lastReturnedWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with argument that does not match
  ✅ works with argument that does match
  ✅ works with undefined
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects directly created
  ✅ works with Immutable.js objects indirectly created
  ✅ a call that throws is not considered to have returned
  ✅ a call that throws undefined is not considered to have returned
  ✅ includes the custom mock name in the error message
lastReturnedWith lastReturnedWith
  ✅ works with three calls
  ✅ incomplete recursive calls are handled properly
toHaveLastReturnedWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with argument that does not match
  ✅ works with argument that does match
  ✅ works with undefined
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects directly created
  ✅ works with Immutable.js objects indirectly created
  ✅ a call that throws is not considered to have returned
  ✅ a call that throws undefined is not considered to have returned
  ✅ includes the custom mock name in the error message
toHaveLastReturnedWith lastReturnedWith
  ✅ works with three calls
  ✅ incomplete recursive calls are handled properly
nthReturnedWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with argument that does not match
  ✅ works with argument that does match
  ✅ works with undefined
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects directly created
  ✅ works with Immutable.js objects indirectly created
  ✅ a call that throws is not considered to have returned
  ✅ a call that throws undefined is not considered to have returned
  ✅ includes the custom mock name in the error message
nthReturnedWith nthReturnedWith
  ✅ works with three calls
  ✅ should replace 1st, 2nd, 3rd with first, second, third
  ✅ positive throw matcher error for n that is not positive integer
  ✅ should reject nth value greater than number of calls
  ✅ positive throw matcher error for n that is not integer
  ✅ negative throw matcher error for n that is not number
  ✅ incomplete recursive calls are handled properly
toHaveNthReturnedWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with argument that does not match
  ✅ works with argument that does match
  ✅ works with undefined
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects directly created
  ✅ works with Immutable.js objects indirectly created
  ✅ a call that throws is not considered to have returned
  ✅ a call that throws undefined is not considered to have returned
  ✅ includes the custom mock name in the error message
toHaveNthReturnedWith nthReturnedWith
  ✅ works with three calls
  ✅ should replace 1st, 2nd, 3rd with first, second, third
  ✅ positive throw matcher error for n that is not positive integer
  ✅ should reject nth value greater than number of calls
  ✅ positive throw matcher error for n that is not integer
  ✅ negative throw matcher error for n that is not number
  ✅ incomplete recursive calls are handled properly
toReturnWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with argument that does not match
  ✅ works with argument that does match
  ✅ works with undefined
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects directly created
  ✅ works with Immutable.js objects indirectly created
  ✅ a call that throws is not considered to have returned
  ✅ a call that throws undefined is not considered to have returned
  ✅ includes the custom mock name in the error message
toReturnWith returnedWith
  ✅ works with more calls than the limit
  ✅ incomplete recursive calls are handled properly
toHaveReturnedWith
  ✅ works only on spies or jest.fn
  ✅ works when not called
  ✅ works with no arguments
  ✅ works with argument that does not match
  ✅ works with argument that does match
  ✅ works with undefined
  ✅ works with Map
  ✅ works with Set
  ✅ works with Immutable.js objects directly created
  ✅ works with Immutable.js objects indirectly created
  ✅ a call that throws is not considered to have returned
  ✅ a call that throws undefined is not considered to have returned
  ✅ includes the custom mock name in the error message
toHaveReturnedWith returnedWith
  ✅ works with more calls than the limit
  ✅ incomplete recursive calls are handled properly
```
### ✅ <a id="user-content-r0s229" href="#user-content-r0s229">packages/expect/src/__tests__/stacktrace.test.ts</a>
```
✅ stack trace points to correct location when using matchers
✅ stack trace points to correct location when using nested matchers
✅ stack trace points to correct location when throwing from a custom matcher
```
### ✅ <a id="user-content-r0s230" href="#user-content-r0s230">packages/expect/src/__tests__/symbolInObjects.test.ts</a>
```
Symbol in objects
  ✅ should compare objects with Symbol keys
  ✅ should compare objects with mixed keys and Symbol
  ✅ should compare objects with different Symbol keys
```
### ✅ <a id="user-content-r0s231" href="#user-content-r0s231">packages/expect/src/__tests__/toEqual-dom.test.ts</a>
```
toEqual duck type Text
  ✅ isNot false
  ✅ isNot true
toEqual duck type Element
  ✅ isNot false
  ✅ isNot true
toEqual duck type Fragment
  ✅ isNot false
  ✅ isNot true
toEqual document createTextNode
  ✅ isNot false
  ✅ isNot true
toEqual document createElement
  ✅ isNot false
  ✅ isNot true
toEqual document createDocumentFragment
  ✅ isNot false
  ✅ isNot true
```
### ✅ <a id="user-content-r0s232" href="#user-content-r0s232">packages/expect/src/__tests__/toThrowMatchers.test.ts</a>
```
toThrowError
  ✅ to throw or not to throw
  ✅ invalid arguments
  ✅ invalid actual
toThrowError substring
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but message did not match (error)
  ✅ threw, but message did not match (non-error falsey)
  ✅ properly escapes strings when matching against errors
  ✅ threw, but message should not match (error)
  ✅ threw, but message should not match (non-error truthy)
toThrowError regexp
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but message did not match (error)
  ✅ threw, but message did not match (non-error falsey)
  ✅ threw, but message should not match (error)
  ✅ threw, but message should not match (non-error truthy)
toThrowError error class
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but class did not match (error)
  ✅ threw, but class did not match (non-error falsey)
  ✅ threw, but class should not match (error)
  ✅ threw, but class should not match (error subclass)
  ✅ threw, but class should not match (error subsubclass)
toThrowError error-message pass
  ✅ isNot false
  ✅ isNot true
toThrowError error-message fail
  ✅ isNot false
  ✅ isNot true
  ✅ multiline diff highlight incorrect expected space
toThrowError asymmetric any-Class pass
  ✅ isNot false
  ✅ isNot true
toThrowError asymmetric any-Class fail
  ✅ isNot false
  ✅ isNot true
toThrowError asymmetric anything pass
  ✅ isNot false
  ✅ isNot true
toThrowError asymmetric anything fail
  ✅ isNot false
  ✅ isNot true
toThrowError asymmetric no-symbol pass
  ✅ isNot false
  ✅ isNot true
toThrowError asymmetric no-symbol fail
  ✅ isNot false
  ✅ isNot true
toThrowError asymmetric objectContaining pass
  ✅ isNot false
  ✅ isNot true
toThrowError asymmetric objectContaining fail
  ✅ isNot false
  ✅ isNot true
toThrowError promise/async throws if Error-like object is returned
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but class did not match
  ✅ threw, but should not have
toThrowError expected is undefined
  ✅ threw, but should not have (non-error falsey)
toThrow
  ✅ to throw or not to throw
  ✅ invalid arguments
  ✅ invalid actual
toThrow substring
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but message did not match (error)
  ✅ threw, but message did not match (non-error falsey)
  ✅ properly escapes strings when matching against errors
  ✅ threw, but message should not match (error)
  ✅ threw, but message should not match (non-error truthy)
toThrow regexp
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but message did not match (error)
  ✅ threw, but message did not match (non-error falsey)
  ✅ threw, but message should not match (error)
  ✅ threw, but message should not match (non-error truthy)
toThrow error class
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but class did not match (error)
  ✅ threw, but class did not match (non-error falsey)
  ✅ threw, but class should not match (error)
  ✅ threw, but class should not match (error subclass)
  ✅ threw, but class should not match (error subsubclass)
toThrow error-message pass
  ✅ isNot false
  ✅ isNot true
toThrow error-message fail
  ✅ isNot false
  ✅ isNot true
  ✅ multiline diff highlight incorrect expected space
toThrow asymmetric any-Class pass
  ✅ isNot false
  ✅ isNot true
toThrow asymmetric any-Class fail
  ✅ isNot false
  ✅ isNot true
toThrow asymmetric anything pass
  ✅ isNot false
  ✅ isNot true
toThrow asymmetric anything fail
  ✅ isNot false
  ✅ isNot true
toThrow asymmetric no-symbol pass
  ✅ isNot false
  ✅ isNot true
toThrow asymmetric no-symbol fail
  ✅ isNot false
  ✅ isNot true
toThrow asymmetric objectContaining pass
  ✅ isNot false
  ✅ isNot true
toThrow asymmetric objectContaining fail
  ✅ isNot false
  ✅ isNot true
toThrow promise/async throws if Error-like object is returned
  ✅ passes
  ✅ did not throw at all
  ✅ threw, but class did not match
  ✅ threw, but should not have
toThrow expected is undefined
  ✅ threw, but should not have (non-error falsey)
```
### ✅ <a id="user-content-r0s233" href="#user-content-r0s233">packages/expect/src/__tests__/utils.test.ts</a>
```
getPath()
  ✅ property exists
  ✅ property doesnt exist
  ✅ property exist but undefined
  ✅ property is a getter on class instance
  ✅ property is inherited
  ✅ path breaks
  ✅ empty object at the end
getObjectSubset
  ✅ expect(getObjectSubset({"a": "b", "c": "d"}, {"a": "d"})).toEqual({"a": "b"})
  ✅ expect(getObjectSubset({"a": [1, 2], "b": "b"}, {"a": [3, 4]})).toEqual({"a": [1, 2]})
  ✅ expect(getObjectSubset([{"a": "b", "c": "d"}], [{"a": "z"}])).toEqual([{"a": "b"}])
  ✅ expect(getObjectSubset([1, 2], [1, 2, 3])).toEqual([1, 2])
  ✅ expect(getObjectSubset({"a": [1]}, {"a": [1, 2]})).toEqual({"a": [1]})
  ✅ expect(getObjectSubset(2015-11-30T00:00:00.000Z, 2016-12-30T00:00:00.000Z)).toEqual(2015-11-30T00:00:00.000Z)
getObjectSubset returns the object instance if the subset has no extra properties
  ✅ Date
getObjectSubset returns the subset instance if its property values are equal
  ✅ Object
getObjectSubset returns the subset instance if its property values are equal Uint8Array
  ✅ expected
  ✅ received
getObjectSubset calculating subsets of objects with circular references
  ✅ simple circular references
  ✅ transitive circular references
emptyObject()
  ✅ matches an empty object
  ✅ does not match an object with keys
  ✅ does not match a non-object
subsetEquality()
  ✅ matching object returns true
  ✅ object without keys is undefined
  ✅ objects to not match
  ✅ null does not return errors
  ✅ undefined does not return errors
subsetEquality() matching subsets with circular references
  ✅ simple circular references
  ✅ referenced object on same level should not regarded as circular reference
  ✅ transitive circular references
iterableEquality
  ✅ returns true when given circular iterators
  ✅ returns true when given circular Set
  ✅ returns true when given nested Sets
  ✅ returns false when given inequal set within a set
  ✅ returns false when given inequal map within a set
  ✅ returns false when given inequal set within a map
  ✅ returns true when given circular Set shape
  ✅ returns true when given circular key in Map
  ✅ returns true when given nested Maps
  ✅ returns true when given circular key and value in Map
  ✅ returns true when given circular value in Map
```
### ✅ <a id="user-content-r0s234" href="#user-content-r0s234">packages/jest-circus/src/__tests__/afterAll.test.ts</a>
```
✅ tests are not marked done until their parent afterAll runs
✅ describe block cannot have hooks and no tests
✅ describe block _can_ have hooks if a child describe block has tests
✅ describe block hooks must not run if describe block is skipped
✅ child tests marked with todo should not run if describe block is skipped
✅ child tests marked with only should not run if describe block is skipped
```
### ✅ <a id="user-content-r0s235" href="#user-content-r0s235">packages/jest-circus/src/__tests__/baseTest.test.ts</a>
```
✅ simple test
✅ failures
```
### ✅ <a id="user-content-r0s236" href="#user-content-r0s236">packages/jest-circus/src/__tests__/circusItTestError.test.ts</a>
```
test/it error throwing
  ✅ it doesn't throw an error with valid arguments
  ✅ it throws error with missing callback function
  ✅ it throws an error when first argument isn't a string
  ✅ it throws an error when callback function is not a function
  ✅ test doesn't throw an error with valid arguments
  ✅ test throws error with missing callback function
  ✅ test throws an error when first argument isn't a string
  ✅ test throws an error when callback function is not a function
```
### ✅ <a id="user-content-r0s237" href="#user-content-r0s237">packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts</a>
```
test/it.todo error throwing
  ✅ todo throws error when given no arguments
  ✅ todo throws error when given more than one argument
  ✅ todo throws error when given none string description
```
### ✅ <a id="user-content-r0s238" href="#user-content-r0s238">packages/jest-circus/src/__tests__/hooks.test.ts</a>
```
✅ beforeEach is executed before each test in current/child describe blocks
✅ multiple before each hooks in one describe are executed in the right order
✅ beforeAll is exectued correctly
```
### ✅ <a id="user-content-r0s239" href="#user-content-r0s239">packages/jest-circus/src/__tests__/hooksError.test.ts</a>
```
beforeEach hooks error throwing
  ✅ beforeEach throws an error when "String" is provided as a first argument to it
  ✅ beforeEach throws an error when 1 is provided as a first argument to it
  ✅ beforeEach throws an error when [] is provided as a first argument to it
  ✅ beforeEach throws an error when {} is provided as a first argument to it
  ✅ beforeEach throws an error when Symbol(hello) is provided as a first argument to it
  ✅ beforeEach throws an error when true is provided as a first argument to it
  ✅ beforeEach throws an error when null is provided as a first argument to it
  ✅ beforeEach throws an error when undefined is provided as a first argument to it
beforeAll hooks error throwing
  ✅ beforeAll throws an error when "String" is provided as a first argument to it
  ✅ beforeAll throws an error when 1 is provided as a first argument to it
  ✅ beforeAll throws an error when [] is provided as a first argument to it
  ✅ beforeAll throws an error when {} is provided as a first argument to it
  ✅ beforeAll throws an error when Symbol(hello) is provided as a first argument to it
  ✅ beforeAll throws an error when true is provided as a first argument to it
  ✅ beforeAll throws an error when null is provided as a first argument to it
  ✅ beforeAll throws an error when undefined is provided as a first argument to it
afterEach hooks error throwing
  ✅ afterEach throws an error when "String" is provided as a first argument to it
  ✅ afterEach throws an error when 1 is provided as a first argument to it
  ✅ afterEach throws an error when [] is provided as a first argument to it
  ✅ afterEach throws an error when {} is provided as a first argument to it
  ✅ afterEach throws an error when Symbol(hello) is provided as a first argument to it
  ✅ afterEach throws an error when true is provided as a first argument to it
  ✅ afterEach throws an error when null is provided as a first argument to it
  ✅ afterEach throws an error when undefined is provided as a first argument to it
afterAll hooks error throwing
  ✅ afterAll throws an error when "String" is provided as a first argument to it
  ✅ afterAll throws an error when 1 is provided as a first argument to it
  ✅ afterAll throws an error when [] is provided as a first argument to it
  ✅ afterAll throws an error when {} is provided as a first argument to it
  ✅ afterAll throws an error when Symbol(hello) is provided as a first argument to it
  ✅ afterAll throws an error when true is provided as a first argument to it
  ✅ afterAll throws an error when null is provided as a first argument to it
  ✅ afterAll throws an error when undefined is provided as a first argument to it
```
### ✅ <a id="user-content-r0s240" href="#user-content-r0s240">packages/jest-cli/src/__tests__/cli/args.test.ts</a>
```
check
  ✅ returns true if the arguments are valid
  ✅ raises an exception if runInBand and maxWorkers are both specified
  ✅ raises an exception if onlyChanged and watchAll are both specified
  ✅ raises an exception if onlyFailures and watchAll are both specified
  ✅ raises an exception when lastCommit and watchAll are both specified
  ✅ raises an exception if findRelatedTests is specified with no file paths
  ✅ raises an exception if maxWorkers is specified with no number
  ✅ allows maxWorkers to be a %
  ✅ allows using "js" file for --config option
  ✅ allows using "ts" file for --config option
  ✅ allows using "mjs" file for --config option
  ✅ allows using "cjs" file for --config option
  ✅ allows using "json" file for --config option
  ✅ raises an exception if selectProjects is not provided any project names
  ✅ raises an exception if config is not a valid JSON string
  ✅ raises an exception if config is not a supported file type
buildArgv
  ✅ should return only camelcased args
```
### ✅ <a id="user-content-r0s241" href="#user-content-r0s241">packages/jest-cli/src/init/__tests__/init.test.js</a>
```
init project with package.json and no jest config all questions answered with answer: "No"
  ✅ should return the default configuration (an empty config)
  ✅ should generate empty config with mjs extension
init project with package.json and no jest config some questions answered with answer: "Yes"
  ✅ should create configuration for {clearMocks: true}
  ✅ should create configuration for {coverage: true}
  ✅ should create configuration for {coverageProvider: "babel"}
  ✅ should create configuration for {coverageProvider: "v8"}
  ✅ should create configuration for {environment: "jsdom"}
  ✅ should create configuration for {environment: "node"}
  ✅ should create package.json with configured test command when {scripts: true}
init no package json
  ✅ should throw an error if there is no package.json file
init has-jest-config-file-js ask the user whether to override config or not
  ✅ user answered with "Yes"
  ✅ user answered with "No"
init has-jest-config-file-ts ask the user whether to override config or not
  ✅ user answered with "Yes"
  ✅ user answered with "No"
init has-jest-config-file-mjs ask the user whether to override config or not
  ✅ user answered with "Yes"
  ✅ user answered with "No"
init has-jest-config-file-cjs ask the user whether to override config or not
  ✅ user answered with "Yes"
  ✅ user answered with "No"
init has-jest-config-file-json ask the user whether to override config or not
  ✅ user answered with "Yes"
  ✅ user answered with "No"
init project using jest.config.ts ask the user whether he wants to use Typescript or not
  ✅ user answered with "Yes"
  ✅ user answered with "No"
init has jest config in package.json
  ✅ should ask the user whether to override config or not
init already has "jest" in packageJson.scripts.test
  ✅ should not ask "test script question"
```
### ✅ <a id="user-content-r0s242" href="#user-content-r0s242">packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts</a>
```
✅ should remove jest config if exists
✅ should add test script when there are no scripts
✅ should add test script when there are scripts
✅ should not add test script when { shouldModifyScripts: false }
```
### ✅ <a id="user-content-r0s243" href="#user-content-r0s243">packages/jest-config/src/__tests__/Defaults.test.ts</a>
```
✅ get configuration defaults
```
### ✅ <a id="user-content-r0s244" href="#user-content-r0s244">packages/jest-config/src/__tests__/getMaxWorkers.test.ts</a>
```
getMaxWorkers
  ✅ Returns 1 when runInBand
  ✅ Returns 1 when the OS CPUs are not available
  ✅ Returns the `maxWorkers` when specified
  ✅ Returns based on the number of cpus
getMaxWorkers % based
  ✅ 50% = 2 workers
  ✅ < 0 workers should become 1
  ✅ 0% shouldn't break
```
### ✅ <a id="user-content-r0s245" href="#user-content-r0s245">packages/jest-config/src/__tests__/normalize.test.js</a>
```
✅ picks a name based on the rootDir
✅ keeps custom project name based on the projects rootDir
✅ keeps custom names based on the rootDir
✅ minimal config is stable across runs
✅ sets coverageReporters correctly when argv.json is set
rootDir
  ✅ throws if the options is missing a rootDir property
automock
  ✅ falsy automock is not overwritten
collectCoverageOnlyFrom
  ✅ normalizes all paths relative to rootDir
  ✅ does not change absolute paths
  ✅ substitutes <rootDir> tokens
collectCoverageFrom
  ✅ substitutes <rootDir> tokens
findRelatedTests
  ✅ it generates --coverageCoverageFrom patterns when needed
roots
  ✅ normalizes all paths relative to rootDir
  ✅ does not change absolute paths
  ✅ substitutes <rootDir> tokens
transform
  ✅ normalizes the path
  ✅ pulls in config if it's passed as an array, and defaults to empty object
haste
  ✅ normalizes the path for hasteImplModulePath
setupFilesAfterEnv
  ✅ normalizes the path according to rootDir
  ✅ does not change absolute paths
  ✅ substitutes <rootDir> tokens
setupTestFrameworkScriptFile
  ✅ logs a deprecation warning when `setupTestFrameworkScriptFile` is used
  ✅ logs an error when `setupTestFrameworkScriptFile` and `setupFilesAfterEnv` are used
coveragePathIgnorePatterns
  ✅ does not normalize paths relative to rootDir
  ✅ does not normalize trailing slashes
  ✅ substitutes <rootDir> tokens
watchPathIgnorePatterns
  ✅ does not normalize paths relative to rootDir
  ✅ does not normalize trailing slashes
  ✅ substitutes <rootDir> tokens
testPathIgnorePatterns
  ✅ does not normalize paths relative to rootDir
  ✅ does not normalize trailing slashes
  ✅ substitutes <rootDir> tokens
modulePathIgnorePatterns
  ✅ does not normalize paths relative to rootDir
  ✅ does not normalize trailing slashes
  ✅ substitutes <rootDir> tokens
testRunner
  ✅ defaults to Circus
  ✅ resolves jasmine
  ✅ is overwritten by argv
coverageDirectory
  ✅ defaults to <rootDir>/coverage
testEnvironment
  ✅ resolves to an environment and prefers jest-environment-`name`
  ✅ throws on invalid environment names
  ✅ works with rootDir
babel-jest
  ✅ correctly identifies and uses babel-jest
  ✅ uses babel-jest if babel-jest is explicitly specified in a custom transform options
Upgrade help
  ✅ logs a warning when `scriptPreprocessor` and/or `preprocessorIgnorePatterns` are used
testRegex
  ✅ testRegex empty string is mapped to empty array
  ✅ testRegex string is mapped to an array
  ✅ testRegex array is preserved
testMatch
  ✅ testMatch default not applied if testRegex is set
  ✅ testRegex default not applied if testMatch is set
  ✅ throws if testRegex and testMatch are both specified
  ✅ normalizes testMatch
moduleDirectories
  ✅ defaults to node_modules
  ✅ normalizes moduleDirectories
preset
  ✅ throws when preset not found
  ✅ throws when module was found but no "jest-preset.js" or "jest-preset.json" files
  ✅ throws when a dependency is missing in the preset
  ✅ throws when preset is invalid
  ✅ throws when preset evaluation throws type error
  ✅ works with "react-native"
  ✅ searches for .json and .js preset files
  ✅ merges with options
  ✅ merges with options and moduleNameMapper preset is overridden by options
  ✅ merges with options and transform preset is overridden by options
  ✅ extracts setupFilesAfterEnv from preset
preset with globals
  ✅ should merge the globals preset correctly
preset without setupFiles
  ✅ should normalize setupFiles correctly
preset without setupFilesAfterEnv
  ✅ should normalize setupFilesAfterEnv correctly
runner
  ✅ defaults to `jest-runner`
  ✅ resolves to runners that do not have the prefix
  ✅ resolves to runners and prefers jest-runner-`name`
  ✅ throw error when a runner is not found
watchPlugins
  ✅ defaults to undefined
  ✅ resolves to watch plugins and prefers jest-watch-`name`
  ✅ resolves watch plugins that do not have the prefix
  ✅ normalizes multiple watchPlugins
  ✅ throw error when a watch plugin is not found
testPathPattern
  ✅ defaults to empty
  ✅ joins multiple --testPathPatterns and <regexForTestFiles>
  ✅ gives precedence to --all
testPathPattern --testPathPattern
  ✅ uses --testPathPattern if set
  ✅ ignores invalid regular expressions and logs a warning
  ✅ joins multiple --testPathPattern if set
testPathPattern --testPathPattern posix
  ✅ should not escape the pattern
testPathPattern --testPathPattern win32
  ✅ preserves any use of "\"
  ✅ replaces POSIX path separators
  ✅ replaces POSIX paths in multiple args
  ✅ coerces all patterns to strings
testPathPattern <regexForTestFiles>
  ✅ uses <regexForTestFiles> if set
  ✅ ignores invalid regular expressions and logs a warning
  ✅ joins multiple <regexForTestFiles> if set
testPathPattern <regexForTestFiles> posix
  ✅ should not escape the pattern
testPathPattern <regexForTestFiles> win32
  ✅ preserves any use of "\"
  ✅ replaces POSIX path separators
  ✅ replaces POSIX paths in multiple args
  ✅ coerces all patterns to strings
moduleFileExtensions
  ✅ defaults to something useful
  ✅ throws if missing `js` but using jest-runner
  ✅ does not throw if missing `js` with a custom runner
cwd
  ✅ is set to process.cwd
  ✅ is not lost if the config has its own cwd property
Defaults
  ✅ should be accepted by normalize
displayName
  ✅ should throw an error when displayName is is an empty object
  ✅ should throw an error when displayName is missing color
  ✅ should throw an error when displayName is missing name
  ✅ should throw an error when displayName is using invalid values
  ✅ generates a default color for the runner undefined
  ✅ generates a default color for the runner jest-runner
  ✅ generates a default color for the runner jest-runner-eslint
  ✅ generates a default color for the runner jest-runner-tslint
  ✅ generates a default color for the runner jest-runner-tsc
testTimeout
  ✅ should return timeout value if defined
  ✅ should throw an error if timeout is a negative number
extensionsToTreatAsEsm
  ✅ should pass valid config through
  ✅ should enforce leading dots
  ✅ throws on .js
  ✅ throws on .mjs
  ✅ throws on .cjs
```
### ✅ <a id="user-content-r0s246" href="#user-content-r0s246">packages/jest-config/src/__tests__/readConfig.test.ts</a>
```
✅ readConfig() throws when an object is passed without a file path
```
### ✅ <a id="user-content-r0s247" href="#user-content-r0s247">packages/jest-config/src/__tests__/readConfigs.test.ts</a>
```
✅ readConfigs() throws when called without project paths
✅ readConfigs() loads async config file
✅ readConfigs() reject if async was rejected
```
### ✅ <a id="user-content-r0s248" href="#user-content-r0s248">packages/jest-config/src/__tests__/resolveConfigPath.test.ts</a>
```
Resolve config path .js
  ✅ file path with ".js"
  ✅ directory path with ".js"
Resolve config path .ts
  ✅ file path with ".ts"
  ✅ directory path with ".ts"
Resolve config path .mjs
  ✅ file path with ".mjs"
  ✅ directory path with ".mjs"
Resolve config path .cjs
  ✅ file path with ".cjs"
  ✅ directory path with ".cjs"
Resolve config path .json
  ✅ file path with ".json"
  ✅ directory path with ".json"
```
### ✅ <a id="user-content-r0s249" href="#user-content-r0s249">packages/jest-config/src/__tests__/setFromArgv.test.ts</a>
```
✅ maps special values to valid options
✅ maps regular values to themselves
✅ works with string objects
✅ explicit flags override those from --config
```
### ✅ <a id="user-content-r0s250" href="#user-content-r0s250">packages/jest-config/src/__tests__/validatePattern.test.ts</a>
```
validate pattern function
  ✅ without passed args returns true
  ✅ returns true for empty pattern
  ✅ returns true for valid pattern
  ✅ returns false for invalid pattern
```
### ✅ <a id="user-content-r0s251" href="#user-content-r0s251">packages/jest-console/src/__tests__/bufferedConsole.test.ts</a>
```
CustomConsole assert
  ✅ do not log when the assertion is truthy
  ✅ do not log when the assertion is truthy and there is a message
  ✅ log the assertion error when the assertion is falsy
  ✅ log the assertion error when the assertion is falsy with another message argument
CustomConsole count
  ✅ count using the default counter
  ✅ count using the a labeled counter
  ✅ countReset restarts default counter
  ✅ countReset restarts custom counter
CustomConsole group
  ✅ group without label
  ✅ group with label
  ✅ groupEnd remove the indentation of the current group
  ✅ groupEnd can not remove the indentation below the starting point
CustomConsole time
  ✅ should return the time between time() and timeEnd() on default timer
  ✅ should return the time between time() and timeEnd() on custom timer
CustomConsole dir
  ✅ should print the deepest value
CustomConsole timeLog
  ✅ should return the time between time() and timeEnd() on default timer
  ✅ should return the time between time() and timeEnd() on custom timer
  ✅ default timer with data
  ✅ custom timer with data
CustomConsole console
  ✅ should be able to initialize console instance
```
### ✅ <a id="user-content-r0s252" href="#user-content-r0s252">packages/jest-console/src/__tests__/CustomConsole.test.ts</a>
```
CustomConsole log
  ✅ should print to stdout
CustomConsole error
  ✅ should print to stderr
CustomConsole warn
  ✅ should print to stderr
CustomConsole assert
  ✅ do not log when the assertion is truthy
  ✅ do not log when the assertion is truthy and there is a message
  ✅ log the assertion error when the assertion is falsy
  ✅ log the assertion error when the assertion is falsy with another message argument
CustomConsole count
  ✅ count using the default counter
  ✅ count using the a labeled counter
  ✅ countReset restarts default counter
  ✅ countReset restarts custom counter
CustomConsole group
  ✅ group without label
  ✅ group with label
  ✅ groupEnd remove the indentation of the current group
  ✅ groupEnd can not remove the indentation below the starting point
CustomConsole time
  ✅ should return the time between time() and timeEnd() on default timer
  ✅ should return the time between time() and timeEnd() on custom timer
CustomConsole dir
  ✅ should print the deepest value
CustomConsole timeLog
  ✅ should return the time between time() and timeEnd() on default timer
  ✅ should return the time between time() and timeEnd() on custom timer
  ✅ default timer with data
  ✅ custom timer with data
CustomConsole console
  ✅ should be able to initialize console instance
```
### ✅ <a id="user-content-r0s253" href="#user-content-r0s253">packages/jest-console/src/__tests__/getConsoleOutput.test.ts</a>
```
getConsoleOutput
  ✅ takes noStackTrace and pass it on for assert
  ✅ takes noStackTrace and pass it on for count
  ✅ takes noStackTrace and pass it on for debug
  ✅ takes noStackTrace and pass it on for dir
  ✅ takes noStackTrace and pass it on for dirxml
  ✅ takes noStackTrace and pass it on for error
  ✅ takes noStackTrace and pass it on for group
  ✅ takes noStackTrace and pass it on for groupCollapsed
  ✅ takes noStackTrace and pass it on for info
  ✅ takes noStackTrace and pass it on for log
  ✅ takes noStackTrace and pass it on for time
  ✅ takes noStackTrace and pass it on for warn
```
### ✅ <a id="user-content-r0s254" href="#user-content-r0s254">packages/jest-core/src/__tests__/FailedTestsCache.test.js</a>
```
FailedTestsCache
  ✅ should filter tests
```
### ✅ <a id="user-content-r0s255" href="#user-content-r0s255">packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js</a>
```
getNoTestsFoundMessage
  ✅ returns correct message when monitoring only failures
  ✅ returns correct message when monitoring only changed
  ✅ returns correct message with verbose option
  ✅ returns correct message without options
  ✅ returns correct message with passWithNoTests
```
### ✅ <a id="user-content-r0s256" href="#user-content-r0s256">packages/jest-core/src/__tests__/globals.test.ts</a>
```
Common globals
  ✅ check process
```
### ✅ <a id="user-content-r0s257" href="#user-content-r0s257">packages/jest-core/src/__tests__/runJest.test.js</a>
```
runJest
  ✅ when watch is set then exit process
  ✅ when watch is set then an error message is printed
```
### ✅ <a id="user-content-r0s258" href="#user-content-r0s258">packages/jest-core/src/__tests__/SearchSource.test.ts</a>
```
SearchSource isTestFilePath
  ✅ supports ../ paths and unix separators via testRegex
  ✅ supports unix separators
  ✅ supports win32 separators
SearchSource testPathsMatching
  ✅ finds tests matching a pattern via testRegex
  ✅ finds tests matching a pattern via testMatch
  ✅ finds tests matching a JS regex pattern
  ✅ finds tests matching a JS glob pattern
  ✅ finds tests matching a JS with overriding glob patterns
  ✅ finds tests with default file extensions using testRegex
  ✅ finds tests with default file extensions using testMatch
  ✅ finds tests with parentheses in their rootDir when using testMatch
  ✅ finds tests with similar but custom file extensions
  ✅ finds tests with totally custom foobar file extensions
  ✅ finds tests with many kinds of file extensions
  ✅ finds tests using a regex only
  ✅ finds tests using a glob only
SearchSource findRelatedTests
  ✅ makes sure a file is related to itself
  ✅ finds tests that depend directly on the path
  ✅ excludes untested files from coverage
SearchSource findRelatedTestsFromPattern
  ✅ returns empty search result for empty input
  ✅ returns empty search result for invalid input
  ✅ returns empty search result if no related tests were found
  ✅ finds tests for a single file
  ✅ finds tests for multiple files
  ✅ does not mistake roots folders with prefix names
SearchSource findRelatedSourcesFromTestsInChangedFiles
  ✅ return empty set if no SCM
  ✅ return sources required by tests
```
### ✅ <a id="user-content-r0s259" href="#user-content-r0s259">packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js</a>
```
SnapshotInteractiveMode
  ✅ is inactive at construction
  ✅ call to run process the first file
  ✅ call to abort
  ✅ call to reset
  ✅ press Q or ESC triggers an abort
  ✅ press ENTER trigger a run
  ✅ skip 1 test, then restart
  ✅ skip 1 test, then quit
  ✅ update 1 test, then finish and return
  ✅ skip 2 tests, then finish and restart
  ✅ update 2 tests, then finish and return
  ✅ update 1 test, skip 1 test, then finish and restart
  ✅ skip 1 test, update 1 test, then finish and restart
```
### ✅ <a id="user-content-r0s260" href="#user-content-r0s260">packages/jest-core/src/__tests__/TestScheduler.test.js</a>
```
✅ config for reporters supports `default`
✅ .addReporter() .removeReporter()
✅ schedule tests run in parallel per default
✅ schedule tests run in serial if the runner flags them
✅ should bail after `n` failures
✅ should not bail if less than `n` failures
✅ should set runInBand to run in serial
✅ should set runInBand to not run in serial
```
### ✅ <a id="user-content-r0s261" href="#user-content-r0s261">packages/jest-core/src/__tests__/testSchedulerHelper.test.js</a>
```
✅ shouldRunInBand() - should return true for runInBand mode
✅ shouldRunInBand() - should return true for runInBand mode
✅ shouldRunInBand() - should return false for runInBand mode
✅ shouldRunInBand() - should return false for runInBand mode
✅ shouldRunInBand() - should return false for runInBand mode
✅ shouldRunInBand() - should return true for runInBand mode
✅ shouldRunInBand() - should return false for runInBand mode
✅ shouldRunInBand() - should return true for runInBand mode
✅ shouldRunInBand() - should return true for runInBand mode
✅ shouldRunInBand() - should return false for runInBand mode
✅ shouldRunInBand() - should return false for runInBand mode
✅ shouldRunInBand() - should return true for runInBand mode
```
### ✅ <a id="user-content-r0s262" href="#user-content-r0s262">packages/jest-core/src/__tests__/watch.test.js</a>
```
Watch mode flows
  ✅ Correctly passing test path pattern
  ✅ Correctly passing test name pattern
  ✅ Runs Jest once by default and shows usage
  ✅ Runs Jest in a non-interactive environment not showing usage
  ✅ resolves relative to the package root
  ✅ shows prompts for WatchPlugins in alphabetical order
  ✅ shows update snapshot prompt (without interactive)
  ✅ shows update snapshot prompt (with interactive)
  ✅ allows WatchPlugins to hook into JestHook
  ✅ allows WatchPlugins to override eligible internal plugins
  ✅ allows WatchPlugins to be configured
  ✅ allows WatchPlugins to hook into file system changes
  ✅ makes watch plugin initialization errors look nice
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ allows WatchPlugins to modify only white-listed global config keys
  ✅ triggers enter on a WatchPlugin when its key is pressed
  ✅ prevents Jest from handling keys when active and returns control when end is called
  ✅ Pressing "o" runs test in "only changed files" mode
  ✅ Pressing "a" runs test in "watch all" mode
  ✅ Pressing "ENTER" reruns the tests
  ✅ Pressing "t" reruns the tests in "test name pattern" mode
  ✅ Pressing "p" reruns the tests in "filename pattern" mode
  ✅ Can combine "p" and "t" filters
  ✅ Pressing "u" reruns the tests in "update snapshot" mode
  ✅ passWithNoTest should be set to true in watch mode
  ✅ shows the correct usage for the f key in "only failed tests" mode
Watch mode flows when dealing with potential watch plugin key conflicts
  ✅ forbids WatchPlugins overriding reserved internal plugins
  ✅ forbids WatchPlugins overriding reserved internal plugins
  ✅ forbids WatchPlugins overriding reserved internal plugins
  ✅ allows WatchPlugins to override non-reserved internal plugins
  ✅ allows WatchPlugins to override non-reserved internal plugins
  ✅ forbids third-party WatchPlugins overriding each other
```
### ✅ <a id="user-content-r0s263" href="#user-content-r0s263">packages/jest-core/src/__tests__/watchFileChanges.test.ts</a>
```
Watch mode flows with changed files
  ✅ should correct require new files without legacy cache
```
### ✅ <a id="user-content-r0s264" href="#user-content-r0s264">packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js</a>
```
Watch mode flows
  ✅ Pressing "P" enters pattern mode
  ✅ Pressing "c" clears the filters
```
### ✅ <a id="user-content-r0s265" href="#user-content-r0s265">packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js</a>
```
Watch mode flows
  ✅ Pressing "T" enters pattern mode
```
### ✅ <a id="user-content-r0s266" href="#user-content-r0s266">packages/jest-core/src/lib/__tests__/isValidPath.test.ts</a>
```
✅ is valid when it is a file inside roots
✅ is not valid when it is a snapshot file
✅ is not valid when it is a file in the coverage dir
```
### ✅ <a id="user-content-r0s267" href="#user-content-r0s267">packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts</a>
```
✅ prints the jest version
✅ prints the test framework name
✅ prints the config object
```
### ✅ <a id="user-content-r0s268" href="#user-content-r0s268">packages/jest-create-cache-key-function/src/__tests__/index.test.ts</a>
```
✅ creation of a cache key
```
### ✅ <a id="user-content-r0s269" href="#user-content-r0s269">packages/jest-diff/src/__tests__/diff.test.ts</a>
```
different types
  ✅ '1' and 'a'
  ✅ '[object Object]' and 'a'
  ✅ '' and '2'
  ✅ 'null' and 'undefined'
  ✅ '() => {}' and '3'
no visual difference
  ✅ '"a"' and '"a"'
  ✅ '{}' and '{}'
  ✅ '[]' and '[]'
  ✅ '[1,2]' and '[1,2]'
  ✅ '11' and '11'
  ✅ 'null' and 'null'
  ✅ 'null' and 'null'
  ✅ 'undefined' and 'undefined'
  ✅ 'null' and 'null'
  ✅ 'undefined' and 'undefined'
  ✅ 'false' and 'false'
  ✅ '{"a":1}' and '{"a":1}'
  ✅ '{"a":{"b":5}}' and '{"a":{"b":5}}'
  ✅ Map key order should be irrelevant
  ✅ Set value order should be irrelevant
✅ oneline strings
✅ numbers
✅ -0 and 0
✅ booleans
✅ collapses big diffs to patch format
falls back to not call toJSON if serialization has no differences
  ✅ but then objects have differences
  ✅ and then objects have no differences
falls back to not call toJSON if it throws
  ✅ and then objects have differences
  ✅ and then objects have no differences
multiline strings
  ✅ (unexpanded)
  ✅ (expanded)
objects
  ✅ (unexpanded)
  ✅ (expanded)
multiline string non-snapshot
  ✅ (unexpanded)
  ✅ (expanded)
multiline string snapshot
  ✅ (unexpanded)
  ✅ (expanded)
React elements
  ✅ (unexpanded)
  ✅ (expanded)
multiline string as value of object property (non-snapshot)
  ✅ (unexpanded)
  ✅ (expanded)
multiline string as value of object property (snapshot)
  ✅ (unexpanded)
  ✅ (expanded)
indentation in JavaScript structures from less to more
  ✅ (unexpanded)
  ✅ (expanded)
indentation in JavaScript structures from more to less
  ✅ (unexpanded)
  ✅ (expanded)
color of text
  ✅ (expanded)
  ✅ (unexpanded)
indentation in React elements (non-snapshot) from less to more
  ✅ (unexpanded)
  ✅ (expanded)
indentation in React elements (non-snapshot) from more to less
  ✅ (unexpanded)
  ✅ (expanded)
indentation in React elements (snapshot) from less to more
  ✅ (unexpanded)
  ✅ (expanded)
indentation in React elements (snapshot) from more to less
  ✅ (unexpanded)
  ✅ (expanded)
outer React element (non-snapshot) from less to more
  ✅ (unexpanded)
  ✅ (expanded)
outer React element (non-snapshot) from more to less
  ✅ (unexpanded)
  ✅ (expanded)
trailing newline in multiline string not enclosed in quotes from less to more
  ✅ (unexpanded)
  ✅ (expanded)
trailing newline in multiline string not enclosed in quotes from more to less
  ✅ (unexpanded)
  ✅ (expanded)
context
  ✅ number of lines: -1 (5 default)
  ✅ number of lines: 0
  ✅ number of lines: 1
  ✅ number of lines: 2
  ✅ number of lines: 3.1 (5 default)
  ✅ number of lines: undefined (5 default)
diffLinesUnified edge cases
  ✅ a empty string b empty string
  ✅ a empty string b one line
  ✅ a multiple lines b empty string
  ✅ a one line b multiple lines
diffLinesUnified2 edge cases
  ✅ a empty string b empty string
  ✅ a empty string b one line
  ✅ a multiple lines b empty string
  ✅ a one line b multiple lines
diffLinesUnified2 edge cases lengths not equal
  ✅ a
  ✅ b
diffStringsUnified edge cases
  ✅ empty both a and b
  ✅ empty only a
  ✅ empty only b
  ✅ equal both non-empty
  ✅ multiline has no common after clean up chaff
  ✅ one-line has no common after clean up chaff
options 7980
  ✅ diff
  ✅ diffStringsUnified
options change indicators
  ✅ diff
options change color
  ✅ diffStringsUnified
  ✅ no diff
options common
  ✅ diff
  ✅ no diff
options includeChangeCounts false
  ✅ diffLinesUnified
  ✅ diffStringsUnified
options includeChangeCounts true padding
  ✅ diffLinesUnified a has 2 digits
  ✅ diffLinesUnified b has 2 digits
  ✅ diffStringsUnified
options omitAnnotationLines true
  ✅ diff
  ✅ diffStringsUnified and includeChangeCounts true
  ✅ diffStringsUnified empty strings
options trailingSpaceFormatter
  ✅ diffDefault default no color
  ✅ diffDefault middle dot
  ✅ diffDefault yellowish common
options emptyFirstOrLastLinePlaceholder default empty string
  ✅ diffDefault
  ✅ diffStringsUnified
```
### ✅ <a id="user-content-r0s270" href="#user-content-r0s270">packages/jest-diff/src/__tests__/diffStringsRaw.test.ts</a>
```
diffStringsRaw
  ✅ one-line with cleanup
  ✅ one-line without cleanup
```
### ✅ <a id="user-content-r0s271" href="#user-content-r0s271">packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts</a>
```
getAlignedDiffs lines
  ✅ change preceding and following common
  ✅ common preceding and following change
  ✅ common at end when both current change lines are empty
  ✅ common between delete and insert
  ✅ common between insert and delete
getAlignedDiffs newline
  ✅ delete only
  ✅ insert only
  ✅ delete with adjacent change
  ✅ insert with adjacent changes
  ✅ change from space
  ✅ change to space
getAlignedDiffs substrings first
  ✅ common when both current change lines are empty
  ✅ common when either current change line is non-empty
  ✅ delete completes the current line
  ✅ insert completes the current line
getAlignedDiffs substrings middle
  ✅ is empty in delete between common
  ✅ is empty in insert at start
  ✅ is non-empty in delete at end
  ✅ is non-empty in insert between common
getAlignedDiffs substrings last
  ✅ is empty in delete at end
  ✅ is empty in insert at end
  ✅ is non-empty in common not at end
getAlignedDiffs strings
  ✅ change at start and delete or insert at end
  ✅ delete or insert at start and change at end
```
### ✅ <a id="user-content-r0s272" href="#user-content-r0s272">packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts</a>
```
joinAlignedDiffsExpand
  ✅ first line is empty common
joinAlignedDiffsNoExpand
  ✅ patch 0 with context 1 and change at start and end
  ✅ patch 0 with context 5 and first line is empty common
  ✅ patch 1 with context 4 and last line is empty common
  ✅ patch 2 with context 3
  ✅ patch 3 with context 2 and omit excess common at start
```
### ✅ <a id="user-content-r0s273" href="#user-content-r0s273">packages/jest-docblock/src/__tests__/index.test.ts</a>
```
docblock
  ✅ extracts valid docblock with line comment
  ✅ extracts valid docblock
  ✅ extracts valid docblock with more comments
  ✅ extracts from invalid docblock
  ✅ returns extract and parsedocblock
  ✅ parses directives out of a docblock
  ✅ parses multiple of the same directives out of a docblock
  ✅ parses >=3 of the same directives out of a docblock
  ✅ parses directives out of a docblock with comments
  ✅ parses directives out of a docblock with line comments
  ✅ parses multiline directives
  ✅ parses multiline directives even if there are linecomments within the docblock
  ✅ supports slashes in @team directive
  ✅ extracts comments from docblock
  ✅ extracts multiline comments from docblock
  ✅ preserves leading whitespace in multiline comments from docblock
  ✅ removes leading newlines in multiline comments from docblock
  ✅ extracts comments from beginning and end of docblock
  ✅ preserve urls within a pragma's values
  ✅ strip linecomments from pragmas but preserve for comments
  ✅ extracts docblock comments as CRLF when docblock contains CRLF
  ✅ extracts docblock comments as LF when docblock contains LF
  ✅ strips the docblock out of a file that contains a top docblock
  ✅ returns a file unchanged if there is no top docblock to strip
  ✅ prints docblocks with no pragmas as empty string
  ✅ prints docblocks with one pragma on one line
  ✅ prints docblocks with multiple pragmas on multiple lines
  ✅ prints docblocks with multiple of the same pragma
  ✅ prints docblocks with pragmas
  ✅ prints docblocks with comments
  ✅ prints docblocks with comments and no keys
  ✅ prints docblocks with multiline comments
  ✅ prints docblocks that are parseable
  ✅ can augment existing docblocks with comments
  ✅ prints docblocks using CRLF if comments contains CRLF
  ✅ prints docblocks using LF if comments contains LF
```
### ✅ <a id="user-content-r0s274" href="#user-content-r0s274">packages/jest-each/src/__tests__/array.test.ts</a>
```
jest-each .test
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .test.concurrent
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .test.concurrent.only
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .test.concurrent.skip
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using sprintf format
  ✅ calls global with title with placeholder values correctly interpolated
jest-each .test.only
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .it
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .fit
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .it.only
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .describe
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .fdescribe
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each .describe.only
  ✅ throws an error when not called with an array
  ✅ throws an error when called with an empty array
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using printf format
  ✅ does not call global test with title containing more param values than sprintf placeholders
  ✅ calls global test title with %p placeholder injected at the correct positions
  ✅ does not calls global test title with %p placeholder when no data is supplied at given position
  ✅ calls global with cb function containing all parameters of each test case when given 1d array
  ✅ calls global with cb function containing all parameters of each test case 2d array
  ✅ calls global with given timeout
jest-each done callback
  ✅ calls [ 'test' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'test', 'only' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'test', 'concurrent' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'test', 'concurrent', 'only' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'it' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'fit' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'it', 'only' ] with done when cb function has more args than params of given test row
  ✅ does not call [ 'describe' ] with done when test function has more args than params of given test row
  ✅ does not call [ 'fdescribe' ] with done when test function has more args than params of given test row
  ✅ does not call [ 'describe', 'only' ] with done when test function has more args than params of given test row
jest-each .xtest
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using sprintf format
  ✅ calls global with title with placeholder values correctly interpolated
jest-each .test.skip
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using sprintf format
  ✅ calls global with title with placeholder values correctly interpolated
jest-each .xit
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using sprintf format
  ✅ calls global with title with placeholder values correctly interpolated
jest-each .it.skip
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using sprintf format
  ✅ calls global with title with placeholder values correctly interpolated
jest-each .xdescribe
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using sprintf format
  ✅ calls global with title with placeholder values correctly interpolated
jest-each .describe.skip
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using sprintf format
  ✅ calls global with title with placeholder values correctly interpolated
```
### ✅ <a id="user-content-r0s275" href="#user-content-r0s275">packages/jest-each/src/__tests__/index.test.ts</a>
```
array .add
  ✅ returns the result of adding 0 to 0
  ✅ returns the result of adding 0 to 1
  ✅ returns the result of adding 1 to 1
concurrent .add
  ✅ returns the result of adding 0 to 0
  ✅ returns the result of adding 0 to 1
  ✅ returns the result of adding 1 to 1
template .add
  ✅ returns 0 when given 0 and 0
  ✅ returns 1 when given 0 and 1
  ✅ returns 2 when given 1 and 1
✅ throws an error when not called with the right number of arguments
```
### ✅ <a id="user-content-r0s276" href="#user-content-r0s276">packages/jest-each/src/__tests__/template.test.ts</a>
```
jest-each .test
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .test.concurrent
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
jest-each .test.concurrent.only
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .test.concurrent.skip
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
jest-each .test.only
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .it
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .fit
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .it.only
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .describe
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .fdescribe
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each .describe.only
  ✅ throws error when there are additional words in first column heading
  ✅ throws error when there are additional words in second column heading
  ✅ throws error when there are additional words in last column heading
  ✅ does not throw error when there is additional words in template after heading row
  ✅ does not throw error when there is only one column
  ✅ does not throw error when there is only one column with additional words in template after heading
  ✅ throws error when there are no arguments for given headings
  ✅ throws error when there are fewer arguments than headings when given one row
  ✅ throws error when there are fewer arguments than headings over multiple rows
  ✅ throws an error when called with an empty string
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
  ✅ calls global with title containing $key in multiple positions
  ✅ calls global with title containing $key.path
  ✅ calls global with title containing last seen object when $key.path is invalid
  ✅ calls global with cb function with object built from table headings and values
  ✅ calls global with given timeout
  ✅ formats primitive values using .toString()
jest-each done callback
  ✅ calls [ 'test' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'test', 'only' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'test', 'concurrent', 'only' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'it' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'fit' ] with done when cb function has more args than params of given test row
  ✅ calls [ 'it', 'only' ] with done when cb function has more args than params of given test row
  ✅ does not call [ 'describe' ] with done when test function has more args than params of given test row
  ✅ does not call [ 'fdescribe' ] with done when test function has more args than params of given test row
  ✅ does not call [ 'describe', 'only' ] with done when test function has more args than params of given test row
jest-each .xtest
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
jest-each .test.skip
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
jest-each .xit
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
jest-each .it.skip
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
jest-each .xdescribe
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
jest-each .describe.skip
  ✅ calls global with given title
  ✅ calls global with given title when multiple tests cases exist
  ✅ calls global with title containing param values when using $variable format
```
### ✅ <a id="user-content-r0s277" href="#user-content-r0s277">packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts</a>
```
JSDomEnvironment
  ✅ should configure setTimeout/setInterval to use the browser api
  ✅ has modern fake timers implementation
```
### ✅ <a id="user-content-r0s278" href="#user-content-r0s278">packages/jest-environment-node/src/__tests__/node_environment.test.ts</a>
```
NodeEnvironment
  ✅ uses a copy of the process object
  ✅ exposes process.on
  ✅ exposes global.global
  ✅ should configure setTimeout/setInterval to use the node api
  ✅ has modern fake timers implementation
  ✅ TextEncoder references the same global Uint8Array constructor
```
### ✅ <a id="user-content-r0s279" href="#user-content-r0s279">packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts</a>
```
FakeTimers construction
  ✅ installs setTimeout mock
  ✅ accepts to promisify setTimeout mock
  ✅ installs clearTimeout mock
  ✅ installs setInterval mock
  ✅ installs clearInterval mock
  ✅ mocks process.nextTick if it exists on global
  ✅ mocks setImmediate if it exists on global
  ✅ mocks clearImmediate if setImmediate is on global
FakeTimers runAllTicks
  ✅ runs all ticks, in order
  ✅ does nothing when no ticks have been scheduled
  ✅ only runs a scheduled callback once
  ✅ cancels a callback even from native nextTick
  ✅ cancels a callback even from native setImmediate
  ✅ doesnt run a tick callback if native nextTick already did
  ✅ doesnt run immediate if native setImmediate already did
  ✅ native doesnt run immediate if fake already did
  ✅ throws before allowing infinite recursion
FakeTimers runAllTimers
  ✅ runs all timers in order
  ✅ warns when trying to advance timers while real timers are used
  ✅ does nothing when no timers have been scheduled
  ✅ only runs a setTimeout callback once (ever)
  ✅ runs callbacks with arguments after the interval
  ✅ doesnt pass the callback to native setTimeout
  ✅ throws before allowing infinite recursion
  ✅ also clears ticks
FakeTimers advanceTimersByTime
  ✅ runs timers in order
  ✅ does nothing when no timers have been scheduled
  ✅ throws before allowing infinite recursion
FakeTimers advanceTimersToNextTimer
  ✅ runs timers in order
  ✅ run correct amount of steps
  ✅ setTimeout inside setTimeout
  ✅ does nothing when no timers have been scheduled
FakeTimers reset
  ✅ resets all pending setTimeouts
  ✅ resets all pending setIntervals
  ✅ resets all pending ticks callbacks & immediates
  ✅ resets current advanceTimersByTime time cursor
FakeTimers runOnlyPendingTimers
  ✅ runs all timers in order
  ✅ does not run timers that were cleared in another timer
FakeTimers runWithRealTimers
  ✅ executes callback with native timers
  ✅ resets mock timers after executing callback
  ✅ resets mock timer functions even if callback throws
FakeTimers useRealTimers
  ✅ resets native timer APIs
  ✅ resets native process.nextTick when present
  ✅ resets native setImmediate when present
FakeTimers useFakeTimers
  ✅ resets mock timer APIs
  ✅ resets mock process.nextTick when present
  ✅ resets mock setImmediate when present
FakeTimers getTimerCount
  ✅ returns the correct count
  ✅ includes immediates and ticks
  ✅ not includes cancelled immediates
```
### ✅ <a id="user-content-r0s280" href="#user-content-r0s280">packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts</a>
```
FakeTimers construction
  ✅ installs setTimeout mock
  ✅ installs clearTimeout mock
  ✅ installs setInterval mock
  ✅ installs clearInterval mock
  ✅ mocks process.nextTick if it exists on global
  ✅ mocks setImmediate if it exists on global
  ✅ mocks clearImmediate if setImmediate is on global
FakeTimers runAllTicks
  ✅ runs all ticks, in order
  ✅ does nothing when no ticks have been scheduled
  ✅ only runs a scheduled callback once
  ✅ throws before allowing infinite recursion
FakeTimers runAllTimers
  ✅ runs all timers in order
  ✅ warns when trying to advance timers while real timers are used
  ✅ does nothing when no timers have been scheduled
  ✅ only runs a setTimeout callback once (ever)
  ✅ runs callbacks with arguments after the interval
  ✅ doesn't pass the callback to native setTimeout
  ✅ throws before allowing infinite recursion
  ✅ also clears ticks
FakeTimers advanceTimersByTime
  ✅ runs timers in order
  ✅ does nothing when no timers have been scheduled
FakeTimers advanceTimersToNextTimer
  ✅ runs timers in order
  ✅ run correct amount of steps
  ✅ setTimeout inside setTimeout
  ✅ does nothing when no timers have been scheduled
FakeTimers reset
  ✅ resets all pending setTimeouts
  ✅ resets all pending setIntervals
  ✅ resets all pending ticks callbacks
  ✅ resets current advanceTimersByTime time cursor
FakeTimers runOnlyPendingTimers
  ✅ runs all timers in order
  ✅ does not run timers that were cleared in another timer
FakeTimers useRealTimers
  ✅ resets native timer APIs
  ✅ resets native process.nextTick when present
  ✅ resets native setImmediate when present
FakeTimers useFakeTimers
  ✅ resets mock timer APIs
  ✅ resets mock process.nextTick when present
  ✅ resets mock setImmediate when present
FakeTimers getTimerCount
  ✅ returns the correct count
  ✅ includes immediates and ticks
  ✅ not includes cancelled immediates
```
### ✅ <a id="user-content-r0s281" href="#user-content-r0s281">packages/jest-get-type/src/__tests__/getType.test.ts</a>
```
.getType()
  ✅ null
  ✅ undefined
  ✅ object
  ✅ array
  ✅ number
  ✅ string
  ✅ function
  ✅ boolean
  ✅ symbol
  ✅ regexp
  ✅ map
  ✅ set
  ✅ date
  ✅ bigint
```
### ✅ <a id="user-content-r0s282" href="#user-content-r0s282">packages/jest-get-type/src/__tests__/isPrimitive.test.ts</a>
```
.isPrimitive()
  ✅ returns true when given primitive value of: null
  ✅ returns true when given primitive value of: undefined
  ✅ returns true when given primitive value of: 100
  ✅ returns true when given primitive value of: hello world
  ✅ returns true when given primitive value of: true
  ✅ returns true when given primitive value of: Symbol(a)
  ✅ returns true when given primitive value of: 0
  ✅ returns true when given primitive value of: NaN
  ✅ returns true when given primitive value of: Infinity
  ✅ returns true when given primitive value of: 1n
  ✅ returns false when given non primitive value of: {}
  ✅ returns false when given non primitive value of: []
  ✅ returns false when given non primitive value of: undefined
  ✅ returns false when given non primitive value of: {}
  ✅ returns false when given non primitive value of: {}
  ✅ returns false when given non primitive value of: {}
  ✅ returns false when given non primitive value of: "2021-01-24T19:22:19.272Z"
  ✅ returns false when given non primitive value of: {}
```
### ✅ <a id="user-content-r0s283" href="#user-content-r0s283">packages/jest-globals/src/__tests__/index.ts</a>
```
✅ throw when directly imported
```
### ✅ <a id="user-content-r0s284" href="#user-content-r0s284">packages/jest-haste-map/src/__tests__/get_mock_name.test.js</a>
```
getMockName
  ✅ extracts mock name from file path
```
### ✅ <a id="user-content-r0s285" href="#user-content-r0s285">packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts</a>
```
✅ watchman crawler and node crawler both include dotfiles
```
### ✅ <a id="user-content-r0s286" href="#user-content-r0s286">packages/jest-haste-map/src/__tests__/index.test.js</a>
```
HasteMap
  ✅ exports constants
  ✅ creates valid cache file paths
  ✅ creates different cache file paths for different roots
  ✅ creates different cache file paths for different dependency extractor cache keys
  ✅ creates different cache file paths for different hasteImplModulePath cache keys
  ✅ creates different cache file paths for different projects
  ✅ matches files against a pattern
  ✅ ignores files given a pattern
  ✅ ignores vcs directories without ignore pattern
  ✅ ignores vcs directories with ignore pattern regex
  ✅ warn on ignore pattern except for regex
  ✅ builds a haste map on a fresh cache
  ✅ does not crawl native files even if requested to do so
  ✅ retains all files if `retainAllFiles` is specified
  ✅ warns on duplicate mock files
  ✅ warns on duplicate module ids
  ✅ warns on duplicate module ids only once
  ✅ throws on duplicate module ids if "throwOnModuleCollision" is set to true
  ✅ splits up modules by platform
  ✅ does not access the file system on a warm cache with no changes
  ✅ only does minimal file system access when files change
  ✅ correctly handles file deletions
  ✅ correctly handles platform-specific file additions
  ✅ correctly handles platform-specific file deletions
  ✅ correctly handles platform-specific file renames
  ✅ discards the cache when configuration changes
  ✅ ignores files that do not exist
  ✅ distributes work across workers
  ✅ tries to crawl using node as a fallback
  ✅ tries to crawl using node as a fallback when promise fails once
  ✅ stops crawling when both crawlers fail
HasteMap builds a haste map on a fresh cache with SHA-1s
  ✅ uses watchman: false
  ✅ uses watchman: true
HasteMap duplicate modules
  ✅ recovers when a duplicate file is deleted
  ✅ recovers with the correct type when a duplicate file is deleted
  ✅ recovers when a duplicate module is renamed
HasteMap file system changes processing
  ✅ provides a new set of hasteHS and moduleMap
  ✅ handles several change events at once
  ✅ does not emit duplicate change events
  ✅ emits a change even if a file in node_modules has changed
  ✅ correctly tracks changes to both platform-specific versions of a single module name
HasteMap file system changes processing recovery from duplicate module IDs
  ✅ recovers when the oldest version of the duplicates is fixed
  ✅ recovers when the most recent duplicate is fixed
  ✅ ignore directories
```
### ✅ <a id="user-content-r0s287" href="#user-content-r0s287">packages/jest-haste-map/src/__tests__/worker.test.js</a>
```
worker
  ✅ parses JavaScript files and extracts module information
  ✅ accepts a custom dependency extractor
  ✅ delegates to hasteImplModulePath for getting the id
  ✅ parses package.json files as haste packages
  ✅ returns an error when a file cannot be accessed
  ✅ simply computes SHA-1s when requested (works well with binary data)
  ✅ avoids computing dependencies if not requested and Haste does not need it
```
### ✅ <a id="user-content-r0s288" href="#user-content-r0s288">packages/jest-haste-map/src/crawlers/__tests__/node.test.js</a>
```
node crawler
  ✅ crawls for files based on patterns
  ✅ updates only changed files
  ✅ returns removed files
  ✅ uses node fs APIs with incompatible find binary
  ✅ uses node fs APIs without find binary
  ✅ uses node fs APIs if "forceNodeFilesystemAPI" is set to true, regardless of platform
  ✅ completes with empty roots
  ✅ completes with fs.readdir throwing an error
node crawler readdir withFileTypes support
  ✅ calls lstat for directories and symlinks if readdir withFileTypes is not supported
  ✅ avoids calling lstat for directories and symlinks if readdir withFileTypes is supported
```
### ✅ <a id="user-content-r0s289" href="#user-content-r0s289">packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js</a>
```
watchman watch
  ✅ returns a list of all files when there are no clocks
  ✅ updates file map and removedFiles when the clock is given
  ✅ resets the file map and tracks removedFiles when watchman is fresh
  ✅ properly resets the file map when only one watcher is reset
  ✅ does not add directory filters to query when watching a ROOT
  ✅ SHA-1 requested and available
  ✅ SHA-1 requested and NOT available
  ✅ source control query
```
### ✅ <a id="user-content-r0s290" href="#user-content-r0s290">packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js</a>
```
dependencyExtractor
  ✅ should not extract dependencies inside comments
  ✅ should not extract dependencies inside comments (windows line endings)
  ✅ should not extract dependencies inside comments (unicode line endings)
  ✅ should extract dependencies from `import` statements
  ✅ should extract dependencies from side-effect only `import` statements
  ✅ should not extract dependencies from `import type/typeof` statements
  ✅ should extract dependencies from `export` statements
  ✅ should extract dependencies from `export-from` statements
  ✅ should not extract dependencies from `export type/typeof` statements
  ✅ should extract dependencies from dynamic `import` calls
  ✅ should extract dependencies from `require` calls
  ✅ should extract dependencies from `jest.requireActual` calls
  ✅ should extract dependencies from `jest.requireMock` calls
  ✅ should extract dependencies from `jest.genMockFromModule` calls
  ✅ should extract dependencies from `jest.createMockFromModule` calls
```
### ✅ <a id="user-content-r0s291" href="#user-content-r0s291">packages/jest-haste-map/src/lib/__tests__/fast_path.test.js</a>
```
fastPath.relative
  ✅ should get relative paths inside the root
  ✅ should get relative paths outside the root
  ✅ should get relative paths outside the root when start with same word
fastPath.resolve
  ✅ should get the absolute path for paths inside the root
  ✅ should get the absolute path for paths outside the root
```
### ✅ <a id="user-content-r0s292" href="#user-content-r0s292">packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js</a>
```
getPlatformExtension
  ✅ should get platform ext
```
### ✅ <a id="user-content-r0s293" href="#user-content-r0s293">packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js</a>
```
isRegExpSupported
  ✅ should return true when passing valid regular expression
  ✅ should return false when passing an invalid regular expression
```
### ✅ <a id="user-content-r0s294" href="#user-content-r0s294">packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js</a>
```
normalizePathSep
  ✅ does nothing on posix
  ✅ replace slashes on windows
```
### ✅ <a id="user-content-r0s295" href="#user-content-r0s295">packages/jest-jasmine2/src/__tests__/concurrent.test.ts</a>
```
concurrent
  ✅ should add 1 to number
  ✅ should add 1 to number
  ✅ should add 1 to number
```
### ✅ <a id="user-content-r0s296" href="#user-content-r0s296">packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts</a>
```
expectationResultFactory
  ✅ returns the result if passed.
  ✅ returns the result if failed.
  ✅ returns the result if failed (with `message`).
  ✅ returns the result if failed (with `error`).
  ✅ returns the error name if the error message is empty
  ✅ returns the result if failed (with `error` as a string).
  ✅ returns the result if failed (with `error.stack` not as a string).
```
### ✅ <a id="user-content-r0s297" href="#user-content-r0s297">packages/jest-jasmine2/src/__tests__/hooksError.test.ts</a>
```
beforeEach hooks error throwing
  ✅ beforeEach throws an error when "String" is provided as a first argument to it
  ✅ beforeEach throws an error when 1 is provided as a first argument to it
  ✅ beforeEach throws an error when [] is provided as a first argument to it
  ✅ beforeEach throws an error when {} is provided as a first argument to it
  ✅ beforeEach throws an error when Symbol(hello) is provided as a first argument to it
  ✅ beforeEach throws an error when true is provided as a first argument to it
  ✅ beforeEach throws an error when null is provided as a first argument to it
  ✅ beforeEach throws an error when undefined is provided as a first argument to it
beforeAll hooks error throwing
  ✅ beforeAll throws an error when "String" is provided as a first argument to it
  ✅ beforeAll throws an error when 1 is provided as a first argument to it
  ✅ beforeAll throws an error when [] is provided as a first argument to it
  ✅ beforeAll throws an error when {} is provided as a first argument to it
  ✅ beforeAll throws an error when Symbol(hello) is provided as a first argument to it
  ✅ beforeAll throws an error when true is provided as a first argument to it
  ✅ beforeAll throws an error when null is provided as a first argument to it
  ✅ beforeAll throws an error when undefined is provided as a first argument to it
afterEach hooks error throwing
  ✅ afterEach throws an error when "String" is provided as a first argument to it
  ✅ afterEach throws an error when 1 is provided as a first argument to it
  ✅ afterEach throws an error when [] is provided as a first argument to it
  ✅ afterEach throws an error when {} is provided as a first argument to it
  ✅ afterEach throws an error when Symbol(hello) is provided as a first argument to it
  ✅ afterEach throws an error when true is provided as a first argument to it
  ✅ afterEach throws an error when null is provided as a first argument to it
  ✅ afterEach throws an error when undefined is provided as a first argument to it
afterAll hooks error throwing
  ✅ afterAll throws an error when "String" is provided as a first argument to it
  ✅ afterAll throws an error when 1 is provided as a first argument to it
  ✅ afterAll throws an error when [] is provided as a first argument to it
  ✅ afterAll throws an error when {} is provided as a first argument to it
  ✅ afterAll throws an error when Symbol(hello) is provided as a first argument to it
  ✅ afterAll throws an error when true is provided as a first argument to it
  ✅ afterAll throws an error when null is provided as a first argument to it
  ✅ afterAll throws an error when undefined is provided as a first argument to it
```
### ✅ <a id="user-content-r0s298" href="#user-content-r0s298">packages/jest-jasmine2/src/__tests__/iterators.test.ts</a>
```
iterators
  ✅ works for arrays
  ✅ works for custom iterables
  ✅ works for Sets
  ✅ works for Maps
```
### ✅ <a id="user-content-r0s299" href="#user-content-r0s299">packages/jest-jasmine2/src/__tests__/itTestError.test.ts</a>
```
test/it error throwing
  ✅ it throws error with missing callback function
  ✅ it throws an error when first argument isn't a string
  ✅ it throws an error when callback function is not a function
  ✅ test throws error with missing callback function
  ✅ test throws an error when first argument isn't a string
  ✅ test throws an error when callback function is not a function
```
### ✅ <a id="user-content-r0s300" href="#user-content-r0s300">packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts</a>
```
✅ global.test
```
### ✅ <a id="user-content-r0s301" href="#user-content-r0s301">packages/jest-jasmine2/src/__tests__/pTimeout.test.ts</a>
```
pTimeout
  ✅ calls `clearTimeout` and resolves when `promise` resolves.
  ✅ calls `clearTimeout` and rejects when `promise` rejects.
  ✅ calls `onTimeout` on timeout.
```
### ✅ <a id="user-content-r0s302" href="#user-content-r0s302">packages/jest-jasmine2/src/__tests__/queueRunner.test.ts</a>
```
queueRunner
  ✅ runs every function in the queue.
  ✅ exposes `fail` to `next`.
  ✅ passes errors to `onException`.
  ✅ passes an error to `onException` on timeout.
  ✅ calls `fail` with arguments
  ✅ calls `fail` when done(error) is invoked
```
### ✅ <a id="user-content-r0s303" href="#user-content-r0s303">packages/jest-jasmine2/src/__tests__/reporter.test.ts</a>
```
Jasmine2Reporter
  ✅ reports nested suites
```
### ✅ <a id="user-content-r0s304" href="#user-content-r0s304">packages/jest-jasmine2/src/__tests__/Suite.test.ts</a>
```
Suite
  ✅ doesn't throw on addExpectationResult when there are no children
```
### ✅ <a id="user-content-r0s305" href="#user-content-r0s305">packages/jest-jasmine2/src/__tests__/todoError.test.ts</a>
```
test/it.todo error throwing
  ✅ it throws error when given no arguments
  ✅ it throws error when given more than one argument
  ✅ it throws error when given none string description
```
### ✅ <a id="user-content-r0s306" href="#user-content-r0s306">packages/jest-leak-detector/src/__tests__/index.test.ts</a>
```
✅ complains if the value is a primitive
✅ does not show the GC if hidden
✅ does not hide the GC if visible
✅ correctly checks simple leaks
✅ tests different objects
✅ correctly checks more complex leaks
```
### ✅ <a id="user-content-r0s307" href="#user-content-r0s307">packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts</a>
```
✅ returns the same value for primitive or function values
✅ convert accessor descriptor into value descriptor
✅ shuold not skips non-enumerables
✅ copies symbols
✅ copies arrays as array objects
✅ handles cyclic dependencies
✅ Copy Map
✅ Copy cyclic Map
✅ return same value for built-in object type except array, map and object
✅ should copy object symbol key property
✅ should set writable, configurable to true
```
### ✅ <a id="user-content-r0s308" href="#user-content-r0s308">packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts</a>
```
✅ should copy dom element
✅ should copy complex element
```
### ✅ <a id="user-content-r0s309" href="#user-content-r0s309">packages/jest-matcher-utils/src/__tests__/index.test.ts</a>
```
stringify()
  ✅ []
  ✅ {}
  ✅ 1
  ✅ 0
  ✅ 1.5
  ✅ null
  ✅ undefined
  ✅ "abc"
  ✅ Symbol(abc)
  ✅ NaN
  ✅ Infinity
  ✅ -Infinity
  ✅ /ab\.c/gi
  ✅ 1n
  ✅ 0n
  ✅ circular references
  ✅ toJSON error
  ✅ toJSON errors when comparing two objects
  ✅ reduces maxDepth if stringifying very large objects
ensureNumbers()
  ✅ dont throw error when variables are numbers
  ✅ throws error when expected is not a number (backward compatibility)
  ✅ throws error when received is not a number (backward compatibility)
ensureNumbers() with options
  ✅ promise empty isNot false received
  ✅ promise empty isNot true expected
  ✅ promise rejects isNot false expected
  ✅ promise rejects isNot true received
  ✅ promise resolves isNot false received
  ✅ promise resolves isNot true expected
ensureNoExpected()
  ✅ dont throw error when undefined
  ✅ throws error when expected is not undefined with matcherName
  ✅ throws error when expected is not undefined with matcherName and options
diff
  ✅ forwards to jest-diff
  ✅ two booleans
  ✅ two numbers
  ✅ two bigints
pluralize()
  ✅ one
  ✅ two
  ✅ 20
getLabelPrinter
  ✅ 0 args
  ✅ 1 empty string
  ✅ 1 non-empty string
  ✅ 2 equal lengths
  ✅ 2 unequal lengths
  ✅ returns incorrect padding if inconsistent arg is shorter
  ✅ throws if inconsistent arg is longer
matcherHint
  ✅ expectedColor
  ✅ receivedColor
  ✅ secondArgumentColor
```
### ✅ <a id="user-content-r0s310" href="#user-content-r0s310">packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts</a>
```
printDiffOrStringify
  ✅ expected is empty and received is single line
  ✅ expected is multi line and received is empty
  ✅ expected and received are single line with multiple changes
  ✅ expected and received are multi line with trailing spaces
  ✅ has no common after clean up chaff multiline
  ✅ has no common after clean up chaff one-line
  ✅ object contain readonly symbol key object
printDiffOrStringify MAX_DIFF_STRING_LENGTH
  ✅ both are less
  ✅ expected is more
  ✅ received is more
printDiffOrStringify asymmetricMatcher
  ✅ minimal test
  ✅ jest asymmetricMatcher
  ✅ custom asymmetricMatcher
  ✅ nested object
  ✅ array
  ✅ object in array
  ✅ map
  ✅ circular object
  ✅ transitive circular
  ✅ circular array
  ✅ circular map
```
### ✅ <a id="user-content-r0s311" href="#user-content-r0s311">packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts</a>
```
Replaceable constructor
  ✅ init with object
  ✅ init with array
  ✅ init with Map
  ✅ init with other type should throw error
Replaceable get
  ✅ get object item
  ✅ get array item
  ✅ get Map item
Replaceable set
  ✅ set object item
  ✅ set array item
  ✅ set Map item
Replaceable forEach
  ✅ object forEach
  ✅ array forEach
  ✅ map forEach
  ✅ forEach should ignore nonenumerable property
Replaceable isReplaceable
  ✅ should return true if two object types equal and support
  ✅ should return false if two object types not equal
  ✅ should return false if object types not support
```
### ✅ <a id="user-content-r0s312" href="#user-content-r0s312">packages/jest-message-util/src/__tests__/messages.test.ts</a>
```
✅ should exclude jasmine from stack trace for Unix paths.
✅ .formatExecError()
✅ formatStackTrace should strip node internals
✅ should not exclude vendor from stack trace
✅ retains message in babel code frame error
✅ codeframe
✅ no codeframe
✅ no stack
formatStackTrace
  ✅ prints code frame and stacktrace
  ✅ does not print code frame when noCodeFrame = true
  ✅ does not print codeframe when noStackTrace = true
```
### ✅ <a id="user-content-r0s313" href="#user-content-r0s313">packages/jest-mock/src/__tests__/index.test.ts</a>
```
moduleMocker getMetadata
  ✅ returns the function `name` property
  ✅ mocks constant values
  ✅ does not retrieve metadata for arrays
  ✅ does not retrieve metadata for undefined
  ✅ does not retrieve metadata for null
  ✅ retrieves metadata for ES6 classes
  ✅ retrieves synchronous function metadata
  ✅ retrieves asynchronous function metadata
  ✅ retrieves metadata for object literals and it's members
  ✅ retrieves Date object metadata
moduleMocker generateFromMetadata
  ✅ forwards the function name property
  ✅ fixes illegal function name properties
  ✅ special cases the mockConstructor name
  ✅ wont interfere with previous mocks on a shared prototype
  ✅ does not mock non-enumerable getters
  ✅ mocks getters of ES modules
  ✅ mocks ES2015 non-enumerable methods
  ✅ mocks ES2015 non-enumerable static properties and methods
  ✅ mocks methods in all the prototype chain (null prototype)
  ✅ does not mock methods from Object.prototype
  ✅ does not mock methods from Object.prototype (in mock context)
  ✅ does not mock methods from Function.prototype
  ✅ does not mock methods from Function.prototype (in mock context)
  ✅ does not mock methods from RegExp.prototype
  ✅ does not mock methods from RegExp.prototype (in mock context)
  ✅ mocks methods that are bound multiple times
  ✅ mocks methods that are bound after mocking
  ✅ mocks regexp instances
  ✅ mocks functions with numeric names
  ✅ mocks the method in the passed object itself
  ✅ should delete previously inexistent methods when restoring
  ✅ supports mock value returning undefined
  ✅ supports mock value once returning undefined
  ✅ mockReturnValueOnce mocks value just once
  ✅ supports mocking resolvable async functions
  ✅ supports mocking resolvable async functions only once
  ✅ supports mocking rejectable async functions
  ✅ supports mocking rejectable async functions only once
  ✅ tracks thrown errors without interfering with other tracking
  ✅ a call that throws undefined is tracked properly
  ✅ results of recursive calls are tracked properly
  ✅ test results of recursive calls from within the recursive call
  ✅ call mockClear inside recursive mock
moduleMocker generateFromMetadata mocked functions
  ✅ tracks calls to mocks
  ✅ tracks instances made by mocks
  ✅ supports clearing mock calls
  ✅ supports clearing mocks
  ✅ supports clearing all mocks
  ✅ supports resetting mock return values
  ✅ supports resetting single use mock return values
  ✅ supports resetting mock implementations
  ✅ supports resetting single use mock implementations
  ✅ supports resetting all mocks
  ✅ maintains function arity
moduleMocker generateFromMetadata return values
  ✅ tracks return values
  ✅ tracks mocked return values
  ✅ supports resetting return values
moduleMocker generateFromMetadata invocationCallOrder
  ✅ tracks invocationCallOrder made by mocks
  ✅ supports clearing mock invocationCallOrder
  ✅ supports clearing all mocks invocationCallOrder
  ✅ handles a property called `prototype`
moduleMocker getMockImplementation
  ✅ should mock calls to a mock function
moduleMocker mockImplementationOnce
  ✅ should mock constructor
  ✅ should mock single call to a mock function
  ✅ should fallback to default mock function when no specific mock is available
moduleMocker
  ✅ mockReturnValue does not override mockImplementationOnce
  ✅ mockImplementation resets the mock
  ✅ should recognize a mocked function
  ✅ default mockName is jest.fn()
  ✅ mockName sets the mock name
  ✅ mockName gets reset by mockReset
  ✅ mockName gets reset by mockRestore
  ✅ mockName is not reset by mockClear
moduleMocker spyOn
  ✅ should work
  ✅ should throw on invalid input
  ✅ supports restoring all spies
  ✅ should work with getters
moduleMocker spyOnProperty
  ✅ should work - getter
  ✅ should work - setter
  ✅ should throw on invalid input
  ✅ supports restoring all spies
  ✅ should work with getters on the prototype chain
  ✅ should work with setters on the prototype chain
  ✅ supports restoring all spies on the prototype chain
```
### ✅ <a id="user-content-r0s314" href="#user-content-r0s314">packages/jest-regex-util/src/__tests__/index.test.ts</a>
```
replacePathSepForRegex() posix
  ✅ should return the path
replacePathSepForRegex() win32
  ✅ should replace POSIX path separators
  ✅ should escape Windows path separators
  ✅ should not escape an escaped dot
  ✅ should not escape an escaped regexp symbol
  ✅ should escape Windows path separators inside groups
  ✅ should escape Windows path separator at the beginning
  ✅ should not escape several already escaped path separators
```
### ✅ <a id="user-content-r0s315" href="#user-content-r0s315">packages/jest-repl/src/__tests__/jest_repl.test.js</a>
```
Repl cli
  ✅ runs without errors
```
### ✅ <a id="user-content-r0s316" href="#user-content-r0s316">packages/jest-repl/src/__tests__/runtime_cli.test.js</a>
```
Runtime CLI
  ✅ fails with no path
  ✅ displays script output
  ✅ always disables automocking
  ✅ throws script errors
```
### ✅ <a id="user-content-r0s317" href="#user-content-r0s317">packages/jest-reporters/src/__tests__/CoverageReporter.test.js</a>
```
onRunComplete
  ✅ getLastError() returns an error when threshold is not met for global
  ✅ getLastError() returns an error when threshold is not met for file
  ✅ getLastError() returns `undefined` when threshold is met
  ✅ getLastError() returns an error when threshold is not met for non-covered file
  ✅ getLastError() returns an error when threshold is not met for directory
  ✅ getLastError() returns `undefined` when threshold is met for directory
  ✅ getLastError() returns an error when there is no coverage data for a threshold
  ✅ getLastError() returns 'undefined' when global threshold group
   is empty because PATH and GLOB threshold groups have matched all the
    files in the coverage data.
  ✅ getLastError() returns 'undefined' when file and directory path
  threshold groups overlap
  ✅ that if globs or paths are specified alongside global, coverage
  data for matching paths will be subtracted from overall coverage
  and thresholds will be applied independently
  ✅ that files are matched by all matching threshold groups
  ✅ that it passes custom options when creating reporters
```
### ✅ <a id="user-content-r0s318" href="#user-content-r0s318">packages/jest-reporters/src/__tests__/CoverageWorker.test.js</a>
```
✅ resolves to the result of generateEmptyCoverage upon success
✅ throws errors on invalid JavaScript
```
### ✅ <a id="user-content-r0s319" href="#user-content-r0s319">packages/jest-reporters/src/__tests__/DefaultReporter.test.js</a>
```
✅ normal output, everything goes to stdout
✅ when using stderr as output, no stdout call is made
```
### ✅ <a id="user-content-r0s320" href="#user-content-r0s320">packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js</a>
```
generateEmptyCoverage
  ✅ generates an empty coverage object for a file without running it
  ✅ generates a null coverage result when using /* istanbul ignore file */
  ✅ generates a null coverage result when collectCoverage global config is false
```
### ✅ <a id="user-content-r0s321" href="#user-content-r0s321">packages/jest-reporters/src/__tests__/getResultHeader.test.js</a>
```
✅ should call `terminal-link` correctly
✅ should render the terminal link
✅ should display test time for slow test
✅ should not display test time for fast test
```
### ✅ <a id="user-content-r0s322" href="#user-content-r0s322">packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js</a>
```
✅ Retrieves the snapshot status
✅ Shows no snapshot updates if all snapshots matched
✅ Retrieves the snapshot status after a snapshot update
```
### ✅ <a id="user-content-r0s323" href="#user-content-r0s323">packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js</a>
```
✅ creates a snapshot summary
✅ creates a snapshot summary after an update
✅ creates a snapshot summary with multiple snapshot being written/updated
✅ returns nothing if there are no updates
```
### ✅ <a id="user-content-r0s324" href="#user-content-r0s324">packages/jest-reporters/src/__tests__/getWatermarks.test.ts</a>
```
getWatermarks
  ✅ that watermarks use thresholds as upper target
  ✅ that watermarks are created always created
```
### ✅ <a id="user-content-r0s325" href="#user-content-r0s325">packages/jest-reporters/src/__tests__/NotifyReporter.test.ts</a>
```
✅ test always
✅ test success
✅ test change
✅ test success-change
✅ test failure-change
✅ test always with rootDir
✅ test success with rootDir
✅ test change with rootDir
✅ test success-change with rootDir
✅ test failure-change with rootDir
✅ test always with moduleName
✅ test success with moduleName
✅ test change with moduleName
✅ test success-change with moduleName
✅ test failure-change with moduleName
node-notifier is an optional dependency
  ✅ without node-notifier uses mock function that throws an error
  ✅ throws the error when require throws an unexpected error
  ✅ uses node-notifier when it is available
```
### ✅ <a id="user-content-r0s326" href="#user-content-r0s326">packages/jest-reporters/src/__tests__/SummaryReporter.test.js</a>
```
✅ snapshots needs update with npm test
✅ snapshots needs update with yarn test
✅ snapshots all have results (no update)
✅ snapshots all have results (after update)
```
### ✅ <a id="user-content-r0s327" href="#user-content-r0s327">packages/jest-reporters/src/__tests__/utils.test.ts</a>
```
wrapAnsiString()
  ✅ wraps a long string containing ansi chars
  ✅ returns the string unaltered if given a terminal width of zero
trimAndFormatPath()
  ✅ trims dirname
  ✅ trims dirname (longer line width)
  ✅ trims dirname and basename
  ✅ does not trim anything
  ✅ split at the path.sep index
printDisplayName
  ✅ should default displayName color to white when displayName is a string
  ✅ should default displayName color to white when color is not a valid value
  ✅ should correctly print the displayName when color and name are valid values
```
### ✅ <a id="user-content-r0s328" href="#user-content-r0s328">packages/jest-reporters/src/__tests__/VerboseReporter.test.js</a>
```
groupTestsBySuites
  ✅ should handle empty results
  ✅ should group A1 in A
  ✅ should group A1 in A; B1 in B
  ✅ should group A1, A2 in A
  ✅ should group A1, A2 in A; B1, B2 in B
  ✅ should group AB1 in AB
  ✅ should group AB1, AB2 in AB
  ✅ should group A1 in A; AB1 in AB
  ✅ should group AB1 in AB; A1 in A
  ✅ should group AB1 in AB; CD1 in CD
  ✅ should group ABC1 in ABC; BC1 in BC; D1 in D; A1 in A
```
### ✅ <a id="user-content-r0s329" href="#user-content-r0s329">packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts</a>
```
✅ resolves no dependencies for non-existent path
✅ resolves dependencies for existing path
✅ includes the mocks of dependencies as dependencies
✅ resolves dependencies for scoped packages
✅ resolves no inverse dependencies for empty paths set
✅ resolves no inverse dependencies for set of non-existent paths
✅ resolves inverse dependencies for existing path
✅ resolves inverse dependencies of mock
✅ resolves inverse dependencies from available snapshot
✅ resolves dependencies correctly when dependency resolution fails
✅ resolves dependencies correctly when mock dependency resolution fails
```
### ✅ <a id="user-content-r0s330" href="#user-content-r0s330">packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts</a>
```
isBuiltinModule
  ✅ should return true for the `path` module
  ✅ should return false for the `chalk` module
  ✅ should return true for the `_http_common` module
  ✅ should return false for any internal node builtins
```
### ✅ <a id="user-content-r0s331" href="#user-content-r0s331">packages/jest-resolve/src/__tests__/resolve.test.ts</a>
```
isCoreModule
  ✅ returns false if `hasCoreModules` is false.
  ✅ returns true if `hasCoreModules` is true and `moduleName` is a core module.
  ✅ returns false if `hasCoreModules` is true and `moduleName` is not a core module.
  ✅ returns false if `hasCoreModules` is true and `moduleNameMapper` alias a module same name with core module
findNodeModule
  ✅ is possible to override the default resolver
  ✅ passes packageFilter to the resolve module when using the default resolver
resolveModule
  ✅ is possible to resolve node modules
  ✅ is possible to resolve node modules with custom extensions
  ✅ is possible to resolve node modules with custom extensions and platforms
  ✅ is possible to resolve node modules by resolving their realpath
  ✅ is possible to specify custom resolve paths
  ✅ does not confuse directories with files
getMockModule
  ✅ is possible to use custom resolver to resolve deps inside mock modules with moduleNameMapper
nodeModulesPaths
  ✅ provides custom module paths after node_modules
Resolver.getModulePaths() -> nodeModulesPaths()
  ✅ can resolve node modules relative to absolute paths in "moduleDirectories" on Windows platforms
  ✅ can resolve node modules relative to absolute paths in "moduleDirectories" on Posix platforms
```
### ✅ <a id="user-content-r0s332" href="#user-content-r0s332">packages/jest-runner/src/__tests__/testRunner.test.ts</a>
```
✅ injects the serializable module map into each worker in watch mode
✅ assign process.env.JEST_WORKER_ID = 1 when in runInBand mode
```
### ✅ <a id="user-content-r0s333" href="#user-content-r0s333">packages/jest-runtime/src/__tests__/instrumentation.test.ts</a>
```
✅ instruments files
```
### ✅ <a id="user-content-r0s334" href="#user-content-r0s334">packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js</a>
```
Runtime createMockFromModule
  ✅ does not cause side effects in the rest of the module system when generating a mock
  ✅ resolves mapped modules correctly
Runtime
  ✅ creates mock objects in the right environment
```
### ✅ <a id="user-content-r0s335" href="#user-content-r0s335">packages/jest-runtime/src/__tests__/runtime_environment.test.js</a>
```
Runtime requireModule
  ✅ emulates a node stack trace during module load
  ✅ emulates a node stack trace during function execution
```
### ✅ <a id="user-content-r0s336" href="#user-content-r0s336">packages/jest-runtime/src/__tests__/runtime_internal_module.test.js</a>
```
Runtime internalModule
  ✅ loads modules and applies transforms
  ✅ loads internal modules without applying transforms
  ✅ loads JSON modules and applies transforms
  ✅ loads internal JSON modules without applying transforms
```
### ✅ <a id="user-content-r0s337" href="#user-content-r0s337">packages/jest-runtime/src/__tests__/runtime_jest_fn.js</a>
```
Runtime jest.fn
  ✅ creates mock functions
  ✅ creates mock functions with mock implementations
Runtime jest.isMockFunction
  ✅ recognizes a mocked function
Runtime jest.clearAllMocks
  ✅ clears all mocks
```
### ✅ <a id="user-content-r0s338" href="#user-content-r0s338">packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js</a>
```
Runtime jest.spyOn
  ✅ calls the original function
Runtime jest.spyOnProperty
  ✅ calls the original function
```
### ✅ <a id="user-content-r0s339" href="#user-content-r0s339">packages/jest-runtime/src/__tests__/runtime_mock.test.js</a>
```
Runtime jest.mock
  ✅ uses explicitly set mocks instead of automocking
  ✅ sets virtual mock for non-existing module required from same directory
  ✅ sets virtual mock for non-existing module required from different directory
Runtime jest.setMock
  ✅ uses explicitly set mocks instead of automocking
```
### ✅ <a id="user-content-r0s340" href="#user-content-r0s340">packages/jest-runtime/src/__tests__/runtime_module_directories.test.js</a>
```
Runtime
  ✅ uses configured moduleDirectories
  ✅ resolves packages
  ✅ finds closest module from moduleDirectories
  ✅ only checks the configured directories
```
### ✅ <a id="user-content-r0s341" href="#user-content-r0s341">packages/jest-runtime/src/__tests__/runtime_node_path.test.js</a>
```
Runtime
  ✅ uses NODE_PATH to find modules
  ✅ uses modulePaths to find modules
  ✅ finds modules in NODE_PATH containing multiple paths
  ✅ does not find modules if NODE_PATH is relative
```
### ✅ <a id="user-content-r0s342" href="#user-content-r0s342">packages/jest-runtime/src/__tests__/runtime_require_actual.test.js</a>
```
Runtime requireActual
  ✅ requires node module when manual mock exists
  ✅ requireActual with moduleNameMapper
```
### ✅ <a id="user-content-r0s343" href="#user-content-r0s343">packages/jest-runtime/src/__tests__/runtime_require_cache.test.js</a>
```
Runtime require.cache
  ✅ require.cache returns loaded module list as native Nodejs require does
  ✅ require.cache is tolerant readonly
```
### ✅ <a id="user-content-r0s344" href="#user-content-r0s344">packages/jest-runtime/src/__tests__/runtime_require_mock.test.js</a>
```
Runtime requireMock
  ✅ uses manual mocks before attempting to automock
  ✅ can resolve modules that are only referenced from mocks
  ✅ stores and re-uses manual mock exports
  ✅ automocks haste modules without a manual mock
  ✅ automocks relative-path modules without a file extension
  ✅ automocks relative-path modules with a file extension
  ✅ just falls back when loading a native module
  ✅ stores and re-uses automocked haste exports
  ✅ stores and re-uses automocked relative-path modules
  ✅ multiple node core modules returns correct module
  ✅ throws on non-existent haste modules
  ✅ uses manual mocks when using a custom resolver
  ✅ provides `require.main` in mock
```
### ✅ <a id="user-content-r0s345" href="#user-content-r0s345">packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js</a>
```
Runtime requireModule with no extension
  ✅ throws error pointing out file with extension
```
### ✅ <a id="user-content-r0s346" href="#user-content-r0s346">packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js</a>
```
transitive dependencies
  ✅ mocks a manually mocked and mapped module
  ✅ unmocks transitive dependencies in node_modules by default
  ✅ unmocks transitive dependencies in node_modules when using unmock
  ✅ unmocks transitive dependencies in node_modules by default when using both patterns and unmock
  ✅ mocks deep dependencies when using unmock
  ✅ does not mock deep dependencies when using deepUnmock
```
### ✅ <a id="user-content-r0s347" href="#user-content-r0s347">packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js</a>
```
✅ mocks modules by default when using automocking
✅ doesn't mock modules when explicitly unmocked when using automocking
✅ doesn't mock modules when explicitly unmocked via a different name
✅ doesn't mock modules when disableAutomock() has been called
✅ uses manual mock when automocking on and mock is available
✅ does not use manual mock when automocking is off and a real module is available
✅ resolves mapped module names and unmocks them by default
✅ automocking is disabled by default
✅ unmocks modules in config.unmockedModulePathPatterns for tests with automock enabled when automock is false
✅ unmocks virtual mocks after they have been mocked previously
resetModules
  ✅ resets all the modules
isolateModules
  ✅ keeps it's registry isolated from global one
  ✅ resets all modules after the block
  ✅ resets module after failing
  ✅ cannot nest isolateModules blocks
  ✅ can call resetModules within a isolateModules block
isolateModules can use isolateModules from a beforeEach block
  ✅ can use the required module from beforeEach and re-require it
```
### ✅ <a id="user-content-r0s348" href="#user-content-r0s348">packages/jest-runtime/src/__tests__/runtime_require_module.test.js</a>
```
Runtime requireModule
  ✅ finds haste modules
  ✅ provides `module` to modules
  ✅ provides `module.parent` to modules
  ✅ `module.parent` should be undefined for entrypoints
  ✅ resolve module.parent.require correctly
  ✅ resolve module.parent.filename correctly
  ✅ provides `module.loaded` to modules
  ✅ provides `module.filename` to modules
  ✅ provides `module.paths` to modules
  ✅ provides `require.main` to modules
  ✅ throws on non-existent haste modules
  ✅ finds relative-path modules without file extension
  ✅ finds relative-path modules with file extension
  ✅ throws on non-existent relative-path modules
  ✅ finds node core built-in modules
  ✅ finds and loads JSON files without file extension
  ✅ finds and loads JSON files with file extension
  ✅ requires a JSON file twice successfully
  ✅ provides manual mock when real module doesnt exist
  ✅ doesn't override real modules with manual mocks when explicitly unmocked
  ✅ resolves haste packages properly
  ✅ resolves platform extensions based on the default platform
  ✅ finds modules encoded in UTF-8 *with BOM*
  ✅ finds and loads JSON files encoded in UTF-8 *with BOM*
  ✅ should export a constructable Module class
  ✅ caches Module correctly
Runtime requireModule on node >=12.12.0
  ✅ overrides module.createRequire
```
### ✅ <a id="user-content-r0s349" href="#user-content-r0s349">packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts</a>
```
Runtime require.resolve
  ✅ resolves a module path
  ✅ resolves a module path with moduleNameMapper
Runtime require.resolve with the jest-resolve-outside-vm-option
  ✅ forwards to the real Node require in an internal context
  ✅ ignores the option in an external context
  ✅ does not understand a self-constructed outsideJestVmPath in an external context
```
### ✅ <a id="user-content-r0s350" href="#user-content-r0s350">packages/jest-runtime/src/__tests__/runtime_wrap.js</a>
```
Runtime wrapCodeInModuleWrapper
  ✅ generates the correct args for the module wrapper
  ✅ injects "extra globals"
```
### ✅ <a id="user-content-r0s351" href="#user-content-r0s351">packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js</a>
```
Runtime requireModule
  ✅ installs source maps if available
```
### ✅ <a id="user-content-r0s352" href="#user-content-r0s352">packages/jest-runtime/src/__tests__/Runtime-statics.test.js</a>
```
Runtime statics
  ✅ Runtime.createHasteMap passes correct ignore files to HasteMap
  ✅ Runtime.createHasteMap passes correct ignore files to HasteMap in watch mode
```
### ✅ <a id="user-content-r0s353" href="#user-content-r0s353">packages/jest-serializer/src/__tests__/index.test.ts</a>
```
Using V8 implementation
  ✅ throws the error with an invalid serialization
Using V8 implementation Object 0
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
Using V8 implementation Object 1
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
Using V8 implementation Object 2
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
Using V8 implementation Object 3
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
Using V8 implementation Object 4
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
Using V8 implementation Object 5
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
Using V8 implementation Object 6
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
Using V8 implementation Object 7
  ✅ serializes/deserializes in memory
  ✅ serializes/deserializes in disk
```
### ✅ <a id="user-content-r0s354" href="#user-content-r0s354">packages/jest-snapshot/src/__tests__/dedentLines.test.ts</a>
```
dedentLines non-null
  ✅ no lines
  ✅ one line empty string
  ✅ one line empty object
  ✅ one line self-closing element
  ✅ object value empty string
  ✅ object value string includes double-quote marks
  ✅ markup with props and text
  ✅ markup with components as props
dedentLines null
  ✅ object key multi-line
  ✅ object value multi-line
  ✅ object key and value multi-line
  ✅ markup prop multi-line
  ✅ markup prop component with multi-line text
  ✅ markup text multi-line
  ✅ markup text multiple lines
  ✅ markup unclosed self-closing start tag
  ✅ markup unclosed because no end tag
```
### ✅ <a id="user-content-r0s355" href="#user-content-r0s355">packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts</a>
```
✅ saveInlineSnapshots() replaces empty function call with a template literal
✅ saveInlineSnapshots() without prettier leaves formatting outside of snapshots alone
✅ saveInlineSnapshots() can handle typescript without prettier
✅ saveInlineSnapshots() can handle tsx without prettier
✅ saveInlineSnapshots() can handle flow and jsx without prettier
✅ saveInlineSnapshots() can use prettier to fix formatting for whole file
✅ saveInlineSnapshots() replaces existing template literal - babel parser
✅ saveInlineSnapshots() replaces existing template literal - flow parser
✅ saveInlineSnapshots() replaces existing template literal - typescript parser
✅ saveInlineSnapshots() replaces existing template literal with property matchers
✅ saveInlineSnapshots() creates template literal with property matchers
✅ saveInlineSnapshots() creates template literal with property matchers
✅ saveInlineSnapshots() throws if frame does not match
✅ saveInlineSnapshots() throws if multiple calls to to the same location
✅ saveInlineSnapshots() uses escaped backticks
✅ saveInlineSnapshots() works with non-literals in expect call
✅ saveInlineSnapshots() indents multi-line snapshots with spaces
✅ saveInlineSnapshots() does not re-indent error snapshots
✅ saveInlineSnapshots() does not re-indent already indented snapshots
✅ saveInlineSnapshots() indents multi-line snapshots with tabs
✅ saveInlineSnapshots() indents snapshots after prettier reformats
✅ saveInlineSnapshots() does not indent empty lines
```
### ✅ <a id="user-content-r0s356" href="#user-content-r0s356">packages/jest-snapshot/src/__tests__/matcher.test.ts</a>
```
✅ matcher returns matcher name, expected and actual values
```
### ✅ <a id="user-content-r0s357" href="#user-content-r0s357">packages/jest-snapshot/src/__tests__/mockSerializer.test.ts</a>
```
✅ mock with 0 calls and default name
✅ mock with 2 calls, 1 return, 1 throw
✅ mock with 0 calls and default name in React element
✅ mock with 0 calls and non-default name
✅ mock with 1 calls and non-default name via new in object
✅ mock with 1 calls in React element
✅ mock with 2 calls
✅ indent option
✅ min option
✅ maxDepth option
```
### ✅ <a id="user-content-r0s358" href="#user-content-r0s358">packages/jest-snapshot/src/__tests__/printSnapshot.test.ts</a>
```
chalk
  ✅ level 0
  ✅ level 1
  ✅ level 2
  ✅ level 3
matcher error toMatchInlineSnapshot
  ✅ Expected properties must be an object (non-null) without snapshot
  ✅ Expected properties must be an object (null) with snapshot
  ✅ Inline snapshot must be a string
  ✅ Snapshot matchers cannot be used with not
matcher error toMatchSnapshot
  ✅ Expected properties must be an object (non-null)
  ✅ Expected properties must be an object (null) with hint
  ✅ Expected properties must be an object (null) without hint
  ✅ Snapshot state must be initialized
matcher error toMatchSnapshot received value must be an object
  ✅ (non-null)
  ✅ (null)
matcher error toThrowErrorMatchingInlineSnapshot
  ✅ Inline snapshot must be a string
  ✅ Snapshot state must be initialized
matcher error toThrowErrorMatchingSnapshot
  ✅ Received value must be a function
  ✅ Snapshot matchers cannot be used with not
other error toThrowErrorMatchingSnapshot
  ✅ Received function did not throw
pass false toMatchInlineSnapshot with properties equals false
  ✅ with snapshot
  ✅ without snapshot
pass false toMatchInlineSnapshot with properties
  ✅ equals true
pass false toMatchSnapshot
  ✅ New snapshot was not written (multi line)
  ✅ New snapshot was not written (single line)
pass false toMatchSnapshot with properties equals false
  ✅ isLineDiffable false
  ✅ isLineDiffable true
pass false toMatchSnapshot with properties
  ✅ equals true
pass false toThrowErrorMatchingInlineSnapshot
  ✅ with snapshot
pass true toMatchSnapshot
  ✅ without properties
printPropertiesAndReceived
  ✅ omit missing properties
printSnapshotAndReceived backtick
  ✅ single line expected and received
printSnapshotAndReceived empty string
  ✅ expected and received single line
  ✅ received and expected multi line
printSnapshotAndReceived escape
  ✅ double quote marks in string
  ✅ backslash in multi line string
  ✅ backslash in single line string
  ✅ regexp
printSnapshotAndReceived expand
  ✅ false
  ✅ true
printSnapshotAndReceived
  ✅ fallback to line diff
  ✅ multi line small change in one line and other is unchanged
  ✅ multi line small changes
  ✅ single line large changes
printSnapshotAndReceived has no common after clean up chaff
  ✅ array
  ✅ string single line
printSnapshotAndReceived MAX_DIFF_STRING_LENGTH unquoted
  ✅ both are less
  ✅ expected is more
  ✅ received is more
printSnapshotAndReceived MAX_DIFF_STRING_LENGTH quoted
  ✅ both are less
  ✅ expected is more
  ✅ received is more
printSnapshotAndReceived isLineDiffable false
  ✅ asymmetric matcher
  ✅ boolean
  ✅ date
  ✅ error
  ✅ function
  ✅ number
printSnapshotAndReceived isLineDiffable true
  ✅ array
  ✅ object
  ✅ single line expected and received
  ✅ single line expected and multi line received
printSnapshotAndReceived ignore indentation
  ✅ markup delete
  ✅ markup fall back
  ✅ markup insert
printSnapshotAndReceived ignore indentation object
  ✅ delete
  ✅ insert
printSnapshotAndReceived without serialize
  ✅ backtick single line expected and received
  ✅ backtick single line expected and multi line received
  ✅ has no common after clean up chaff multi line
  ✅ has no common after clean up chaff single line
  ✅ prettier/pull/5590
```
### ✅ <a id="user-content-r0s359" href="#user-content-r0s359">packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts</a>
```
defaults
  ✅ returns cached object if called multiple times
  ✅ resolveSnapshotPath()
  ✅ resolveTestPath()
custom resolver in project config
  ✅ returns cached object if called multiple times
  ✅ resolveSnapshotPath()
  ✅ resolveTestPath()
malformed custom resolver in project config
  ✅ missing resolveSnapshotPath throws
  ✅ missing resolveTestPath throws
  ✅ missing testPathForConsistencyCheck throws
  ✅ inconsistent functions throws
```
### ✅ <a id="user-content-r0s360" href="#user-content-r0s360">packages/jest-snapshot/src/__tests__/throwMatcher.test.ts</a>
```
✅ throw matcher can take func
throw matcher from promise
  ✅ can take error
  ✅ can take custom error
```
### ✅ <a id="user-content-r0s361" href="#user-content-r0s361">packages/jest-snapshot/src/__tests__/utils.test.ts</a>
```
✅ keyToTestName()
✅ testNameToKey
✅ saveSnapshotFile() works with
✅ saveSnapshotFile() works with
✅ getSnapshotData() throws when no snapshot version
✅ getSnapshotData() throws for older snapshot version
✅ getSnapshotData() throws for newer snapshot version
✅ getSnapshotData() does not throw for when updating
✅ getSnapshotData() marks invalid snapshot dirty when updating
✅ getSnapshotData() marks valid snapshot not dirty when updating
✅ escaping
✅ serialize handles \r\n
ExtraLineBreaks
  ✅ 0 empty string
  ✅ 1 line has double quote marks at edges
  ✅ 1 line has spaces at edges
  ✅ 2 lines both are blank
  ✅ 2 lines have double quote marks at edges
  ✅ 2 lines first is blank
  ✅ 2 lines last is blank
removeLinesBeforeExternalMatcherTrap
  ✅ contains external matcher trap
  ✅ doesn't contain external matcher trap
DeepMerge with property matchers
  ✅ Correctly merges a nested object
  ✅ Correctly merges an object with an array of objects
  ✅ Correctly merges an object with an array of strings
  ✅ Correctly merges an array of objects
  ✅ Correctly merges an array of arrays
```
### ✅ <a id="user-content-r0s362" href="#user-content-r0s362">packages/jest-source-map/src/__tests__/getCallsite.test.ts</a>
```
getCallsite
  ✅ without source map
  ✅ ignores errors when fs throws
  ✅ reads source map file to determine line and column
```
### ✅ <a id="user-content-r0s363" href="#user-content-r0s363">packages/jest-test-result/src/__tests__/formatTestResults.test.ts</a>
```
formatTestResults
  ✅ includes test full name
```
### ✅ <a id="user-content-r0s364" href="#user-content-r0s364">packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js</a>
```
✅ sorts by file size if there is no timing information
✅ sorts based on timing information
✅ sorts based on failures and timing information
✅ sorts based on failures, timing information and file size
✅ writes the cache based on results without existing cache
✅ returns failed tests in sorted order
✅ writes the cache based on the results
✅ works with multiple contexts
```
### ✅ <a id="user-content-r0s365" href="#user-content-r0s365">packages/jest-transform/src/__tests__/ScriptTransformer.test.ts</a>
```
ScriptTransformer
  ✅ transforms a file properly
  ✅ does not transform Node core modules
  ✅ throws an error if `process` doesn't return a string or an objectcontaining `code` key with processed string
  ✅ throws an error if `process` doesn't defined
  ✅ throws an error if createTransformer returns object without `process` method
  ✅ shouldn't throw error without process method. But with corrent createTransformer method
  ✅ uses the supplied preprocessor
  ✅ uses multiple preprocessors
  ✅ writes source map if preprocessor supplies it
  ✅ writes source map if preprocessor inlines it
  ✅ warns of unparseable inlined source maps from the preprocessor
  ✅ writes source maps if given by the transformer
  ✅ does not write source map if not given by the transformer
  ✅ should write a source map for the instrumented file when transformed
  ✅ should write a source map for the instrumented file when not transformed
  ✅ passes expected transform options to getCacheKey
  ✅ creates transformer with config
  ✅ reads values from the cache
  ✅ reads values from the cache when the file contains colons
  ✅ should reuse the value from in-memory cache which is set by custom transformer
  ✅ does not reuse the in-memory cache between different projects
  ✅ preload transformer when using `preloadTransformer`
```
### ✅ <a id="user-content-r0s366" href="#user-content-r0s366">packages/jest-transform/src/__tests__/shouldInstrument.test.ts</a>
```
shouldInstrument should return true
  ✅ when testRegex is provided and file is not a test file
  ✅ when more than one testRegex is provided and filename is not a test file
  ✅ when testMatch is provided and file is not a test file
  ✅ when testPathIgnorePatterns is provided and file is not a test file
  ✅ when more than one testPathIgnorePatterns is provided and filename is not a test file
  ✅ when testRegex and testPathIgnorePatterns are provided and file is not a test file
  ✅ when testMatch and testPathIgnorePatterns are provided and file is not a test file
  ✅ should return true when file is in collectCoverageOnlyFrom when provided
  ✅ should return true when filename matches collectCoverageFrom
  ✅ should return true if the file is not in coveragePathIgnorePatterns
  ✅ should return true if file is a testfile but forceCoverageMatch is set
shouldInstrument should return false
  ✅ if collectCoverage is falsy
  ✅ when testRegex is provided and filename is a test file
  ✅ when more than one testRegex is provided and filename matches one of the patterns
  ✅ when testMatch is provided and file is a test file
  ✅ when testRegex and testPathIgnorePatterns are provided and filename is a test file
  ✅ when testMatch and testPathIgnorePatterns are provided and file is a test file
  ✅ when file is not in collectCoverageOnlyFrom when provided
  ✅ when filename does not match collectCoverageFrom
  ✅ if the file is in coveragePathIgnorePatterns
  ✅ if file is in mock patterns
  ✅ if file is a globalSetup file
  ✅ if file is globalTeardown file
  ✅ if file is in setupFiles
  ✅ if file is in setupFilesAfterEnv
```
### ✅ <a id="user-content-r0s367" href="#user-content-r0s367">packages/jest-util/src/__tests__/createProcessObject.test.ts</a>
```
✅ creates a process object that looks like the original one
✅ fakes require("process") so it is equal to "global.process"
✅ checks that process.env works as expected on Linux platforms
✅ checks that process.env works as expected in Windows platforms
```
### ✅ <a id="user-content-r0s368" href="#user-content-r0s368">packages/jest-util/src/__tests__/deepCyclicCopy.test.ts</a>
```
✅ returns the same value for primitive or function values
✅ does not execute getters/setters, but copies them
✅ copies symbols
✅ copies arrays as array objects
✅ handles cyclic dependencies
✅ uses the blacklist to avoid copying properties on the first level
✅ does not keep the prototype by default when top level is object
✅ does not keep the prototype by default when top level is array
✅ does not keep the prototype of arrays when keepPrototype = false
✅ keeps the prototype of arrays when keepPrototype = true
✅ does not keep the prototype for objects when keepPrototype = false
✅ keeps the prototype for objects when keepPrototype = true
```
### ✅ <a id="user-content-r0s369" href="#user-content-r0s369">packages/jest-util/src/__tests__/errorWithStack.test.ts</a>
```
ErrorWithStack
  ✅ calls Error.captureStackTrace with given callsite when capture exists
```
### ✅ <a id="user-content-r0s370" href="#user-content-r0s370">packages/jest-util/src/__tests__/formatTime.test.ts</a>
```
✅ defaults to milliseconds
✅ formats seconds properly
✅ formats milliseconds properly
✅ formats microseconds properly
✅ formats nanoseconds properly
✅ interprets lower than lowest powers as nanoseconds
✅ interprets higher than highest powers as seconds
✅ interprets non-multiple-of-3 powers as next higher prefix
✅ formats the quantity properly when pad length is lower
✅ formats the quantity properly when pad length is equal
✅ left pads the quantity properly when pad length is higher
```
### ✅ <a id="user-content-r0s371" href="#user-content-r0s371">packages/jest-util/src/__tests__/globsToMatcher.test.ts</a>
```
✅ works like micromatch with only positive globs
✅ works like micromatch with a mix of overlapping positive and negative globs
✅ works like micromatch with only negative globs
✅ works like micromatch with empty globs
```
### ✅ <a id="user-content-r0s372" href="#user-content-r0s372">packages/jest-util/src/__tests__/installCommonGlobals.test.ts</a>
```
✅ returns the passed object
✅ turns a V8 global object into a Node global object
```
### ✅ <a id="user-content-r0s373" href="#user-content-r0s373">packages/jest-util/src/__tests__/isInteractive.test.ts</a>
```
✅ Returns true when running on interactive environment
✅ Returns false when running on a non-interactive environment
```
### ✅ <a id="user-content-r0s374" href="#user-content-r0s374">packages/jest-util/src/__tests__/isPromise.test.ts</a>
```
not a Promise: 
  ✅ undefined
  ✅ null
  ✅ true
  ✅ 42
  ✅ "1337"
  ✅ Symbol()
  ✅ []
  ✅ {}
✅ a resolved Promise
✅ a rejected Promise
```
### ✅ <a id="user-content-r0s375" href="#user-content-r0s375">packages/jest-validate/src/__tests__/validate.test.ts</a>
```
✅ recursively validates default Jest config
✅ recursively validates default jest-validate config
✅ pretty prints valid config for Boolean
✅ pretty prints valid config for Array
✅ pretty prints valid config for String
✅ pretty prints valid config for Object
✅ pretty prints valid config for Function
✅ omits null and undefined config values
✅ recursively omits null and undefined config values
✅ treat async and non-async functions as equivalent
✅ treat async and non-async functions as equivalent
✅ treat async and non-async functions as equivalent
✅ treat async and non-async functions as equivalent
✅ respects recursiveDenylist
✅ displays warning for unknown config options
✅ displays warning for deprecated config options
✅ works with custom warnings
✅ works with custom errors
✅ works with custom deprecations
✅ works with multiple valid types
✅ reports errors nicely when failing with multiple valid options
✅ Repeated types within multiple valid examples are coalesced in error report
✅ Comments in config JSON using "//" key are not warned
```
### ✅ <a id="user-content-r0s376" href="#user-content-r0s376">packages/jest-validate/src/__tests__/validateCLIOptions.test.js</a>
```
✅ validates yargs special options
✅ validates testURL
✅ fails for unknown option
✅ fails for multiple unknown options
✅ does not show suggestion when unrecognized cli param length <= 1
✅ shows suggestion when unrecognized cli param length > 1
```
### ✅ <a id="user-content-r0s377" href="#user-content-r0s377">packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts</a>
```
for multiline test name returns
  ✅ test name with highlighted pattern and replaced line breaks
for one line test name with pattern in the head returns
  ✅ test name with highlighted pattern
  ✅ test name with cutted tail and highlighted pattern
  ✅ test name with cutted tail and cutted highlighted pattern
for one line test name pattern in the middle
  ✅ test name with highlighted pattern returns
  ✅ test name with cutted tail and highlighted pattern
  ✅ test name with cutted tail and cutted highlighted pattern
  ✅ test name with highlighted cutted
for one line test name pattern in the tail returns
  ✅ test name with highlighted pattern
  ✅ test name with cutted tail and cutted highlighted pattern
  ✅ test name with highlighted cutted
```
### ✅ <a id="user-content-r0s378" href="#user-content-r0s378">packages/jest-watcher/src/lib/__tests__/prompt.test.ts</a>
```
✅ calls handler on change value
✅ calls handler on success prompt
✅ calls handler on cancel prompt
```
### ✅ <a id="user-content-r0s379" href="#user-content-r0s379">packages/jest-watcher/src/lib/__tests__/scroll.test.ts</a>
```
✅ When offset is -1
✅ When offset is in the first set of items
✅ When offset is in the middle of the list
✅ When offset is at the end of the list
✅ When offset is at the end and size is smaller than max
```
### ✅ <a id="user-content-r0s380" href="#user-content-r0s380">packages/jest-worker/src/__tests__/Farm.test.js</a>
```
Farm
  ✅ sends a request to one worker
  ✅ sends four requests to four unique workers
  ✅ handles null computeWorkerKey, sending to first worker
  ✅ sends the same worker key to the same worker
  ✅ returns the result if the call worked
  ✅ throws if the call failed
  ✅ checks that once a sticked task finishes, next time is sent to that worker
  ✅ checks that even before a sticked task finishes, next time is sent to that worker
  ✅ checks that locking works, and jobs are never lost
  ✅ can receive custom messages from workers
```
### ✅ <a id="user-content-r0s381" href="#user-content-r0s381">packages/jest-worker/src/__tests__/FifoQueue.test.js</a>
```
✅ returns the shared tasks in FIFO ordering
✅ returns the worker specific tasks in FIFO ordering
✅ maintains global FIFO ordering between worker specific and shared tasks
```
### ✅ <a id="user-content-r0s382" href="#user-content-r0s382">packages/jest-worker/src/__tests__/index.test.js</a>
```
✅ exposes the right API using default working
✅ exposes the right API using passed worker
✅ breaks if any of the forbidden methods is tried to be exposed
✅ works with minimal options
✅ does not let make calls after the farm is ended
✅ does not let end the farm after it is ended
✅ calls doWork
✅ calls getStderr and getStdout from worker
```
### ✅ <a id="user-content-r0s383" href="#user-content-r0s383">packages/jest-worker/src/__tests__/PriorityQueue.test.js</a>
```
✅ returns the tasks in order
✅ returns the task with the lowest priority value if inserted in reversed order
✅ returns the task with the lowest priority value if inserted in correct order
✅ uses different queues for each worker
✅ process task in the global and shared queue in order
```
### ✅ <a id="user-content-r0s384" href="#user-content-r0s384">packages/jest-worker/src/__tests__/process-integration.test.js</a>
```
Jest Worker Integration
  ✅ calls a single method from the worker
  ✅ distributes sequential calls across child processes
  ✅ schedules the task on the first available child processes if the scheduling policy is in-order
  ✅ distributes concurrent calls across child processes
  ✅ sticks parallel calls to children
```
### ✅ <a id="user-content-r0s385" href="#user-content-r0s385">packages/jest-worker/src/__tests__/thread-integration.test.js</a>
```
Jest Worker Process Integration
  ✅ calls a single method from the worker
  ✅ distributes sequential calls across child processes
  ✅ schedules the task on the first available child processes if the scheduling policy is in-order
  ✅ schedules the task on the first available child processes
  ✅ distributes concurrent calls across child processes
  ✅ sticks parallel calls to children
```
### ✅ <a id="user-content-r0s386" href="#user-content-r0s386">packages/jest-worker/src/__tests__/WorkerPool.test.js</a>
```
WorkerPool
  ✅ should create a ChildProcessWorker and send to it
  ✅ should create a NodeThreadWorker and send to it
  ✅ should avoid NodeThreadWorker if not passed enableWorkerThreads
```
### ✅ <a id="user-content-r0s387" href="#user-content-r0s387">packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js</a>
```
BaseWorkerPool
  ✅ throws error when createWorker is not defined
  ✅ creates and exposes n workers
  ✅ creates and expoeses n workers
  ✅ creates workers with the right options
  ✅ makes a non-existing relative worker throw
  ✅ create multiple workers with unique worker ids
  ✅ aggregates all stdouts and stderrs from all workers
  ✅ works when stdout and stderr are not piped to the parent
BaseWorkerPool end
  ✅ ends all workers
  ✅ resolves with forceExited=false if workers exited gracefully
  ✅ force exits workers that do not exit gracefully and resolves with forceExited=true
```
### ✅ <a id="user-content-r0s388" href="#user-content-r0s388">packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js</a>
```
✅ passes fork options down to child_process.fork, adding the defaults
✅ passes workerId to the child process and assign it to 1-indexed env.JEST_WORKER_ID
✅ initializes the child process with the given workerPath
✅ stops initializing the worker after the amount of retries is exceeded
✅ provides stdout and stderr from the child processes
✅ sends the task to the child process
✅ resends the task to the child process after a retry
✅ calls the onProcessStart method synchronously if the queue is empty
✅ can send multiple messages to parent
✅ creates error instances for known errors
✅ throws when the child process returns a strange message
✅ does not restart the child if it cleanly exited
✅ resolves waitForExit() after the child process cleanly exited
✅ restarts the child when the child process dies
✅ sends SIGTERM when forceExit() is called
✅ sends SIGKILL some time after SIGTERM
✅ does not send SIGKILL if SIGTERM exited the process
```
### ✅ <a id="user-content-r0s389" href="#user-content-r0s389">packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js</a>
```
✅ passes fork options down to child_process.fork, adding the defaults
✅ passes workerId to the thread and assign it to env.JEST_WORKER_ID
✅ initializes the thread with the given workerPath
✅ stops initializing the worker after the amount of retries is exceeded
✅ provides stdout and stderr from the threads
✅ sends the task to the thread
✅ resends the task to the thread after a retry
✅ calls the onProcessStart method synchronously if the queue is empty
✅ can send multiple messages to parent
✅ creates error instances for known errors
✅ throws when the thread returns a strange message
✅ does not restart the thread if it cleanly exited
✅ resolves waitForExit() after the thread cleanly exited
✅ restarts the thread when the thread dies
✅ terminates the thread when forceExit() is called
```
### ✅ <a id="user-content-r0s390" href="#user-content-r0s390">packages/jest-worker/src/workers/__tests__/processChild.test.js</a>
```
✅ lazily requires the file
✅ calls initialize with the correct arguments
✅ returns results immediately when function is synchronous
✅ returns results when it gets resolved if function is asynchronous
✅ calls the main module if the method call is "default"
✅ calls the main export if the method call is "default" and it is a Babel transpiled one
✅ removes the message listener on END message
✅ calls the teardown method
✅ throws if an invalid message is detected
✅ throws if child is not forked
```
### ✅ <a id="user-content-r0s391" href="#user-content-r0s391">packages/jest-worker/src/workers/__tests__/threadChild.test.js</a>
```
✅ lazily requires the file
✅ calls initialize with the correct arguments
✅ returns results immediately when function is synchronous
✅ returns results when it gets resolved if function is asynchronous
✅ calls the main module if the method call is "default"
✅ calls the main export if the method call is "default" and it is a Babel transpiled one
✅ removes the message listener on END message
✅ calls the teardown method
✅ throws if an invalid message is detected
✅ throws if child is not forked
```
### ✅ <a id="user-content-r0s392" href="#user-content-r0s392">packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts</a>
```
✅ supports any(String)
✅ supports nested any(String)
✅ supports any(Function)
✅ supports nested any(Function)
✅ supports any(Array)
✅ supports nested any(Array)
✅ supports any(Object)
✅ supports nested any(Object)
✅ supports any(RegExp)
✅ supports nested any(RegExp)
✅ supports any(Symbol)
✅ supports nested any(Symbol)
✅ supports any(Function)
✅ supports nested any(Function)
✅ supports any(<anonymous>)
✅ supports nested any(<anonymous>)
✅ supports any(namedFuntction)
✅ supports nested any(namedFuntction)
✅ anything()
✅ arrayContaining()
✅ arrayNotContaining()
✅ objectContaining()
✅ objectNotContaining()
✅ stringContaining(string)
✅ not.stringContaining(string)
✅ stringMatching(string)
✅ stringMatching(regexp)
✅ stringMatching(regexp) {escapeRegex: false}
✅ stringMatching(regexp) {escapeRegex: true}
✅ stringNotMatching(string)
✅ supports multiple nested asymmetric matchers
✅ min option
indent option
  ✅ default implicit: 2 spaces
  ✅ default explicit: 2 spaces
  ✅ non-default: 0 spaces
  ✅ non-default: 4 spaces
maxDepth option
  ✅ matchers as leaf nodes
  ✅ matchers as internal nodes
```
### ✅ <a id="user-content-r0s393" href="#user-content-r0s393">packages/pretty-format/src/__tests__/ConvertAnsi.test.ts</a>
```
ConvertAnsi plugin
  ✅ supports style.red
  ✅ supports style.green
  ✅ supports style.reset
  ✅ supports style.bold
  ✅ supports style.dim
  ✅ does not support other colors
```
### ✅ <a id="user-content-r0s394" href="#user-content-r0s394">packages/pretty-format/src/__tests__/DOMCollection.test.ts</a>
```
DOMCollection plugin for object properties
  ✅ supports DOMStringMap
  ✅ supports NamedNodeMap
  ✅ supports config.min option
DOMCollection plugin for list items
  ✅ supports HTMLCollection for getElementsByTagName
  ✅ supports HTMLCollection for children
  ✅ supports config.maxDepth option
  ✅ supports NodeList for querySelectorAll
  ✅ supports NodeList for childNodes
  ✅ supports HTMLOptionsCollection for select options
  ✅ supports HTMLCollection for form elements
```
### ✅ <a id="user-content-r0s395" href="#user-content-r0s395">packages/pretty-format/src/__tests__/DOMElement.test.ts</a>
```
pretty-format
  ✅ prints global window as constructor name alone
DOMElement Plugin
  ✅ supports a single HTML element
  ✅ supports an HTML element with a class property
  ✅ supports an HTML element with a title property
  ✅ escapes double quote in attribute value
  ✅ supports an HTML element with a single attribute
  ✅ supports an HTML element with multiple attributes
  ✅ supports an HTML element with attribute and text content
  ✅ supports an element with text content
  ✅ supports nested elements
  ✅ supports nested elements with attributes
  ✅ supports nested elements with attribute and text content
  ✅ supports nested elements with text content
  ✅ supports siblings
  ✅ supports multiline text node in pre
  ✅ supports multiline text node preceding span in pre
  ✅ supports multiline text node in textarea
  ✅ supports empty text node
  ✅ supports non-empty text node
  ✅ supports comment node
  ✅ supports fragment node
  ✅ supports custom elements
  ✅ supports SVG elements
  ✅ supports indentation for array of elements
  ✅ supports maxDepth option
  ✅ handles `tagName` not being a string
DOMElement Plugin matches constructor name of SVG elements
  ✅ jsdom 9 and 10
  ✅ jsdom 11
```
### ✅ <a id="user-content-r0s396" href="#user-content-r0s396">packages/pretty-format/src/__tests__/Immutable.test.ts</a>
```
✅ does not incorrectly match identity-obj-proxy as Immutable object
Immutable.OrderedSet
  ✅ supports an empty collection {min: true}
  ✅ supports an empty collection {min: false}
  ✅ supports a single string element
  ✅ supports a single integer element
  ✅ supports multiple string elements {min: true}
  ✅ supports multiple string elements {min: false}
  ✅ supports multiple integer elements {min: true}
  ✅ supports multiple integer elements {min: false}
  ✅ supports object elements {min: true}
  ✅ supports object elements {min: false}
  ✅ supports React elements {min: true}
  ✅ supports React elements {min: false}
Immutable.List
  ✅ supports an empty collection {min: true}
  ✅ supports an empty collection {min: false}
  ✅ supports a single string element
  ✅ supports a single integer element
  ✅ supports multiple string elements {min: true}
  ✅ supports multiple string elements {min: false}
  ✅ supports multiple integer elements {min: true}
  ✅ supports multiple integer elements {min: false}
  ✅ supports object elements {min: true}
  ✅ supports object elements {min: false}
  ✅ supports React elements {min: true}
  ✅ supports React elements {min: false}
Immutable.Stack
  ✅ supports an empty collection {min: true}
  ✅ supports an empty collection {min: false}
  ✅ supports a single string element
  ✅ supports a single integer element
  ✅ supports multiple string elements {min: true}
  ✅ supports multiple string elements {min: false}
  ✅ supports multiple integer elements {min: true}
  ✅ supports multiple integer elements {min: false}
  ✅ supports object elements {min: true}
  ✅ supports object elements {min: false}
  ✅ supports React elements {min: true}
  ✅ supports React elements {min: false}
Immutable.Set
  ✅ supports an empty collection {min: true}
  ✅ supports an empty collection {min: false}
  ✅ supports a single string element
  ✅ supports a single integer element
  ✅ supports multiple string elements {min: true}
  ✅ supports multiple string elements {min: false}
  ✅ supports multiple integer elements {min: true}
  ✅ supports multiple integer elements {min: false}
  ✅ supports object elements {min: true}
  ✅ supports object elements {min: false}
  ✅ supports React elements {min: true}
  ✅ supports React elements {min: false}
Immutable.Map
  ✅ supports an empty collection {min: true}
  ✅ supports an empty collection {min: false}
  ✅ supports an object with single key
  ✅ supports an object with multiple keys {min: true}
  ✅ supports an object with multiple keys {min: false}
  ✅ supports object elements {min: true}
  ✅ supports object elements {min: false}
  ✅ supports React elements {min: true}
  ✅ supports React elements {min: false}
Immutable.OrderedMap
  ✅ supports an empty collection {min: true}
  ✅ supports an empty collection {min: false}
  ✅ supports an object with single key
  ✅ supports an object with multiple keys {min: true}
  ✅ supports an object with multiple keys {min: false}
  ✅ supports object elements {min: true}
  ✅ supports object elements {min: false}
  ✅ supports React elements {min: true}
  ✅ supports React elements {min: false}
  ✅ supports non-string keys
Immutable.Record
  ✅ supports an empty record {min: true}
  ✅ supports an empty record {min: false}
  ✅ supports a record with descriptive name
  ✅ supports a record without descriptive name
  ✅ supports a record with values {min: true}
  ✅ supports a record with values {min: false}
  ✅ supports a record with Map value {min: true}
  ✅ supports a record with Map value {min: false}
  ✅ supports imbricated Record {min: true}
  ✅ supports imbricated Record {min: false}
indentation of heterogeneous collections
  ✅ empty Immutable.List as child of Object
  ✅ empty Immutable.Map as child of Array
  ✅ non-empty Array as child of Immutable.Map
  ✅ non-empty Object as child of Immutable.List
indent option
  ✅ default implicit: 2 spaces
  ✅ default explicit: 2 spaces
  ✅ non-default: 0 spaces
  ✅ non-default: 4 spaces
maxDepth option
  ✅ Immutable.List as child of Object
  ✅ Immutable.Map as child of Array
  ✅ Immutable.Seq as child of Immutable.Map
  ✅ Immutable.Map as descendants in immutable collection
Immutable.Seq
  ✅ supports an empty sequence from array {min: true}
  ✅ supports an empty sequence from array {min: false}
  ✅ supports a non-empty sequence from array {min: true}
  ✅ supports a non-empty sequence from array {min: false}
  ✅ supports a non-empty sequence from arguments
  ✅ supports an empty sequence from object {min: true}
  ✅ supports an empty sequence from object {min: false}
  ✅ supports a non-empty sequence from object {min: true}
  ✅ supports a non-empty sequence from object {min: false}
  ✅ supports a sequence of entries from Immutable.Map
  ✅ supports a sequence of values from ECMAScript Set
  ✅ supports a sequence of values from Immutable.List
  ✅ supports a sequence of values from Immutable.Set
  ✅ supports a sequence of values from Immutable.Stack
Immutable.Seq lazy entries
  ✅ from object properties
  ✅ from Immutable.Map entries
Immutable.Seq lazy values
  ✅ from Immutable.Range
  ✅ from iterator
  ✅ from array items
  ✅ from Immutable.List values
  ✅ from ECMAScript Set values
```
### ✅ <a id="user-content-r0s397" href="#user-content-r0s397">packages/pretty-format/src/__tests__/prettyFormat.test.ts</a>
```
prettyFormat()
  ✅ prints empty arguments
  ✅ prints arguments
  ✅ prints an empty array
  ✅ prints an array with items
  ✅ prints a empty typed array
  ✅ prints a typed array with items
  ✅ prints an array buffer
  ✅ prints a nested array
  ✅ prints true
  ✅ prints false
  ✅ prints an error
  ✅ prints a typed error with a message
  ✅ prints a function constructor
  ✅ prints an anonymous callback function
  ✅ prints an anonymous assigned function
  ✅ prints a named function
  ✅ prints a named generator function
  ✅ can customize function names
  ✅ prints Infinity
  ✅ prints -Infinity
  ✅ prints an empty map
  ✅ prints a map with values
  ✅ prints a map with non-string keys
  ✅ prints NaN
  ✅ prints null
  ✅ prints a positive number
  ✅ prints a negative number
  ✅ prints zero
  ✅ prints negative zero
  ✅ prints a positive bigint
  ✅ prints a negative bigint
  ✅ prints zero bigint
  ✅ prints negative zero bigint
  ✅ prints a date
  ✅ prints an invalid date
  ✅ prints an empty object
  ✅ prints an object with properties
  ✅ prints an object with properties and symbols
  ✅ prints an object without non-enumerable properties which have string key
  ✅ prints an object without non-enumerable properties which have symbol key
  ✅ prints an object with sorted properties
  ✅ prints regular expressions from constructors
  ✅ prints regular expressions from literals
  ✅ prints regular expressions {escapeRegex: false}
  ✅ prints regular expressions {escapeRegex: true}
  ✅ escapes regular expressions nested inside object
  ✅ prints an empty set
  ✅ prints a set with values
  ✅ prints a string
  ✅ prints and escape a string
  ✅ doesn't escape string with {excapeString: false}
  ✅ prints a string with escapes
  ✅ prints a multiline string
  ✅ prints a multiline string as value of object property
  ✅ prints a symbol
  ✅ prints undefined
  ✅ prints a WeakMap
  ✅ prints a WeakSet
  ✅ prints deeply nested objects
  ✅ prints circular references
  ✅ prints parallel references
  ✅ can customize the max depth
  ✅ throws on invalid options
  ✅ supports plugins
  ✅ supports plugins that return empty string
  ✅ throws if plugin does not return a string
  ✅ throws PrettyFormatPluginError if test throws an error
  ✅ throws PrettyFormatPluginError if print throws an error
  ✅ throws PrettyFormatPluginError if serialize throws an error
  ✅ supports plugins with deeply nested arrays (#24)
  ✅ should call plugins on nested basic values
  ✅ prints objects with no constructor
  ✅ prints identity-obj-proxy with string constructor
  ✅ calls toJSON and prints its return value
  ✅ calls toJSON and prints an internal representation.
  ✅ calls toJSON only on functions
  ✅ does not call toJSON recursively
  ✅ calls toJSON on Sets
  ✅ disables toJSON calls through options
prettyFormat() indent option
  ✅ default implicit: 2 spaces
  ✅ default explicit: 2 spaces
  ✅ non-default: 0 spaces
  ✅ non-default: 4 spaces
prettyFormat() min
  ✅ prints some basic values in min mode
  ✅ prints some complex values in min mode
  ✅ does not allow indent !== 0 in min mode
```
### ✅ <a id="user-content-r0s398" href="#user-content-r0s398">packages/pretty-format/src/__tests__/react.test.tsx</a>
```
✅ supports a single element with no props or children
✅ supports a single element with non-empty string child
✅ supports a single element with empty string child
✅ supports a single element with non-zero number child
✅ supports a single element with zero number child
✅ supports a single element with mixed children
✅ supports props with strings
✅ supports props with multiline strings
✅ supports props with numbers
✅ supports a single element with a function prop
✅ supports a single element with a object prop
✅ supports an element with and object prop and children
✅ supports an element with complex props and mixed children
✅ escapes children properly
✅ supports everything all together
✅ sorts props in nested components
✅ supports a single element with React elements as props
✅ supports a single element with React elements with props
✅ supports a single element with custom React elements with props
✅ supports a single element with custom React elements with props (using displayName)
✅ supports a single element with custom React elements with props (using anonymous function)
✅ supports a single element with custom React elements with a child
✅ supports undefined element type
✅ supports a fragment with no children
✅ supports a fragment with string child
✅ supports a fragment with element child
✅ supports suspense
✅ supports a single element with React elements with a child
✅ supports a single element with React elements with children
✅ supports a single element with React elements with array children
✅ supports array of elements
✅ min option
✅ ReactElement plugin highlights syntax
✅ ReactTestComponent plugin highlights syntax
✅ throws if theme option is null
✅ throws if theme option is not of type "object"
✅ throws if theme option has value that is undefined in ansi-styles
✅ ReactElement plugin highlights syntax with color from theme option
✅ ReactTestComponent plugin highlights syntax with color from theme option
✅ supports forwardRef with a child
✅ supports context Provider with a child
✅ supports context Consumer with a child
✅ ReactElement removes undefined props
✅ ReactTestComponent removes undefined props
test object for subset match
  ✅ undefined props
  ✅ undefined children
indent option
  ✅ default implicit: 2 spaces
  ✅ default explicit: 2 spaces
  ✅ non-default: 0 spaces
  ✅ non-default: 4 spaces
maxDepth option
  ✅ elements
  ✅ array of elements
React.memo without displayName
  ✅ renders the component name
React.memo with displayName
  ✅ renders the displayName of component before memoizing
  ✅ renders the displayName of memoized component
```
### ✅ <a id="user-content-r0s399" href="#user-content-r0s399">packages/pretty-format/src/__tests__/ReactElement.test.ts</a>
```
ReactElement Plugin
  ✅ serializes forwardRef without displayName
  ✅ serializes forwardRef with displayName
  ✅ serializes forwardRef component with displayName
```