diff --git a/__tests__/__outputs__/karma-junit-eslint.md b/__tests__/__outputs__/karma-junit-eslint.md new file mode 100644 index 0000000..aab8d20 --- /dev/null +++ b/__tests__/__outputs__/karma-junit-eslint.md @@ -0,0 +1,17 @@ +![Tests passed successfully](https://img.shields.io/badge/tests-1%20passed-success) +
Expand for details + +|Report|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[fixtures/karma-junit-eslint.xml](#user-content-r0)|1 ✅|||0ms| +## ✅ fixtures/karma-junit-eslint.xml +**1** tests were completed in **0ms** with **1** passed, **0** failed and **0** skipped. +|Test suite|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[test.jsx](#user-content-r0s0)|1 ✅|||0ms| +### ✅ test.jsx +``` +test + ✅ test.jsx +``` +
\ No newline at end of file diff --git a/__tests__/__outputs__/karma-junit.md b/__tests__/__outputs__/karma-junit.md new file mode 100644 index 0000000..82511b7 --- /dev/null +++ b/__tests__/__outputs__/karma-junit.md @@ -0,0 +1,22 @@ +![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%203%20failed-critical) +|Report|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[fixtures/karma-junit.xml](#user-content-r0)|1 ✅|3 ❌||486ms| +## ❌ fixtures/karma-junit.xml +**4** tests were completed in **486ms** with **1** passed, **3** failed and **0** skipped. +|Test suite|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| +|[__tests__\main.test.js](#user-content-r0s0)|1 ✅|3 ❌||486ms| +### ❌ __tests__\main.test.js +``` +Test 1 + ✅ Passing test +Test 1 › Test 1.1 + ❌ Failing test + Error: expect(received).toBeTruthy() + ❌ Exception in target unit + Error: Some error +Test 2 + ❌ Exception in test + Error: Some error +``` \ No newline at end of file diff --git a/__tests__/__outputs__/karma-react-component-test-results.md b/__tests__/__outputs__/karma-react-component-test-results.md new file mode 100644 index 0000000..b2a5536 --- /dev/null +++ b/__tests__/__outputs__/karma-react-component-test-results.md @@ -0,0 +1,9 @@ +![Tests passed successfully](https://img.shields.io/badge/tests-none-yellow) +
Expand for details + +|Report|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| + +## ✅ fixtures/external/karma/karma-react-component-test-results.xml +No tests found +
\ No newline at end of file diff --git a/__tests__/__outputs__/karma-test-results.md b/__tests__/__outputs__/karma-test-results.md new file mode 100644 index 0000000..2acbea1 --- /dev/null +++ b/__tests__/__outputs__/karma-test-results.md @@ -0,0 +1,9 @@ +![Tests passed successfully](https://img.shields.io/badge/tests-none-yellow) +
Expand for details + +|Report|Passed|Failed|Skipped|Time| +|:---|---:|---:|---:|---:| + +## ✅ fixtures/external/karma/karma-test-results.xml +No tests found +
\ No newline at end of file diff --git a/__tests__/__snapshots__/karma-junit.test.ts.snap b/__tests__/__snapshots__/karma-junit.test.ts.snap new file mode 100644 index 0000000..d1a8fdc --- /dev/null +++ b/__tests__/__snapshots__/karma-junit.test.ts.snap @@ -0,0 +1,141 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`karma-junit tests parsing ESLint report without timing information works - PR #134 1`] = ` +TestRunResult { + "path": "fixtures/karma-junit-eslint.xml", + "suites": [ + TestSuiteResult { + "groups": [ + TestGroupResult { + "name": "test", + "tests": [ + TestCaseResult { + "error": undefined, + "name": "test.jsx", + "result": "success", + "time": 0, + }, + ], + }, + ], + "name": "test.jsx", + "totalTime": 0, + }, + ], + "totalTime": 0, +} +`; + +exports[`karma-junit tests parsing junit report with message succeeds 1`] = ` +TestRunResult { + "path": "fixtures/junit-with-message.xml", + "suites": [], + "totalTime": undefined, +} +`; + +exports[`karma-junit tests report from #235 testing react components named 1`] = ` +TestRunResult { + "path": "fixtures/external/karma/karma-react-component-test-results.xml", + "suites": [], + "totalTime": undefined, +} +`; + +exports[`karma-junit tests report from ./reports/karma test results matches snapshot 1`] = ` +TestRunResult { + "path": "fixtures/karma-junit.xml", + "suites": [ + TestSuiteResult { + "groups": [ + TestGroupResult { + "name": "Test 1", + "tests": [ + TestCaseResult { + "error": undefined, + "name": "Passing test", + "result": "success", + "time": 1, + }, + ], + }, + TestGroupResult { + "name": "Test 1 › Test 1.1", + "tests": [ + TestCaseResult { + "error": { + "details": "Error: expect(received).toBeTruthy() + +Received: false + at Object. (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\__tests__\\main.test.js:10:21) + at Object.asyncJestTest (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\jasmineAsyncInstall.js:106:37) + at C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:45:12 + at new Promise () + at mapper (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:28:19) + at C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:75:41 + at processTicksAndRejections (internal/process/task_queues.js:97:5)", + "line": 10, + "path": "__tests__/main.test.js", + }, + "name": "Failing test", + "result": "failed", + "time": 2, + }, + TestCaseResult { + "error": { + "details": "Error: Some error + at Object.throwError (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\lib\\main.js:2:9) + at Object. (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\__tests__\\main.test.js:14:11) + at Object.asyncJestTest (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\jasmineAsyncInstall.js:106:37) + at C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:45:12 + at new Promise () + at mapper (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:28:19) + at C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:75:41 + at processTicksAndRejections (internal/process/task_queues.js:97:5)", + "line": 2, + "path": "lib/main.js", + }, + "name": "Exception in target unit", + "result": "failed", + "time": 0, + }, + ], + }, + TestGroupResult { + "name": "Test 2", + "tests": [ + TestCaseResult { + "error": { + "details": "Error: Some error + at Object. (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\__tests__\\main.test.js:21:11) + at Object.asyncJestTest (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\jasmineAsyncInstall.js:106:37) + at C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:45:12 + at new Promise () + at mapper (C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:28:19) + at C:\\Users\\Michal\\Workspace\\dorny\\test-check\\reports\\jest\\node_modules\\jest-jasmine2\\build\\queueRunner.js:75:41 + at processTicksAndRejections (internal/process/task_queues.js:97:5)", + "line": 21, + "path": "__tests__/main.test.js", + }, + "name": "Exception in test", + "result": "failed", + "time": 0, + }, + ], + }, + ], + "name": "__tests__\\main.test.js", + "totalTime": 486, + }, + ], + "totalTime": 486, +} +`; + +exports[`karma-junit tests report from facebook/karma test results matches snapshot 1`] = ` +TestRunResult { + "path": "fixtures/external/karma/karma-test-results.xml", + "suites": [], + "totalTime": undefined, +} +`; diff --git a/__tests__/fixtures/empty/karma-junit-empty-testsuite.xml b/__tests__/fixtures/empty/karma-junit-empty-testsuite.xml new file mode 100644 index 0000000..7698e3e --- /dev/null +++ b/__tests__/fixtures/empty/karma-junit-empty-testsuite.xml @@ -0,0 +1,3 @@ + + + diff --git a/__tests__/fixtures/empty/karma-junit.xml b/__tests__/fixtures/empty/karma-junit.xml new file mode 100644 index 0000000..d71f85e --- /dev/null +++ b/__tests__/fixtures/empty/karma-junit.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/__tests__/fixtures/external/karma/files.txt b/__tests__/fixtures/external/karma/files.txt new file mode 100644 index 0000000..d40a82e --- /dev/null +++ b/__tests__/fixtures/external/karma/files.txt @@ -0,0 +1,2317 @@ +.azure-pipelines-steps.yml +.azure-pipelines.yml +.circleci/config.yml +.circleci/website.sh +.editorconfig +.eslintignore +.eslintplugin/index.js +.eslintrc.js +.github/CODEOWNERS +.github/FUNDING.yml +.github/ISSUE_TEMPLATE.md +.github/ISSUE_TEMPLATE/bug.md +.github/ISSUE_TEMPLATE/config.yml +.github/ISSUE_TEMPLATE/feature.md +.github/ISSUE_TEMPLATE/question.md +.github/ISSUE_TEMPLATE/regression.md +.github/PULL_REQUEST_TEMPLATE.md +.github/SUPPORT.md +.github/dependabot.yml +.github/workflows/nodejs.yml +.gitignore +.npmignore +.prettierignore +.vscode/extensions.json +.vscode/launch.json +.vscode/settings.json +.vscode/tasks.json +.watchmanconfig +.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +.yarn/releases/yarn-2.4.0.cjs +.yarnrc +.yarnrc.yml +CHANGELOG.md +CODE_OF_CONDUCT.md +CONTRIBUTING.md +LICENSE +README.md +babel.config.js +crowdin.yaml +docs/Architecture.md +docs/BypassingModuleMocks.md +docs/CLI.md +docs/CodeTransformation.md +docs/Configuration.md +docs/DynamoDB.md +docs/ECMAScriptModules.md +docs/EnvironmentVariables.md +docs/Es6ClassMocks.md +docs/ExpectAPI.md +docs/GettingStarted.md +docs/GlobalAPI.md +docs/JestCommunity.md +docs/JestObjectAPI.md +docs/JestPlatform.md +docs/ManualMocks.md +docs/MigrationGuide.md +docs/MockFunctionAPI.md +docs/MockFunctions.md +docs/MongoDB.md +docs/MoreResources.md +docs/Puppeteer.md +docs/SetupAndTeardown.md +docs/SnapshotTesting.md +docs/TestingAsyncCode.md +docs/TestingFrameworks.md +docs/TimerMocks.md +docs/Troubleshooting.md +docs/TutorialAsync.md +docs/TutorialReact.md +docs/TutorialReactNative.md +docs/TutorialjQuery.md +docs/UsingMatchers.md +docs/WatchPlugins.md +docs/Webpack.md +e2e/MockStdinWatchPlugin.js +e2e/Utils.ts +e2e/__tests__/__snapshots__/asyncAndCallback.test.ts.snap +e2e/__tests__/__snapshots__/beforeAllFiltered.ts.snap +e2e/__tests__/__snapshots__/beforeEachQueue.ts.snap +e2e/__tests__/__snapshots__/callDoneTwice.test.ts.snap +e2e/__tests__/__snapshots__/chaiAssertionLibrary.ts.snap +e2e/__tests__/__snapshots__/circularInequality.test.ts.snap +e2e/__tests__/__snapshots__/circusDeclarationErrors.test.ts.snap +e2e/__tests__/__snapshots__/cliHandlesExactFilenames.test.ts.snap +e2e/__tests__/__snapshots__/console.test.ts.snap +e2e/__tests__/__snapshots__/consoleAfterTeardown.test.ts.snap +e2e/__tests__/__snapshots__/consoleLogOutputWhenRunInBand.test.ts.snap +e2e/__tests__/__snapshots__/coverageHandlebars.test.ts.snap +e2e/__tests__/__snapshots__/coverageRemapping.test.ts.snap +e2e/__tests__/__snapshots__/coverageReport.test.ts.snap +e2e/__tests__/__snapshots__/coverageThreshold.test.ts.snap +e2e/__tests__/__snapshots__/coverageTransformInstrumented.test.ts.snap +e2e/__tests__/__snapshots__/coverageWithoutTransform.test.ts.snap +e2e/__tests__/__snapshots__/customInlineSnapshotMatchers.test.ts.snap +e2e/__tests__/__snapshots__/customMatcherStackTrace.test.ts.snap +e2e/__tests__/__snapshots__/customReporters.test.ts.snap +e2e/__tests__/__snapshots__/declarationErrors.test.ts.snap +e2e/__tests__/__snapshots__/detectOpenHandles.ts.snap +e2e/__tests__/__snapshots__/domDiffing.test.ts.snap +e2e/__tests__/__snapshots__/each.test.ts.snap +e2e/__tests__/__snapshots__/emptyDescribeWithHooks.test.ts.snap +e2e/__tests__/__snapshots__/environmentAfterTeardown.test.ts.snap +e2e/__tests__/__snapshots__/errorOnDeprecated.test.ts.snap +e2e/__tests__/__snapshots__/executeTestsOnceInMpr.ts.snap +e2e/__tests__/__snapshots__/expectAsyncMatcher.test.ts.snap +e2e/__tests__/__snapshots__/failures.test.ts.snap +e2e/__tests__/__snapshots__/findRelatedFiles.test.ts.snap +e2e/__tests__/__snapshots__/globals.test.ts.snap +e2e/__tests__/__snapshots__/injectGlobals.test.ts.snap +e2e/__tests__/__snapshots__/jest.config.js.test.ts.snap +e2e/__tests__/__snapshots__/jest.config.ts.test.ts.snap +e2e/__tests__/__snapshots__/jestChangedFiles.test.ts.snap +e2e/__tests__/__snapshots__/listTests.test.ts.snap +e2e/__tests__/__snapshots__/moduleNameMapper.test.ts.snap +e2e/__tests__/__snapshots__/multiProjectRunner.test.ts.snap +e2e/__tests__/__snapshots__/nativeEsm.test.ts.snap +e2e/__tests__/__snapshots__/nestedTestDefinitions.test.ts.snap +e2e/__tests__/__snapshots__/processExit.test.ts.snap +e2e/__tests__/__snapshots__/requireAfterTeardown.test.ts.snap +e2e/__tests__/__snapshots__/resolveNoFileExtensions.test.ts.snap +e2e/__tests__/__snapshots__/showConfig.test.ts.snap +e2e/__tests__/__snapshots__/snapshot.test.ts.snap +e2e/__tests__/__snapshots__/snapshotMockFs.test.ts.snap +e2e/__tests__/__snapshots__/snapshotSerializers.test.ts.snap +e2e/__tests__/__snapshots__/stackTrace.test.ts.snap +e2e/__tests__/__snapshots__/stackTraceSourceMapsWithCoverage.test.ts.snap +e2e/__tests__/__snapshots__/testNamePattern.test.ts.snap +e2e/__tests__/__snapshots__/testNamePatternSkipped.test.ts.snap +e2e/__tests__/__snapshots__/testTodo.test.ts.snap +e2e/__tests__/__snapshots__/timeouts.test.ts.snap +e2e/__tests__/__snapshots__/timeoutsLegacy.test.ts.snap +e2e/__tests__/__snapshots__/toMatchInlineSnapshot.test.ts.snap +e2e/__tests__/__snapshots__/toThrowErrorMatchingInlineSnapshot.test.ts.snap +e2e/__tests__/__snapshots__/toThrowErrorMatchingSnapshot.test.ts.snap +e2e/__tests__/__snapshots__/transform.test.ts.snap +e2e/__tests__/__snapshots__/typescriptCoverage.test.ts.snap +e2e/__tests__/__snapshots__/v8Coverage.test.ts.snap +e2e/__tests__/__snapshots__/watchModeOnlyFailed.test.ts.snap +e2e/__tests__/__snapshots__/watchModePatterns.test.ts.snap +e2e/__tests__/__snapshots__/watchModeUpdateSnapshot.test.ts.snap +e2e/__tests__/__snapshots__/wrongEnv.test.ts.snap +e2e/__tests__/asyncAndCallback.test.ts +e2e/__tests__/asyncRegenerator.test.ts +e2e/__tests__/autoClearMocks.test.ts +e2e/__tests__/autoResetMocks.test.ts +e2e/__tests__/autoRestoreMocks.test.ts +e2e/__tests__/babelPluginJestHoist.test.ts +e2e/__tests__/badSourceMap.test.ts +e2e/__tests__/beforeAllFiltered.ts +e2e/__tests__/beforeEachQueue.ts +e2e/__tests__/callDoneTwice.test.ts +e2e/__tests__/chaiAssertionLibrary.ts +e2e/__tests__/circularInequality.test.ts +e2e/__tests__/circusConcurrentEach.test.ts +e2e/__tests__/circusDeclarationErrors.test.ts +e2e/__tests__/clearCache.test.ts +e2e/__tests__/cliHandlesExactFilenames.test.ts +e2e/__tests__/compareDomNodes.test.ts +e2e/__tests__/config.test.ts +e2e/__tests__/console.test.ts +e2e/__tests__/consoleAfterTeardown.test.ts +e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts +e2e/__tests__/coverageHandlebars.test.ts +e2e/__tests__/coverageRemapping.test.ts +e2e/__tests__/coverageReport.test.ts +e2e/__tests__/coverageThreshold.test.ts +e2e/__tests__/coverageTransformInstrumented.test.ts +e2e/__tests__/coverageWithoutTransform.test.ts +e2e/__tests__/createProcessObject.test.ts +e2e/__tests__/customInlineSnapshotMatchers.test.ts +e2e/__tests__/customMatcherStackTrace.test.ts +e2e/__tests__/customReporters.test.ts +e2e/__tests__/customResolver.test.ts +e2e/__tests__/customTestSequencers.test.ts +e2e/__tests__/debug.test.ts +e2e/__tests__/declarationErrors.test.ts +e2e/__tests__/dependencyClash.test.ts +e2e/__tests__/detectOpenHandles.ts +e2e/__tests__/domDiffing.test.ts +e2e/__tests__/doneInHooks.test.ts +e2e/__tests__/dynamicRequireDependencies.ts +e2e/__tests__/each.test.ts +e2e/__tests__/emptyDescribeWithHooks.test.ts +e2e/__tests__/emptySuiteError.test.ts +e2e/__tests__/env.test.ts +e2e/__tests__/environmentAfterTeardown.test.ts +e2e/__tests__/errorOnDeprecated.test.ts +e2e/__tests__/esmConfigFile.test.ts +e2e/__tests__/executeTestsOnceInMpr.ts +e2e/__tests__/existentRoots.test.ts +e2e/__tests__/expectAsyncMatcher.test.ts +e2e/__tests__/expectInVm.test.ts +e2e/__tests__/extraGlobals.test.ts +e2e/__tests__/failureDetailsProperty.test.ts +e2e/__tests__/failures.test.ts +e2e/__tests__/fakePromises.test.ts +e2e/__tests__/fatalWorkerError.test.ts +e2e/__tests__/filter.test.ts +e2e/__tests__/findRelatedFiles.test.ts +e2e/__tests__/focusedTests.test.ts +e2e/__tests__/forceExit.test.ts +e2e/__tests__/generatorMock.test.ts +e2e/__tests__/global-mutation.test.ts +e2e/__tests__/global.test.ts +e2e/__tests__/globalSetup.test.ts +e2e/__tests__/globalTeardown.test.ts +e2e/__tests__/globals.test.ts +e2e/__tests__/hasteMapMockChanged.test.ts +e2e/__tests__/hasteMapSha1.test.ts +e2e/__tests__/hasteMapSize.test.ts +e2e/__tests__/importedGlobals.test.ts +e2e/__tests__/injectGlobals.test.ts +e2e/__tests__/iterator-to-null-test.ts +e2e/__tests__/jasmineAsync.test.ts +e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts +e2e/__tests__/jest.config.js.test.ts +e2e/__tests__/jest.config.ts.test.ts +e2e/__tests__/jestChangedFiles.test.ts +e2e/__tests__/jestEnvironmentJsdom.test.ts +e2e/__tests__/jestRequireActual.test.ts +e2e/__tests__/jestRequireMock.test.ts +e2e/__tests__/json.test.ts +e2e/__tests__/jsonReporter.test.ts +e2e/__tests__/lifecycles.ts +e2e/__tests__/listTests.test.ts +e2e/__tests__/locationInResults.test.ts +e2e/__tests__/logHeapUsage.test.ts +e2e/__tests__/mockNames.test.ts +e2e/__tests__/modernFakeTimers.test.ts +e2e/__tests__/moduleNameMapper.test.ts +e2e/__tests__/moduleParentNullInTest.ts +e2e/__tests__/multiProjectRunner.test.ts +e2e/__tests__/nativeAsyncMock.test.ts +e2e/__tests__/nativeEsm.test.ts +e2e/__tests__/nativeEsmTypescript.test.ts +e2e/__tests__/nestedEventLoop.test.ts +e2e/__tests__/nestedTestDefinitions.test.ts +e2e/__tests__/noTestFound.test.ts +e2e/__tests__/noTestsFound.test.ts +e2e/__tests__/nodePath.test.ts +e2e/__tests__/onlyChanged.test.ts +e2e/__tests__/onlyFailuresNonWatch.test.ts +e2e/__tests__/overrideGlobals.test.ts +e2e/__tests__/pnp.test.ts +e2e/__tests__/presets.test.ts +e2e/__tests__/processExit.test.ts +e2e/__tests__/promiseReject.test.ts +e2e/__tests__/regexCharInPath.test.ts +e2e/__tests__/requireAfterTeardown.test.ts +e2e/__tests__/requireMain.test.ts +e2e/__tests__/requireMainAfterCreateRequire.test.ts +e2e/__tests__/requireMainIsolateModules.test.ts +e2e/__tests__/requireMainResetModules.test.ts +e2e/__tests__/requireV8Module.test.ts +e2e/__tests__/resetModules.test.ts +e2e/__tests__/resolve.test.ts +e2e/__tests__/resolveGetPaths.test.ts +e2e/__tests__/resolveNoFileExtensions.test.ts +e2e/__tests__/resolveNodeModule.test.ts +e2e/__tests__/resolveWithPaths.test.ts +e2e/__tests__/runProgrammatically.test.ts +e2e/__tests__/runTestsByPath.test.ts +e2e/__tests__/runtimeInternalModuleRegistry.test.ts +e2e/__tests__/selectProjects.test.ts +e2e/__tests__/setImmediate.test.ts +e2e/__tests__/setupFilesAfterEnvConfig.test.ts +e2e/__tests__/showConfig.test.ts +e2e/__tests__/skipBeforeAfterAll.test.ts +e2e/__tests__/snapshot-unknown.test.ts +e2e/__tests__/snapshot.test.ts +e2e/__tests__/snapshotMockFs.test.ts +e2e/__tests__/snapshotResolver.test.ts +e2e/__tests__/snapshotSerializers.test.ts +e2e/__tests__/stackTrace.test.ts +e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts +e2e/__tests__/stackTraceSourceMaps.test.ts +e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts +e2e/__tests__/supportsDashedArgs.ts +e2e/__tests__/symbol.test.ts +e2e/__tests__/testEnvironment.test.ts +e2e/__tests__/testEnvironmentAsync.test.ts +e2e/__tests__/testEnvironmentCircus.test.ts +e2e/__tests__/testEnvironmentCircusAsync.test.ts +e2e/__tests__/testFailureExitCode.test.ts +e2e/__tests__/testInRoot.test.ts +e2e/__tests__/testNamePattern.test.ts +e2e/__tests__/testNamePatternSkipped.test.ts +e2e/__tests__/testPathPatternReporterMessage.test.ts +e2e/__tests__/testResultsProcessor.test.ts +e2e/__tests__/testRetries.test.ts +e2e/__tests__/testTodo.test.ts +e2e/__tests__/timeouts.test.ts +e2e/__tests__/timeoutsLegacy.test.ts +e2e/__tests__/timerResetMocks.test.ts +e2e/__tests__/timerUseRealTimers.test.ts +e2e/__tests__/toMatchInlineSnapshot.test.ts +e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts +e2e/__tests__/toMatchSnapshot.test.ts +e2e/__tests__/toMatchSnapshotWithRetries.test.ts +e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts +e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts +e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts +e2e/__tests__/transform.test.ts +e2e/__tests__/transformLinkedModules.test.ts +e2e/__tests__/typescriptCoverage.test.ts +e2e/__tests__/unexpectedToken.test.ts +e2e/__tests__/useStderr.test.ts +e2e/__tests__/v8Coverage.test.ts +e2e/__tests__/verbose.test.ts +e2e/__tests__/version.test.ts +e2e/__tests__/watchModeNoAccess.test.ts +e2e/__tests__/watchModeOnlyFailed.test.ts +e2e/__tests__/watchModePatterns.test.ts +e2e/__tests__/watchModeUpdateSnapshot.test.ts +e2e/__tests__/workerForceExit.test.ts +e2e/__tests__/wrongEnv.test.ts +e2e/async-regenerator/__tests__/test.js +e2e/async-regenerator/babel.config.js +e2e/async-regenerator/package.json +e2e/async-regenerator/yarn.lock +e2e/auto-clear-mocks/with-auto-clear/__tests__/index.js +e2e/auto-clear-mocks/with-auto-clear/index.js +e2e/auto-clear-mocks/with-auto-clear/package.json +e2e/auto-clear-mocks/without-auto-clear/__tests__/index.js +e2e/auto-clear-mocks/without-auto-clear/index.js +e2e/auto-clear-mocks/without-auto-clear/package.json +e2e/auto-reset-mocks/with-auto-reset/__tests__/index.js +e2e/auto-reset-mocks/with-auto-reset/index.js +e2e/auto-reset-mocks/with-auto-reset/package.json +e2e/auto-reset-mocks/without-auto-reset/__tests__/index.js +e2e/auto-reset-mocks/without-auto-reset/index.js +e2e/auto-reset-mocks/without-auto-reset/package.json +e2e/auto-restore-mocks/with-auto-restore/__tests__/index.js +e2e/auto-restore-mocks/with-auto-restore/index.js +e2e/auto-restore-mocks/with-auto-restore/package.json +e2e/auto-restore-mocks/without-auto-restore/__tests__/index.js +e2e/auto-restore-mocks/without-auto-restore/index.js +e2e/auto-restore-mocks/without-auto-restore/package.json +e2e/babel-plugin-jest-hoist/__test_modules__/Mocked.js +e2e/babel-plugin-jest-hoist/__test_modules__/Unmocked.js +e2e/babel-plugin-jest-hoist/__test_modules__/__mocks__/jestBackticks.js +e2e/babel-plugin-jest-hoist/__test_modules__/a.js +e2e/babel-plugin-jest-hoist/__test_modules__/b.js +e2e/babel-plugin-jest-hoist/__test_modules__/c.js +e2e/babel-plugin-jest-hoist/__test_modules__/d.js +e2e/babel-plugin-jest-hoist/__test_modules__/e.js +e2e/babel-plugin-jest-hoist/__test_modules__/f.js +e2e/babel-plugin-jest-hoist/__test_modules__/g.js +e2e/babel-plugin-jest-hoist/__test_modules__/jestBackticks.js +e2e/babel-plugin-jest-hoist/__tests__/importJest.test.js +e2e/babel-plugin-jest-hoist/__tests__/integration.test.js +e2e/babel-plugin-jest-hoist/__tests__/integrationAutomockOff.test.js +e2e/babel-plugin-jest-hoist/__tests__/typescript.test.ts +e2e/babel-plugin-jest-hoist/babel.config.js +e2e/babel-plugin-jest-hoist/banana.js +e2e/babel-plugin-jest-hoist/entry.ts +e2e/babel-plugin-jest-hoist/mockFile.js +e2e/babel-plugin-jest-hoist/package.json +e2e/babel-plugin-jest-hoist/types.ts +e2e/babel-plugin-jest-hoist/yarn.lock +e2e/bad-source-map/__tests__/badSourceMap.js +e2e/bad-source-map/__tests__/badSourceMap.js.map +e2e/bad-source-map/package.json +e2e/before-all-filtered/__tests__/beforeAllFiltered.test.js +e2e/before-all-filtered/package.json +e2e/before-all-skipped/__tests__/beforeAllFiltered.test.js +e2e/before-all-skipped/package.json +e2e/before-each-queue/__tests__/beforeEachQueue.test.js +e2e/before-each-queue/package.json +e2e/call-done-twice/__tests__/index.test.js +e2e/call-done-twice/package.json +e2e/chai-assertion-library-errors/__tests__/chai_assertion.js +e2e/chai-assertion-library-errors/package.json +e2e/chai-assertion-library-errors/yarn.lock +e2e/circus-concurrent/__tests__/concurrent-each.test.js +e2e/circus-concurrent/__tests__/concurrent-only-each.test.js +e2e/circus-concurrent/package.json +e2e/circus-declaration-errors/__tests__/asyncDefinition.test.js +e2e/circus-declaration-errors/package.json +e2e/clear-cache/__tests__/clearCache.test.js +e2e/clear-cache/package.json +e2e/compare-dom-nodes/__tests__/failedAssertion.js +e2e/compare-dom-nodes/package.json +e2e/console-after-teardown/__tests__/console.test.js +e2e/console-after-teardown/package.json +e2e/console-jsdom/__tests__/console.test.js +e2e/console-jsdom/package.json +e2e/console-winston/__tests__/console.test.js +e2e/console-winston/package.json +e2e/console-winston/yarn.lock +e2e/console/__tests__/console.test.js +e2e/console/package.json +e2e/coverage-handlebars/__tests__/greet.js +e2e/coverage-handlebars/greet.hbs +e2e/coverage-handlebars/package.json +e2e/coverage-handlebars/transform-handlebars.js +e2e/coverage-handlebars/yarn.lock +e2e/coverage-remapping/__tests__/coveredTest.ts +e2e/coverage-remapping/covered.ts +e2e/coverage-remapping/package.json +e2e/coverage-remapping/typescriptPreprocessor.js +e2e/coverage-remapping/yarn.lock +e2e/coverage-report/.gitignore +e2e/coverage-report/__mocks__/sumDependency.js +e2e/coverage-report/__tests__/sum.test.js +e2e/coverage-report/babel.config.js +e2e/coverage-report/cached-duplicates/a/__tests__/identical.test.js +e2e/coverage-report/cached-duplicates/a/identical.js +e2e/coverage-report/cached-duplicates/b/__tests__/identical.test.js +e2e/coverage-report/cached-duplicates/b/identical.js +e2e/coverage-report/file.js +e2e/coverage-report/notRequiredInTestSuite.js +e2e/coverage-report/otherFile.js +e2e/coverage-report/package.json +e2e/coverage-report/setup.js +e2e/coverage-report/sum.js +e2e/coverage-report/sumDependency.js +e2e/coverage-report/yarn.lock +e2e/coverage-transform-instrumented/__tests__/coveredTest.js +e2e/coverage-transform-instrumented/covered.js +e2e/coverage-transform-instrumented/package.json +e2e/coverage-transform-instrumented/preprocessor.js +e2e/coverage-transform-instrumented/yarn.lock +e2e/coverage-without-transform/__tests__/test.js +e2e/coverage-without-transform/package.json +e2e/coverage-without-transform/some-random-file.js +e2e/create-process-object/__tests__/createProcessObject.test.js +e2e/create-process-object/package.json +e2e/create-process-object/setup.js +e2e/custom-inline-snapshot-matchers/__tests__/asynchronous.test.js +e2e/custom-inline-snapshot-matchers/package.json +e2e/custom-matcher-stack-trace/__tests__/asynchronous.test.js +e2e/custom-matcher-stack-trace/__tests__/sync.test.js +e2e/custom-matcher-stack-trace/package.json +e2e/custom-reporters/__tests__/add.test.js +e2e/custom-reporters/__tests__/addFail.test.js +e2e/custom-reporters/add.js +e2e/custom-reporters/package.json +e2e/custom-reporters/reporters/DefaultExportReporter.js +e2e/custom-reporters/reporters/IncompleteReporter.js +e2e/custom-reporters/reporters/TestReporter.js +e2e/custom-resolver/__mocks__/manualMock.js +e2e/custom-resolver/__tests__/customResolver.test.js +e2e/custom-resolver/bar.js +e2e/custom-resolver/foo.js +e2e/custom-resolver/manualMock.js +e2e/custom-resolver/package.json +e2e/custom-resolver/resolver.js +e2e/custom-test-sequencer/a.test.js +e2e/custom-test-sequencer/b.test.js +e2e/custom-test-sequencer/c.test.js +e2e/custom-test-sequencer/d.test.js +e2e/custom-test-sequencer/e.test.js +e2e/custom-test-sequencer/package.json +e2e/custom-test-sequencer/testSequencer.js +e2e/custom-test-sequencer/testSequencerAsync.js +e2e/declaration-errors/__tests__/describeReturnPromise.test.js +e2e/declaration-errors/__tests__/describeReturnSomething.test.js +e2e/declaration-errors/__tests__/describeThrow.test.js +e2e/declaration-errors/package.json +e2e/detect-open-handles/__tests__/histogram.js +e2e/detect-open-handles/__tests__/inside.js +e2e/detect-open-handles/__tests__/notify.js +e2e/detect-open-handles/__tests__/outside.js +e2e/detect-open-handles/__tests__/promise.js +e2e/detect-open-handles/__tests__/unref.js +e2e/detect-open-handles/babel.config.js +e2e/detect-open-handles/package.json +e2e/detect-open-handles/server.js +e2e/dom-diffing/__tests__/dom.test.js +e2e/dom-diffing/package.json +e2e/done-in-hooks/__tests__/index.test.js +e2e/done-in-hooks/package.json +e2e/dynamic-require-dependencies/__tests__/dynamicRequire.test.js +e2e/dynamic-require-dependencies/dynamicRequire.js +e2e/dynamic-require-dependencies/package.json +e2e/dynamic-require-dependencies/source.js +e2e/each/__tests__/describeOnly.test.js +e2e/each/__tests__/eachException.test.js +e2e/each/__tests__/eachOnly.test.js +e2e/each/__tests__/eachSkip.test.js +e2e/each/__tests__/failure.test.js +e2e/each/__tests__/pretty.test.js +e2e/each/__tests__/success.test.js +e2e/each/package.json +e2e/empty-describe-with-hooks/__tests__/hookInDescribeWithSkippedTest.test.js +e2e/empty-describe-with-hooks/__tests__/hookInEmptyDescribe.test.js +e2e/empty-describe-with-hooks/__tests__/hookInEmptyNestedDescribe.test.js +e2e/empty-describe-with-hooks/__tests__/multipleHooksInEmptyDescribe.test.js +e2e/empty-describe-with-hooks/package.json +e2e/empty-suite-error/__tests__/emptySuite.test.js +e2e/empty-suite-error/package.json +e2e/env-test/__tests__/env.test.js +e2e/env-test/__tests__/equivalent.test.js +e2e/env-test/package.json +e2e/environment-after-teardown/__tests__/afterTeardown.test.js +e2e/environment-after-teardown/package.json +e2e/environmentOptions/__tests__/environmentOptions.test.js +e2e/environmentOptions/package.json +e2e/error-on-deprecated/__tests__/defaultTimeoutInterval.test.js +e2e/error-on-deprecated/__tests__/fail.test.js +e2e/error-on-deprecated/__tests__/jasmine.addMatchers.test.js +e2e/error-on-deprecated/__tests__/jasmine.any.test.js +e2e/error-on-deprecated/__tests__/jasmine.anything.test.js +e2e/error-on-deprecated/__tests__/jasmine.arrayContaining.test.js +e2e/error-on-deprecated/__tests__/jasmine.createSpy.test.js +e2e/error-on-deprecated/__tests__/jasmine.objectContaining.test.js +e2e/error-on-deprecated/__tests__/jasmine.stringMatching.test.js +e2e/error-on-deprecated/__tests__/pending.test.js +e2e/error-on-deprecated/__tests__/spyOn.test.js +e2e/error-on-deprecated/__tests__/spyOnProperty.test.js +e2e/error-on-deprecated/package.json +e2e/esm-config/cjs/__tests__/test.js +e2e/esm-config/cjs/jest.config.cjs +e2e/esm-config/cjs/package.json +e2e/esm-config/js/__tests__/test.js +e2e/esm-config/js/jest.config.js +e2e/esm-config/js/package.json +e2e/esm-config/mjs/__tests__/test.js +e2e/esm-config/mjs/jest.config.mjs +e2e/esm-config/mjs/package.json +e2e/expect-async-matcher/__tests__/failure.test.js +e2e/expect-async-matcher/__tests__/success.test.js +e2e/expect-async-matcher/babel.config.js +e2e/expect-async-matcher/matchers.js +e2e/expect-async-matcher/package.json +e2e/expect-async-matcher/yarn.lock +e2e/expect-in-vm/__tests__/expect-in-vm.test.js +e2e/expect-in-vm/package.json +e2e/failureDetails-property/__tests__/tests.test.js +e2e/failureDetails-property/myreporter.js +e2e/failureDetails-property/package.json +e2e/failures/__tests__/__snapshots__/snapshot.test.js.snap +e2e/failures/__tests__/__snapshots__/snapshotWithHint.test.js.snap +e2e/failures/__tests__/assertionCount.test.js +e2e/failures/__tests__/assertionError.test.js +e2e/failures/__tests__/asyncFailures.test.js +e2e/failures/__tests__/duringTests.test.js +e2e/failures/__tests__/errorAfterTestComplete.test.js +e2e/failures/__tests__/snapshot.test.js +e2e/failures/__tests__/snapshotWithHint.test.js +e2e/failures/__tests__/testMacro.test.js +e2e/failures/__tests__/throwNumber.test.js +e2e/failures/__tests__/throwObject.test.js +e2e/failures/__tests__/throwObjectWithStackProp.test.js +e2e/failures/__tests__/throwString.test.js +e2e/failures/babel.config.js +e2e/failures/macros.js +e2e/failures/package.json +e2e/failures/yarn.lock +e2e/fake-promises/asap/__tests__/generator.test.js +e2e/fake-promises/asap/fake-promises.js +e2e/fake-promises/asap/package.json +e2e/fake-promises/immediate/__tests__/generator.test.js +e2e/fake-promises/immediate/fake-promises.js +e2e/fake-promises/immediate/package.json +e2e/filter/__tests__/bar.test.js +e2e/filter/__tests__/foo.test.js +e2e/filter/my-broken-filter.js +e2e/filter/my-broken-setup-filter.js +e2e/filter/my-clowny-filter.js +e2e/filter/my-filter.js +e2e/filter/my-secondary-filter.js +e2e/filter/my-setup-filter.js +e2e/filter/package.json +e2e/focused-tests/__tests__/tests.js +e2e/focused-tests/package.json +e2e/generator-mock/__tests__/generatorMock.test.js +e2e/generator-mock/index.js +e2e/generator-mock/package.json +e2e/global-setup-custom-transform/__tests__/test.js +e2e/global-setup-custom-transform/index.js +e2e/global-setup-custom-transform/package.json +e2e/global-setup-custom-transform/setup.js +e2e/global-setup-custom-transform/transformer.js +e2e/global-setup-node-modules/.gitignore +e2e/global-setup-node-modules/__tests__/test.js +e2e/global-setup-node-modules/babel.config.js +e2e/global-setup-node-modules/node_modules/example/index.js +e2e/global-setup-node-modules/package.json +e2e/global-setup-node-modules/setup.js +e2e/global-setup/__tests__/setup1.test.js +e2e/global-setup/__tests__/setup2.test.js +e2e/global-setup/__tests__/setup3.test.js +e2e/global-setup/babel.config.js +e2e/global-setup/custom-tests-dir/pass.test.js +e2e/global-setup/invalidSetup.js +e2e/global-setup/invalidSetupWithNamedExport.js +e2e/global-setup/package.json +e2e/global-setup/project-1/setup.js +e2e/global-setup/project-1/setup.test.js +e2e/global-setup/project-2/setup.js +e2e/global-setup/project-2/setup.test.js +e2e/global-setup/projects.jest.config.js +e2e/global-setup/setup.js +e2e/global-setup/setupWithConfig.js +e2e/global-setup/setupWithDefaultExport.js +e2e/global-setup/yarn.lock +e2e/global-teardown/__tests__/teardown1.test.js +e2e/global-teardown/__tests__/teardown2.test.js +e2e/global-teardown/__tests__/teardown3.test.js +e2e/global-teardown/babel.config.js +e2e/global-teardown/custom-tests-dir/pass.test.js +e2e/global-teardown/invalidTeardown.js +e2e/global-teardown/invalidTeardownWithNamedExport.js +e2e/global-teardown/package.json +e2e/global-teardown/project-1/teardown.js +e2e/global-teardown/project-1/teardown.test.js +e2e/global-teardown/project-2/teardown.js +e2e/global-teardown/project-2/teardown.test.js +e2e/global-teardown/projects.jest.config.js +e2e/global-teardown/teardown.js +e2e/global-teardown/teardownWithConfig.js +e2e/global-teardown/teardownWithDefaultExport.js +e2e/global-teardown/yarn.lock +e2e/imported-globals/__tests__/env.test.js +e2e/imported-globals/babel.config.js +e2e/imported-globals/package.json +e2e/jasmine-async/__tests__/asyncTestFails.test.js +e2e/jasmine-async/__tests__/concurrent-each.test.js +e2e/jasmine-async/__tests__/concurrent-many.test.js +e2e/jasmine-async/__tests__/concurrent-only-each.test.js +e2e/jasmine-async/__tests__/concurrent.test.js +e2e/jasmine-async/__tests__/concurrentWithinDescribe.test.js +e2e/jasmine-async/__tests__/generator.test.js +e2e/jasmine-async/__tests__/pendingInPromise.test.js +e2e/jasmine-async/__tests__/promiseAfterAll.test.js +e2e/jasmine-async/__tests__/promiseAfterEach.test.js +e2e/jasmine-async/__tests__/promiseBeforeAll.test.js +e2e/jasmine-async/__tests__/promiseBeforeEach.test.js +e2e/jasmine-async/__tests__/promiseFit.test.js +e2e/jasmine-async/__tests__/promiseIt.test.js +e2e/jasmine-async/__tests__/promiseXit.test.js +e2e/jasmine-async/__tests__/returningValues.test.js +e2e/jasmine-async/package.json +e2e/json-reporter/__tests__/sum.test.js +e2e/json-reporter/package.json +e2e/json-reporter/sum.js +e2e/lifecycles/__tests__/index.js +e2e/lifecycles/index.js +e2e/lifecycles/package.json +e2e/list-tests/__tests__/dummy.test.js +e2e/list-tests/__tests__/other.test.js +e2e/list-tests/package.json +e2e/location-in-results/__tests__/test.js +e2e/location-in-results/package.json +e2e/mock-json/__mocks__/data.json +e2e/mock-json/__tests__/index.js +e2e/mock-json/data.json +e2e/mock-json/index.js +e2e/mock-json/package.json +e2e/mock-names/with-empty-mock-name-not-called/__tests__/index.js +e2e/mock-names/with-empty-mock-name-not-called/index.js +e2e/mock-names/with-empty-mock-name-not-called/package.json +e2e/mock-names/with-empty-mock-name/__tests__/index.js +e2e/mock-names/with-empty-mock-name/index.js +e2e/mock-names/with-empty-mock-name/package.json +e2e/mock-names/with-mock-name-call-times-fail/__tests__/index.js +e2e/mock-names/with-mock-name-call-times-fail/index.js +e2e/mock-names/with-mock-name-call-times-fail/package.json +e2e/mock-names/with-mock-name-call-times-pass/__tests__/index.js +e2e/mock-names/with-mock-name-call-times-pass/index.js +e2e/mock-names/with-mock-name-call-times-pass/package.json +e2e/mock-names/with-mock-name-not-called-fail/__tests__/index.js +e2e/mock-names/with-mock-name-not-called-fail/index.js +e2e/mock-names/with-mock-name-not-called-fail/package.json +e2e/mock-names/with-mock-name-not-called-pass/__tests__/index.js +e2e/mock-names/with-mock-name-not-called-pass/index.js +e2e/mock-names/with-mock-name-not-called-pass/package.json +e2e/mock-names/with-mock-name-not-called/__tests__/index.js +e2e/mock-names/with-mock-name-not-called/index.js +e2e/mock-names/with-mock-name-not-called/package.json +e2e/mock-names/with-mock-name/__tests__/index.js +e2e/mock-names/with-mock-name/index.js +e2e/mock-names/with-mock-name/package.json +e2e/mock-names/without-mock-name-not-called/__tests__/index.js +e2e/mock-names/without-mock-name-not-called/index.js +e2e/mock-names/without-mock-name-not-called/package.json +e2e/mock-names/without-mock-name/__tests__/index.js +e2e/mock-names/without-mock-name/index.js +e2e/mock-names/without-mock-name/package.json +e2e/modern-fake-timers/from-config/__tests__/test.js +e2e/modern-fake-timers/from-config/package.json +e2e/modern-fake-timers/from-jest-object/__tests__/test.js +e2e/modern-fake-timers/from-jest-object/package.json +e2e/module-name-mapper-correct-config/__mocks__/styleMock.js +e2e/module-name-mapper-correct-config/__tests__/index.js +e2e/module-name-mapper-correct-config/index.js +e2e/module-name-mapper-correct-config/package.json +e2e/module-name-mapper-correct-config/style.css +e2e/module-name-mapper-correct-config/style.sass +e2e/module-name-mapper-correct-mock-absolute-path/__tests__/index.js +e2e/module-name-mapper-correct-mock-absolute-path/index.js +e2e/module-name-mapper-correct-mock-absolute-path/package.json +e2e/module-name-mapper-correct-mock-absolute-path/src/components/Button.js +e2e/module-name-mapper-mock/__tests__/storage/track/Track.test.js +e2e/module-name-mapper-mock/__tests__/storage/track/TrackExpected.test.js +e2e/module-name-mapper-mock/package.json +e2e/module-name-mapper-mock/src/storage/track/Track.js +e2e/module-name-mapper-wrong-array-config/__tests__/index.js +e2e/module-name-mapper-wrong-array-config/index.js +e2e/module-name-mapper-wrong-array-config/package.json +e2e/module-name-mapper-wrong-array-config/style.css +e2e/module-name-mapper-wrong-config/__tests__/index.js +e2e/module-name-mapper-wrong-config/index.js +e2e/module-name-mapper-wrong-config/package.json +e2e/module-name-mapper-wrong-config/style.css +e2e/module-parent-null-in-test/__tests__/index.js +e2e/module-parent-null-in-test/package.json +e2e/multi-project-config-root/bar/__tests__/boggusBar.test.js +e2e/multi-project-config-root/foo/__tests__/boggusFoo.test.js +e2e/multi-project-config-root/package.json +e2e/native-async-mock/Native.js +e2e/native-async-mock/__tests__/nativeAsyncMock.test.js +e2e/native-async-mock/package.json +e2e/native-esm-typescript/__tests__/double.test.ts +e2e/native-esm-typescript/babel.config.js +e2e/native-esm-typescript/double.ts +e2e/native-esm-typescript/package.json +e2e/native-esm/__tests__/native-esm-tla.test.js +e2e/native-esm/__tests__/native-esm.test.js +e2e/native-esm/anotherDynamicImport.js +e2e/native-esm/circularDependentA.mjs +e2e/native-esm/circularDependentB.mjs +e2e/native-esm/commonjs.cjs +e2e/native-esm/commonjsNamed.cjs +e2e/native-esm/dynamicImport.js +e2e/native-esm/fromCjs.mjs +e2e/native-esm/fromEsm.cjs +e2e/native-esm/index.js +e2e/native-esm/namedExport.cjs +e2e/native-esm/namespaceExport.js +e2e/native-esm/package.json +e2e/native-esm/stateful.cjs +e2e/native-esm/stateful.mjs +e2e/nested-event-loop/__tests__/nestedEventLoop.test.js +e2e/nested-event-loop/package.json +e2e/nested-test-definitions/__tests__/nestedDescribeInTest.js +e2e/nested-test-definitions/__tests__/nestedHookInTest.js +e2e/nested-test-definitions/__tests__/nestedTestOutsideDescribe.js +e2e/nested-test-definitions/__tests__/nestedTestWithinDescribe.js +e2e/nested-test-definitions/index.js +e2e/nested-test-definitions/package.json +e2e/no-tests-found-test/package.json +e2e/node-path/__tests__/nodePath.test.js +e2e/node-path/package.json +e2e/node-path/src/path/file.js +e2e/override-globals/__tests__/index.js +e2e/override-globals/babel.config.js +e2e/override-globals/index.js +e2e/override-globals/package.json +e2e/override-globals/setup.js +e2e/package.json +e2e/pnp/__tests__/index.js +e2e/pnp/__tests__/undeclared-dependency.test.js +e2e/pnp/lib/index.js +e2e/pnp/lib/package.json +e2e/pnp/package.json +e2e/pnp/undeclared-dependency/index.js +e2e/pnp/undeclared-dependency/package.json +e2e/pnp/yarn.lock +e2e/presets/js/__tests__/index.js +e2e/presets/js/node_modules/jest-preset-js/jest-preset.js +e2e/presets/js/node_modules/jest-preset-js/mapper.js +e2e/presets/js/package.json +e2e/presets/json/__tests__/index.js +e2e/presets/json/node_modules/jest-preset-json/jest-preset.json +e2e/presets/json/node_modules/jest-preset-json/mapper.js +e2e/presets/json/package.json +e2e/process-exit/__tests__/test.js +e2e/process-exit/babel.config.js +e2e/process-exit/package.json +e2e/promise-and-callback/__tests__/promise-and-callback.test.js +e2e/promise-and-callback/package.json +e2e/promise-reject/package.json +e2e/regex-(char-in-path/__tests__/regexCharInPath.test.js +e2e/regex-(char-in-path/package.json +e2e/require-after-teardown/__tests__/lateRequire.test.js +e2e/require-after-teardown/index.js +e2e/require-after-teardown/package.json +e2e/require-main-after-create-require/__tests__/parent.test.js +e2e/require-main-after-create-require/child.js +e2e/require-main-after-create-require/empty.js +e2e/require-main-after-create-require/package.json +e2e/require-main-isolate-modules/__tests__/index.test.js +e2e/require-main-isolate-modules/child.js +e2e/require-main-isolate-modules/index.js +e2e/require-main-isolate-modules/package.json +e2e/require-main-reset-modules/__tests__/resetModulesCallDirectly.test.js +e2e/require-main-reset-modules/__tests__/resetModulesCallIndirectly.test.js +e2e/require-main-reset-modules/__tests__/resetModulesFlagDirectly.test.js +e2e/require-main-reset-modules/__tests__/resetModulesFlagIndirectly.test.js +e2e/require-main-reset-modules/direct.js +e2e/require-main-reset-modules/indirect.js +e2e/require-main-reset-modules/package.json +e2e/require-main/__tests__/loader.test.js +e2e/require-main/babel.config.js +e2e/require-main/example.js +e2e/require-main/loader.js +e2e/require-main/package.json +e2e/reset-modules/__tests__/resetModules.test.js +e2e/reset-modules/package.json +e2e/resolve-get-paths/__tests__/resolveGetPaths.test.js +e2e/resolve-get-paths/babel.config.js +e2e/resolve-get-paths/package.json +e2e/resolve-no-extensions/__tests__/test.js +e2e/resolve-no-extensions/babel.config.js +e2e/resolve-no-extensions/index.js +e2e/resolve-no-extensions/package.json +e2e/resolve-no-extensions/some-json-file.json +e2e/resolve-node-module/__mocks__/mock-jsx-module/index.jsx +e2e/resolve-node-module/__mocks__/mock-jsx-module/package.json +e2e/resolve-node-module/__mocks__/mock-module-alt/index.js +e2e/resolve-node-module/__mocks__/mock-module-alt/package.json +e2e/resolve-node-module/__mocks__/mock-module-without-pkg/index.js +e2e/resolve-node-module/__mocks__/mock-module/index.js +e2e/resolve-node-module/__mocks__/mock-module/package.json +e2e/resolve-node-module/__tests__/resolve-node-module.test.js +e2e/resolve-node-module/package.json +e2e/resolve-with-paths/__tests__/resolveWithPaths.test.js +e2e/resolve-with-paths/babel.config.js +e2e/resolve-with-paths/dir/mod.js +e2e/resolve-with-paths/package.json +e2e/resolve/Test5.js +e2e/resolve/Test7.js +e2e/resolve/__mocks__/Test5.js +e2e/resolve/__mocks__/Test6.js +e2e/resolve/__tests__/nope.txt +e2e/resolve/__tests__/resolve.test.js +e2e/resolve/hasteImpl.js +e2e/resolve/package.json +e2e/resolve/requiresUnexistingModule.js +e2e/resolve/test1.android.js +e2e/resolve/test1.js +e2e/resolve/test1.json +e2e/resolve/test1.native.js +e2e/resolve/test2.js +e2e/resolve/test2.json +e2e/resolve/test2.native.js +e2e/resolve/test2mapper.js +e2e/resolve/test2mapper.native.js +e2e/resolve/test3.js +e2e/resolve/test3.json +e2e/resolve/test4.json +e2e/run-programmatically/babel.config.js +e2e/run-programmatically/cjs.js +e2e/run-programmatically/esm.js +e2e/run-programmatically/index.js +e2e/run-programmatically/package.json +e2e/runJest.ts +e2e/runtime-internal-module-registry/__mocks__/fs.js +e2e/runtime-internal-module-registry/__tests__/runtimeInternalModuleRegistry.test.js +e2e/runtime-internal-module-registry/package.json +e2e/select-projects-missing-name/__tests__/first-project.test.js +e2e/select-projects-missing-name/__tests__/second-project.test.js +e2e/select-projects-missing-name/package.json +e2e/select-projects/__tests__/first-project.test.js +e2e/select-projects/__tests__/second-project.test.js +e2e/select-projects/package.json +e2e/set-immediate/__tests__/setImmediate.test.js +e2e/set-immediate/package.json +e2e/setup-files-after-env-config/__tests__/runnerPatch.test.js +e2e/setup-files-after-env-config/__tests__/test1.test.js +e2e/setup-files-after-env-config/__tests__/test2.test.js +e2e/setup-files-after-env-config/setup1.js +e2e/setup-files-after-env-config/setup2.js +e2e/setup-files-after-env-config/setupHooksIntoRunner.js +e2e/snapshot-escape/__tests__/snapshot.test.js +e2e/snapshot-escape/__tests__/snapshotEscapeRegex.js +e2e/snapshot-escape/__tests__/snapshotEscapeSubstitution.test.js +e2e/snapshot-escape/package.json +e2e/snapshot-mock-fs/__tests__/snapshot.test.js +e2e/snapshot-mock-fs/package.json +e2e/snapshot-resolver/__tests__/snapshot.test.js +e2e/snapshot-resolver/customSnapshotResolver.js +e2e/snapshot-resolver/package.json +e2e/snapshot-serializers/__tests__/snapshot.test.js +e2e/snapshot-serializers/package.json +e2e/snapshot-serializers/plugins/bar.js +e2e/snapshot-serializers/plugins/foo/index.js +e2e/snapshot-serializers/transformer.js +e2e/snapshot-serializers/utils.js +e2e/snapshot-unknown/__tests__/__snapshots__/fails.test.js.snap +e2e/snapshot-unknown/__tests__/__snapshots__/fails2.test.js.snap +e2e/snapshot-unknown/__tests__/__snapshots__/works.test.js.snap +e2e/snapshot-unknown/__tests__/works.test.js +e2e/snapshot-unknown/package.json +e2e/snapshot/__tests__/secondSnapshot.test.js +e2e/snapshot/__tests__/snapshot.test.js +e2e/snapshot/package.json +e2e/stack-trace-no-capture-stack-trace/__tests__/runtimeError.test.js +e2e/stack-trace-no-capture-stack-trace/package.json +e2e/stack-trace-source-maps-with-coverage/__tests__/fails.ts +e2e/stack-trace-source-maps-with-coverage/lib.ts +e2e/stack-trace-source-maps-with-coverage/package.json +e2e/stack-trace-source-maps-with-coverage/preprocessor.js +e2e/stack-trace-source-maps-with-coverage/yarn.lock +e2e/stack-trace-source-maps/__tests__/fails.ts +e2e/stack-trace-source-maps/package.json +e2e/stack-trace-source-maps/preprocessor.js +e2e/stack-trace-source-maps/yarn.lock +e2e/stack-trace/__tests__/runtimeError.test.js +e2e/stack-trace/__tests__/stackTrace.test.js +e2e/stack-trace/__tests__/stackTraceWithoutMessage.test.js +e2e/stack-trace/__tests__/testError.test.js +e2e/stack-trace/package.json +e2e/test-environment-async/TestEnvironment.js +e2e/test-environment-async/__tests__/custom.test.js +e2e/test-environment-async/package.json +e2e/test-environment-circus-async/CircusAsyncHandleTestEventEnvironment.js +e2e/test-environment-circus-async/__tests__/circusHandleTestEvent.test.js +e2e/test-environment-circus-async/package.json +e2e/test-environment-circus/CircusHandleTestEventEnvironment.js +e2e/test-environment-circus/__tests__/circusHandleTestEvent.test.js +e2e/test-environment-circus/package.json +e2e/test-environment/DocblockPragmasEnvironment.js +e2e/test-environment/EsmDefaultEnvironment.js +e2e/test-environment/__tests__/docblockPragmas.test.js +e2e/test-environment/__tests__/env.test.js +e2e/test-environment/__tests__/esmDefault.test.js +e2e/test-environment/package.json +e2e/test-in-root/foo.js +e2e/test-in-root/footest.js +e2e/test-in-root/package.json +e2e/test-in-root/spec.js +e2e/test-in-root/test.js +e2e/test-name-pattern-skipped/__tests__/testNamePatternSkipped.test.js +e2e/test-name-pattern-skipped/package.json +e2e/test-name-pattern/__tests__/testNamePattern.test.js +e2e/test-name-pattern/package.json +e2e/test-results-processor/__tests__/processor.test.js +e2e/test-results-processor/package.json +e2e/test-results-processor/processor.js +e2e/test-retries/__tests__/beforeAllFailure.test.js +e2e/test-retries/__tests__/control.test.js +e2e/test-retries/__tests__/e2e.test.js +e2e/test-retries/__tests__/retry.test.js +e2e/test-retries/package.json +e2e/test-retries/reporters/RetryReporter.js +e2e/test-todo/__tests__/statuses.test.js +e2e/test-todo/__tests__/todoMultipleArgs.test.js +e2e/test-todo/__tests__/todoNoArgs.test.js +e2e/test-todo/__tests__/todoNonString.test.js +e2e/test-todo/__tests__/verbose.test.js +e2e/test-todo/package.json +e2e/timer-reset-mocks/after-reset-all-mocks/index.js +e2e/timer-reset-mocks/after-reset-all-mocks/package.json +e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js +e2e/timer-reset-mocks/with-reset-mocks/index.js +e2e/timer-reset-mocks/with-reset-mocks/package.json +e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js +e2e/timer-use-real-timers/__tests__/useRealTimers.test.js +e2e/timer-use-real-timers/package.json +e2e/to-match-inline-snapshot-with-retries/package.json +e2e/to-match-inline-snapshot/babel.config.js +e2e/to-match-inline-snapshot/package.json +e2e/to-match-snapshot-with-retries/package.json +e2e/to-match-snapshot-with-string-serializer/package.json +e2e/to-match-snapshot-with-string-serializer/serializers/string.js +e2e/to-match-snapshot/package.json +e2e/to-throw-error-matching-inline-snapshot/babel.config.js +e2e/to-throw-error-matching-inline-snapshot/package.json +e2e/to-throw-error-matching-snapshot/package.json +e2e/transform-linked-modules/__tests__/linkedModules.test.js +e2e/transform-linked-modules/ignored/normal.js +e2e/transform-linked-modules/ignored/symlink.js +e2e/transform-linked-modules/package.json +e2e/transform-linked-modules/package/index.js +e2e/transform-linked-modules/preprocessor.js +e2e/transform/babel-jest-ignored/__tests__/ignoredFile.test.js +e2e/transform/babel-jest-ignored/babel.config.js +e2e/transform/babel-jest-ignored/package.json +e2e/transform/babel-jest-manual/__tests__/babelJest.test.js +e2e/transform/babel-jest-manual/foo.js +e2e/transform/babel-jest-manual/package.json +e2e/transform/babel-jest-manual/transformer.js +e2e/transform/babel-jest-manual/yarn.lock +e2e/transform/babel-jest/__tests__/babelJest.test.js +e2e/transform/babel-jest/__tests__/changedCwd.test.js +e2e/transform/babel-jest/babel.config.js +e2e/transform/babel-jest/notCovered.js +e2e/transform/babel-jest/package.json +e2e/transform/babel-jest/some-dir/.gitkeep +e2e/transform/babel-jest/this-directory-is-covered/covered.js +e2e/transform/babel-jest/this-directory-is-covered/excludedFromCoverage.js +e2e/transform/babel-jest/yarn.lock +e2e/transform/cache/__tests__/aTests.js +e2e/transform/cache/__tests__/bTests.js +e2e/transform/cache/__tests__/cTests.js +e2e/transform/cache/__tests__/dTests.js +e2e/transform/cache/common-file.js +e2e/transform/cache/package.json +e2e/transform/cache/transformer.js +e2e/transform/custom-instrumenting-preprocessor/__tests__/customPreprocessor.test.js +e2e/transform/custom-instrumenting-preprocessor/package.json +e2e/transform/custom-instrumenting-preprocessor/preprocessor.js +e2e/transform/custom-instrumenting-preprocessor/src/index.js +e2e/transform/custom-instrumenting-preprocessor/src/someOtherFile.js +e2e/transform/ecmascript-modules-support/__tests__/ecmascriptModulesSupport.mjs +e2e/transform/ecmascript-modules-support/babel.config.js +e2e/transform/ecmascript-modules-support/package.json +e2e/transform/ecmascript-modules-support/src/index.mjs +e2e/transform/ecmascript-modules-support/src/module.mjs +e2e/transform/multiple-transformers/__tests__/__snapshots__/multipleTransformers.test.js.snap +e2e/transform/multiple-transformers/__tests__/multipleTransformers.test.js +e2e/transform/multiple-transformers/babel.config.js +e2e/transform/multiple-transformers/cssPreprocessor.js +e2e/transform/multiple-transformers/filePreprocessor.js +e2e/transform/multiple-transformers/jsPreprocessor.js +e2e/transform/multiple-transformers/package.json +e2e/transform/multiple-transformers/src/App.css +e2e/transform/multiple-transformers/src/App.js +e2e/transform/multiple-transformers/src/logo.svg +e2e/transform/multiple-transformers/yarn.lock +e2e/transform/no-babel-jest/__tests__/failsWithSyntaxError.test.js +e2e/transform/no-babel-jest/__tests__/passesWithNoBabelJest.js +e2e/transform/no-babel-jest/package.json +e2e/transform/no-babel-jest/this-directory-is-covered/covered.js +e2e/transform/no-babel-jest/this-directory-is-covered/excludedFromCoverage.js +e2e/transform/transform-environment/__tests__/add.test.js +e2e/transform/transform-environment/babel.config.js +e2e/transform/transform-environment/environment.ts +e2e/transform/transform-environment/package.json +e2e/transform/transform-environment/tsconfig.json +e2e/transform/transform-runner/__tests__/add.test.js +e2e/transform/transform-runner/babel.config.js +e2e/transform/transform-runner/package.json +e2e/transform/transform-runner/runner.ts +e2e/transform/transform-runner/tsconfig.json +e2e/transform/transform-testrunner/__tests__/add.test.js +e2e/transform/transform-testrunner/babel.config.js +e2e/transform/transform-testrunner/package.json +e2e/transform/transform-testrunner/test-runner.ts +e2e/transform/transform-testrunner/tsconfig.json +e2e/transform/transformer-config/.babelrc +e2e/transform/transformer-config/NotCovered.js +e2e/transform/transformer-config/__tests__/transformer-config.test.js +e2e/transform/transformer-config/package.json +e2e/transform/transformer-config/this-directory-is-covered/Covered.js +e2e/transform/transformer-config/this-directory-is-covered/ExcludedFromCoverage.js +e2e/transform/transformer-config/yarn.lock +e2e/tsconfig.json +e2e/typescript-coverage/__tests__/coveredTest.ts +e2e/typescript-coverage/covered.ts +e2e/typescript-coverage/package.json +e2e/typescript-coverage/typescriptPreprocessor.js +e2e/typescript-coverage/yarn.lock +e2e/v8-coverage/empty-sourcemap/babel.config.js +e2e/v8-coverage/empty-sourcemap/package.json +e2e/v8-coverage/empty-sourcemap/test.ts +e2e/v8-coverage/empty-sourcemap/types.ts +e2e/v8-coverage/no-sourcemap/Thing.js +e2e/v8-coverage/no-sourcemap/__tests__/Thing.test.js +e2e/v8-coverage/no-sourcemap/cssTransform.js +e2e/v8-coverage/no-sourcemap/package.json +e2e/v8-coverage/no-sourcemap/x.css +e2e/verbose-reporter/__tests__/verbose.test.js +e2e/verbose-reporter/package.json +e2e/wrong-env/__tests__/beforeTest.js +e2e/wrong-env/__tests__/jsdom.js +e2e/wrong-env/__tests__/node.js +e2e/wrong-env/package.json +examples/angular/.babelrc.js +examples/angular/app.component.spec.ts +examples/angular/app.component.ts +examples/angular/app.module.ts +examples/angular/jest.config.js +examples/angular/package.json +examples/angular/setupJest.js +examples/angular/shared/data.service.spec.ts +examples/angular/shared/data.service.ts +examples/angular/shared/sub.service.spec.ts +examples/angular/shared/sub.service.ts +examples/async/.babelrc.js +examples/async/__mocks__/request.js +examples/async/__tests__/user.test.js +examples/async/package.json +examples/async/request.js +examples/async/user.js +examples/automatic-mocks/.babelrc.js +examples/automatic-mocks/__tests__/automock.test.js +examples/automatic-mocks/__tests__/createMockFromModule.test.js +examples/automatic-mocks/__tests__/disableAutomocking.test.js +examples/automatic-mocks/package.json +examples/automatic-mocks/utils.js +examples/enzyme/.babelrc.js +examples/enzyme/CheckboxWithLabel.js +examples/enzyme/__tests__/CheckboxWithLabel-test.js +examples/enzyme/package.json +examples/getting-started/.babelrc.js +examples/getting-started/package.json +examples/getting-started/sum.js +examples/getting-started/sum.test.js +examples/jquery/.babelrc.js +examples/jquery/__tests__/display_user.test.js +examples/jquery/__tests__/fetch_current_user.test.js +examples/jquery/displayUser.js +examples/jquery/fetchCurrentUser.js +examples/jquery/package.json +examples/manual-mocks/.babelrc.js +examples/manual-mocks/FileSummarizer.js +examples/manual-mocks/__mocks__/fs.js +examples/manual-mocks/__mocks__/lodash.js +examples/manual-mocks/__tests__/file_summarizer.test.js +examples/manual-mocks/__tests__/lodashMocking.test.js +examples/manual-mocks/__tests__/user.test.js +examples/manual-mocks/__tests__/userMocked.test.js +examples/manual-mocks/models/__mocks__/user.js +examples/manual-mocks/models/user.js +examples/manual-mocks/package.json +examples/module-mock/.babelrc.js +examples/module-mock/__tests__/full_mock.js +examples/module-mock/__tests__/mock_per_test.js +examples/module-mock/__tests__/partial_mock.js +examples/module-mock/fruit.js +examples/module-mock/package.json +examples/mongodb/__test__/db.test.js +examples/mongodb/babel.config.js +examples/mongodb/jest.config.js +examples/mongodb/mongo-environment.js +examples/mongodb/package.json +examples/mongodb/setup.js +examples/mongodb/teardown.js +examples/react-native/.babelrc.js +examples/react-native/.buckconfig +examples/react-native/.gitignore +examples/react-native/.watchmanconfig +examples/react-native/Intro.js +examples/react-native/__tests__/__snapshots__/intro.test.js.snap +examples/react-native/__tests__/intro.test.js +examples/react-native/index.js +examples/react-native/jest.config.js +examples/react-native/package.json +examples/react-testing-library/.babelrc.js +examples/react-testing-library/CheckboxWithLabel.js +examples/react-testing-library/__tests__/CheckboxWithLabel-test.js +examples/react-testing-library/package.json +examples/react/.babelrc.js +examples/react/CheckboxWithLabel.js +examples/react/__tests__/CheckboxWithLabel-test.js +examples/react/package.json +examples/snapshot/.babelrc.js +examples/snapshot/Clock.react.js +examples/snapshot/Link.react.js +examples/snapshot/__tests__/__snapshots__/clock.react.test.js.snap +examples/snapshot/__tests__/__snapshots__/link.react.test.js.snap +examples/snapshot/__tests__/clock.react.test.js +examples/snapshot/__tests__/link.react.test.js +examples/snapshot/package.json +examples/timer/.babelrc.js +examples/timer/__tests__/infinite_timer_game.test.js +examples/timer/__tests__/timer_game.test.js +examples/timer/infiniteTimerGame.js +examples/timer/package.json +examples/timer/timerGame.js +examples/typescript/.babelrc.js +examples/typescript/CheckboxWithLabel.tsx +examples/typescript/__tests__/CheckboxWithLabel-test.tsx +examples/typescript/__tests__/calc.test.ts +examples/typescript/__tests__/sub-test.ts +examples/typescript/__tests__/sum-test.ts +examples/typescript/__tests__/sum.test.js +examples/typescript/calc.ts +examples/typescript/memory.ts +examples/typescript/package.json +examples/typescript/sub.ts +examples/typescript/sum.js +examples/typescript/sum.ts +examples/typescript/tsconfig.json +fixtures/callExpressionWithoutText.example +fixtures/dangerjs/github.example +fixtures/dangerjs/travis-ci.example +fixtures/declarationWithoutAssignment.example +fixtures/failing-jsons/failing_expects.json +fixtures/failing-jsons/failing_jest_json.json +fixtures/failing-jsons/failing_json_multiple.json +fixtures/failing-jsons/failing_metaphysics.json +fixtures/failing-jsons/monorepo_root_1.json +fixtures/failing-jsons/monorepo_root_2.json +fixtures/global_its.example +fixtures/metaphysics/partner_show.example +fixtures/nested_its.example +fixtures/parser_tests.js +jest +jest.config.ci.js +jest.config.js +jest.config.types.js +lerna.json +package.json +packages/babel-jest/.npmignore +packages/babel-jest/README.md +packages/babel-jest/package.json +packages/babel-jest/src/__tests__/index.ts +packages/babel-jest/src/index.ts +packages/babel-jest/src/loadBabelConfig.ts +packages/babel-jest/tsconfig.json +packages/babel-plugin-jest-hoist/.npmignore +packages/babel-plugin-jest-hoist/README.md +packages/babel-plugin-jest-hoist/package.json +packages/babel-plugin-jest-hoist/src/__tests__/__snapshots__/hoistPlugin.test.ts.snap +packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts +packages/babel-plugin-jest-hoist/src/index.ts +packages/babel-plugin-jest-hoist/tsconfig.json +packages/babel-preset-jest/.npmignore +packages/babel-preset-jest/README.md +packages/babel-preset-jest/index.js +packages/babel-preset-jest/package.json +packages/diff-sequences/.npmignore +packages/diff-sequences/README.md +packages/diff-sequences/package.json +packages/diff-sequences/perf/example.md +packages/diff-sequences/perf/index.js +packages/diff-sequences/src/__tests__/__snapshots__/index.test.ts.snap +packages/diff-sequences/src/__tests__/index.property.test.ts +packages/diff-sequences/src/__tests__/index.test.ts +packages/diff-sequences/src/index.ts +packages/diff-sequences/tsconfig.json +packages/expect/.npmignore +packages/expect/README.md +packages/expect/package.json +packages/expect/src/__tests__/__arbitraries__/sharedSettings.ts +packages/expect/src/__tests__/__snapshots__/assertionCounts.test.ts.snap +packages/expect/src/__tests__/__snapshots__/extend.test.ts.snap +packages/expect/src/__tests__/__snapshots__/matchers.test.js.snap +packages/expect/src/__tests__/__snapshots__/spyMatchers.test.ts.snap +packages/expect/src/__tests__/__snapshots__/toThrowMatchers.test.ts.snap +packages/expect/src/__tests__/assertionCounts.test.ts +packages/expect/src/__tests__/asymmetricMatchers.test.ts +packages/expect/src/__tests__/extend.test.ts +packages/expect/src/__tests__/isError.test.ts +packages/expect/src/__tests__/matchers-toContain.property.test.ts +packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts +packages/expect/src/__tests__/matchers-toEqual.property.test.ts +packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts +packages/expect/src/__tests__/matchers.test.js +packages/expect/src/__tests__/spyMatchers.test.ts +packages/expect/src/__tests__/stacktrace.test.ts +packages/expect/src/__tests__/symbolInObjects.test.ts +packages/expect/src/__tests__/toEqual-dom.test.ts +packages/expect/src/__tests__/toThrowMatchers.test.ts +packages/expect/src/__tests__/utils.test.ts +packages/expect/src/asymmetricMatchers.ts +packages/expect/src/extractExpectedAssertionsErrors.ts +packages/expect/src/index.ts +packages/expect/src/jasmineUtils.ts +packages/expect/src/jestMatchersObject.ts +packages/expect/src/matchers.ts +packages/expect/src/print.ts +packages/expect/src/spyMatchers.ts +packages/expect/src/toThrowMatchers.ts +packages/expect/src/types.ts +packages/expect/src/utils.ts +packages/expect/tsconfig.json +packages/jest-changed-files/.npmignore +packages/jest-changed-files/README.md +packages/jest-changed-files/package.json +packages/jest-changed-files/src/git.ts +packages/jest-changed-files/src/hg.ts +packages/jest-changed-files/src/index.ts +packages/jest-changed-files/src/types.ts +packages/jest-changed-files/tsconfig.json +packages/jest-circus/.npmignore +packages/jest-circus/README.md +packages/jest-circus/package.json +packages/jest-circus/runner.js +packages/jest-circus/src/__mocks__/testEventHandler.ts +packages/jest-circus/src/__mocks__/testUtils.ts +packages/jest-circus/src/__tests__/__snapshots__/afterAll.test.ts.snap +packages/jest-circus/src/__tests__/__snapshots__/baseTest.test.ts.snap +packages/jest-circus/src/__tests__/__snapshots__/hooks.test.ts.snap +packages/jest-circus/src/__tests__/afterAll.test.ts +packages/jest-circus/src/__tests__/baseTest.test.ts +packages/jest-circus/src/__tests__/circusItTestError.test.ts +packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts +packages/jest-circus/src/__tests__/hooks.test.ts +packages/jest-circus/src/__tests__/hooksError.test.ts +packages/jest-circus/src/eventHandler.ts +packages/jest-circus/src/formatNodeAssertErrors.ts +packages/jest-circus/src/globalErrorHandlers.ts +packages/jest-circus/src/index.ts +packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapter.ts +packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts +packages/jest-circus/src/legacy-code-todo-rewrite/jestExpect.ts +packages/jest-circus/src/run.ts +packages/jest-circus/src/state.ts +packages/jest-circus/src/testCaseReportHandler.ts +packages/jest-circus/src/types.ts +packages/jest-circus/src/utils.ts +packages/jest-circus/tsconfig.json +packages/jest-cli/.npmignore +packages/jest-cli/README.md +packages/jest-cli/bin/jest.js +packages/jest-cli/package.json +packages/jest-cli/src/__tests__/cli/args.test.ts +packages/jest-cli/src/cli/args.ts +packages/jest-cli/src/cli/index.ts +packages/jest-cli/src/index.ts +packages/jest-cli/src/init/__tests__/__snapshots__/init.test.js.snap +packages/jest-cli/src/init/__tests__/__snapshots__/modifyPackageJson.test.ts.snap +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-cjs/jest.config.cjs +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-cjs/package.json +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-js/jest.config.js +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-js/package.json +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-json/jest.config.json +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-json/package.json +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-mjs/jest.config.mjs +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-mjs/package.json +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-ts/jest.config.ts +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-file-ts/package.json +packages/jest-cli/src/init/__tests__/fixtures/has-jest-config-in-package-json/package.json +packages/jest-cli/src/init/__tests__/fixtures/no-package-json/index.js +packages/jest-cli/src/init/__tests__/fixtures/only-package-json/package.json +packages/jest-cli/src/init/__tests__/fixtures/test-generated-jest-config-ts/package.json +packages/jest-cli/src/init/__tests__/fixtures/test-script-configured/package.json +packages/jest-cli/src/init/__tests__/fixtures/type-module/package.json +packages/jest-cli/src/init/__tests__/fixtures/typescript-in-dependencies/package.json +packages/jest-cli/src/init/__tests__/fixtures/typescript-in-dev-dependencies/package.json +packages/jest-cli/src/init/__tests__/init.test.js +packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts +packages/jest-cli/src/init/errors.ts +packages/jest-cli/src/init/generateConfigFile.ts +packages/jest-cli/src/init/index.ts +packages/jest-cli/src/init/modifyPackageJson.ts +packages/jest-cli/src/init/questions.ts +packages/jest-cli/src/init/types.ts +packages/jest-cli/tsconfig.json +packages/jest-config/.npmignore +packages/jest-config/package.json +packages/jest-config/src/Defaults.ts +packages/jest-config/src/Deprecated.ts +packages/jest-config/src/Descriptions.ts +packages/jest-config/src/ReporterValidationErrors.ts +packages/jest-config/src/ValidConfig.ts +packages/jest-config/src/__mocks__/fs.js +packages/jest-config/src/__mocks__/os.js +packages/jest-config/src/__mocks__/read-pkg.js +packages/jest-config/src/__tests__/Defaults.test.ts +packages/jest-config/src/__tests__/__snapshots__/normalize.test.js.snap +packages/jest-config/src/__tests__/getMaxWorkers.test.ts +packages/jest-config/src/__tests__/jest-preset.json +packages/jest-config/src/__tests__/normalize.test.js +packages/jest-config/src/__tests__/readConfig.test.ts +packages/jest-config/src/__tests__/readConfigs.test.ts +packages/jest-config/src/__tests__/resolveConfigPath.test.ts +packages/jest-config/src/__tests__/setFromArgv.test.ts +packages/jest-config/src/__tests__/validatePattern.test.ts +packages/jest-config/src/color.ts +packages/jest-config/src/constants.ts +packages/jest-config/src/getCacheDirectory.ts +packages/jest-config/src/getMaxWorkers.ts +packages/jest-config/src/index.ts +packages/jest-config/src/normalize.ts +packages/jest-config/src/readConfigFileAndSetRootDir.ts +packages/jest-config/src/resolveConfigPath.ts +packages/jest-config/src/setFromArgv.ts +packages/jest-config/src/utils.ts +packages/jest-config/src/validatePattern.ts +packages/jest-config/src/vendor/jsonlint.js +packages/jest-config/tsconfig.json +packages/jest-console/.npmignore +packages/jest-console/package.json +packages/jest-console/src/BufferedConsole.ts +packages/jest-console/src/CustomConsole.ts +packages/jest-console/src/NullConsole.ts +packages/jest-console/src/__tests__/CustomConsole.test.ts +packages/jest-console/src/__tests__/bufferedConsole.test.ts +packages/jest-console/src/__tests__/getConsoleOutput.test.ts +packages/jest-console/src/getConsoleOutput.ts +packages/jest-console/src/index.ts +packages/jest-console/src/types.ts +packages/jest-console/tsconfig.json +packages/jest-core/.npmignore +packages/jest-core/README.md +packages/jest-core/package.json +packages/jest-core/src/FailedTestsCache.ts +packages/jest-core/src/ReporterDispatcher.ts +packages/jest-core/src/SearchSource.ts +packages/jest-core/src/SnapshotInteractiveMode.ts +packages/jest-core/src/TestNamePatternPrompt.ts +packages/jest-core/src/TestPathPatternPrompt.ts +packages/jest-core/src/TestScheduler.ts +packages/jest-core/src/TestWatcher.ts +packages/jest-core/src/__tests__/FailedTestsCache.test.js +packages/jest-core/src/__tests__/SearchSource.test.ts +packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js +packages/jest-core/src/__tests__/TestScheduler.test.js +packages/jest-core/src/__tests__/__fixtures__/watchPlugin.js +packages/jest-core/src/__tests__/__fixtures__/watchPlugin2.js +packages/jest-core/src/__tests__/__fixtures__/watchPluginThrows.js +packages/jest-core/src/__tests__/__snapshots__/SnapshotInteractiveMode.test.js.snap +packages/jest-core/src/__tests__/__snapshots__/getNoTestsFoundMessage.test.js.snap +packages/jest-core/src/__tests__/__snapshots__/watch.test.js.snap +packages/jest-core/src/__tests__/__snapshots__/watchFilenamePatternMode.test.js.snap +packages/jest-core/src/__tests__/__snapshots__/watchTestNamePatternMode.test.js.snap +packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js +packages/jest-core/src/__tests__/globals.test.ts +packages/jest-core/src/__tests__/runJest.test.js +packages/jest-core/src/__tests__/testSchedulerHelper.test.js +packages/jest-core/src/__tests__/test_root/.hiddenFolder/not-really-a-test.txt +packages/jest-core/src/__tests__/test_root/__testtests__/do-not-match-me.txt +packages/jest-core/src/__tests__/test_root/__testtests__/not-really-a-test.txt +packages/jest-core/src/__tests__/test_root/__testtests__/test.foobar +packages/jest-core/src/__tests__/test_root/__testtests__/test.js +packages/jest-core/src/__tests__/test_root/__testtests__/test.jsx +packages/jest-core/src/__tests__/test_root/module.foobar +packages/jest-core/src/__tests__/test_root/module.jsx +packages/jest-core/src/__tests__/test_root/noTests.js +packages/jest-core/src/__tests__/test_root_with_(parentheses)/__testtests__/test.js +packages/jest-core/src/__tests__/test_root_with_(parentheses)/module.jsx +packages/jest-core/src/__tests__/watch.test.js +packages/jest-core/src/__tests__/watchFileChanges.test.ts +packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js +packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js +packages/jest-core/src/assets/jest_logo.png +packages/jest-core/src/cli/index.ts +packages/jest-core/src/collectHandles.ts +packages/jest-core/src/getChangedFilesPromise.ts +packages/jest-core/src/getConfigsOfProjectsToRun.ts +packages/jest-core/src/getNoTestFound.ts +packages/jest-core/src/getNoTestFoundFailed.ts +packages/jest-core/src/getNoTestFoundPassWithNoTests.ts +packages/jest-core/src/getNoTestFoundRelatedToChangedFiles.ts +packages/jest-core/src/getNoTestFoundVerbose.ts +packages/jest-core/src/getNoTestsFoundMessage.ts +packages/jest-core/src/getProjectDisplayName.ts +packages/jest-core/src/getProjectNamesMissingWarning.ts +packages/jest-core/src/getSelectProjectsMessage.ts +packages/jest-core/src/jest.ts +packages/jest-core/src/lib/__tests__/__snapshots__/logDebugMessages.test.ts.snap +packages/jest-core/src/lib/__tests__/isValidPath.test.ts +packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts +packages/jest-core/src/lib/activeFiltersMessage.ts +packages/jest-core/src/lib/createContext.ts +packages/jest-core/src/lib/handleDeprecationWarnings.ts +packages/jest-core/src/lib/isValidPath.ts +packages/jest-core/src/lib/logDebugMessages.ts +packages/jest-core/src/lib/updateGlobalConfig.ts +packages/jest-core/src/lib/watchPluginsHelpers.ts +packages/jest-core/src/plugins/Quit.ts +packages/jest-core/src/plugins/TestNamePattern.ts +packages/jest-core/src/plugins/TestPathPattern.ts +packages/jest-core/src/plugins/UpdateSnapshots.ts +packages/jest-core/src/plugins/UpdateSnapshotsInteractive.ts +packages/jest-core/src/pluralize.ts +packages/jest-core/src/runGlobalHook.ts +packages/jest-core/src/runJest.ts +packages/jest-core/src/testSchedulerHelper.ts +packages/jest-core/src/types.ts +packages/jest-core/src/version.ts +packages/jest-core/src/watch.ts +packages/jest-core/tsconfig.json +packages/jest-create-cache-key-function/.npmignore +packages/jest-create-cache-key-function/package.json +packages/jest-create-cache-key-function/src/__tests__/index.test.ts +packages/jest-create-cache-key-function/src/index.ts +packages/jest-create-cache-key-function/tsconfig.json +packages/jest-diff/.npmignore +packages/jest-diff/README.md +packages/jest-diff/package.json +packages/jest-diff/src/__tests__/__snapshots__/diff.test.ts.snap +packages/jest-diff/src/__tests__/__snapshots__/getAlignedDiffs.test.ts.snap +packages/jest-diff/src/__tests__/__snapshots__/joinAlignedDiffs.test.ts.snap +packages/jest-diff/src/__tests__/diff.test.ts +packages/jest-diff/src/__tests__/diffStringsRaw.test.ts +packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts +packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts +packages/jest-diff/src/cleanupSemantic.ts +packages/jest-diff/src/constants.ts +packages/jest-diff/src/diffLines.ts +packages/jest-diff/src/diffStrings.ts +packages/jest-diff/src/getAlignedDiffs.ts +packages/jest-diff/src/index.ts +packages/jest-diff/src/joinAlignedDiffs.ts +packages/jest-diff/src/normalizeDiffOptions.ts +packages/jest-diff/src/printDiffs.ts +packages/jest-diff/src/types.ts +packages/jest-diff/tsconfig.json +packages/jest-docblock/.npmignore +packages/jest-docblock/README.md +packages/jest-docblock/package.json +packages/jest-docblock/src/__tests__/index.test.ts +packages/jest-docblock/src/index.ts +packages/jest-docblock/tsconfig.json +packages/jest-each/.npmignore +packages/jest-each/README.md +packages/jest-each/assets/default-demo.gif +packages/jest-each/assets/describe-demo.gif +packages/jest-each/assets/tagged-template-literal.gif +packages/jest-each/assets/test-demo.gif +packages/jest-each/package.json +packages/jest-each/src/__tests__/__snapshots__/array.test.ts.snap +packages/jest-each/src/__tests__/__snapshots__/index.test.ts.snap +packages/jest-each/src/__tests__/__snapshots__/template.test.ts.snap +packages/jest-each/src/__tests__/array.test.ts +packages/jest-each/src/__tests__/index.test.ts +packages/jest-each/src/__tests__/template.test.ts +packages/jest-each/src/bind.ts +packages/jest-each/src/index.ts +packages/jest-each/src/table/array.ts +packages/jest-each/src/table/template.ts +packages/jest-each/src/validation.ts +packages/jest-each/tsconfig.json +packages/jest-environment-jsdom/.npmignore +packages/jest-environment-jsdom/package.json +packages/jest-environment-jsdom/src/__mocks__/index.ts +packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts +packages/jest-environment-jsdom/src/index.ts +packages/jest-environment-jsdom/tsconfig.json +packages/jest-environment-node/.npmignore +packages/jest-environment-node/package.json +packages/jest-environment-node/src/__tests__/node_environment.test.ts +packages/jest-environment-node/src/index.ts +packages/jest-environment-node/tsconfig.json +packages/jest-environment/.npmignore +packages/jest-environment/package.json +packages/jest-environment/src/index.ts +packages/jest-environment/tsconfig.json +packages/jest-fake-timers/.npmignore +packages/jest-fake-timers/package.json +packages/jest-fake-timers/src/__tests__/__snapshots__/legacyFakeTimers.test.ts.snap +packages/jest-fake-timers/src/__tests__/__snapshots__/modernFakeTimers.test.ts.snap +packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts +packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts +packages/jest-fake-timers/src/index.ts +packages/jest-fake-timers/src/legacyFakeTimers.ts +packages/jest-fake-timers/src/modernFakeTimers.ts +packages/jest-fake-timers/tsconfig.json +packages/jest-get-type/.npmignore +packages/jest-get-type/package.json +packages/jest-get-type/src/__tests__/getType.test.ts +packages/jest-get-type/src/__tests__/isPrimitive.test.ts +packages/jest-get-type/src/index.ts +packages/jest-get-type/tsconfig.json +packages/jest-globals/.npmignore +packages/jest-globals/package.json +packages/jest-globals/src/__tests__/index.ts +packages/jest-globals/src/index.ts +packages/jest-globals/tsconfig.json +packages/jest-haste-map/.npmignore +packages/jest-haste-map/package.json +packages/jest-haste-map/src/HasteFS.ts +packages/jest-haste-map/src/ModuleMap.ts +packages/jest-haste-map/src/__tests__/__snapshots__/index.test.js.snap +packages/jest-haste-map/src/__tests__/dependencyExtractor.js +packages/jest-haste-map/src/__tests__/get_mock_name.test.js +packages/jest-haste-map/src/__tests__/haste_impl.js +packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts +packages/jest-haste-map/src/__tests__/index.test.js +packages/jest-haste-map/src/__tests__/test_dotfiles_root/.eslintrc.js +packages/jest-haste-map/src/__tests__/test_dotfiles_root/index.js +packages/jest-haste-map/src/__tests__/worker.test.js +packages/jest-haste-map/src/blacklist.ts +packages/jest-haste-map/src/constants.ts +packages/jest-haste-map/src/crawlers/__tests__/node.test.js +packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js +packages/jest-haste-map/src/crawlers/node.ts +packages/jest-haste-map/src/crawlers/watchman.ts +packages/jest-haste-map/src/getMockName.ts +packages/jest-haste-map/src/index.ts +packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js +packages/jest-haste-map/src/lib/__tests__/fast_path.test.js +packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js +packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js +packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js +packages/jest-haste-map/src/lib/dependencyExtractor.ts +packages/jest-haste-map/src/lib/fast_path.ts +packages/jest-haste-map/src/lib/getPlatformExtension.ts +packages/jest-haste-map/src/lib/isRegExpSupported.ts +packages/jest-haste-map/src/lib/normalizePathSep.ts +packages/jest-haste-map/src/types.ts +packages/jest-haste-map/src/watchers/FSEventsWatcher.ts +packages/jest-haste-map/src/watchers/NodeWatcher.js +packages/jest-haste-map/src/watchers/RecrawlWarning.js +packages/jest-haste-map/src/watchers/WatchmanWatcher.js +packages/jest-haste-map/src/watchers/common.js +packages/jest-haste-map/src/worker.ts +packages/jest-haste-map/tsconfig.json +packages/jest-jasmine2/.npmignore +packages/jest-jasmine2/package.json +packages/jest-jasmine2/src/ExpectationFailed.ts +packages/jest-jasmine2/src/PCancelable.ts +packages/jest-jasmine2/src/__tests__/Suite.test.ts +packages/jest-jasmine2/src/__tests__/__snapshots__/expectationResultFactory.test.ts.snap +packages/jest-jasmine2/src/__tests__/concurrent.test.ts +packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts +packages/jest-jasmine2/src/__tests__/hooksError.test.ts +packages/jest-jasmine2/src/__tests__/itTestError.test.ts +packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts +packages/jest-jasmine2/src/__tests__/iterators.test.ts +packages/jest-jasmine2/src/__tests__/pTimeout.test.ts +packages/jest-jasmine2/src/__tests__/queueRunner.test.ts +packages/jest-jasmine2/src/__tests__/reporter.test.ts +packages/jest-jasmine2/src/__tests__/todoError.test.ts +packages/jest-jasmine2/src/assertionErrorMessage.ts +packages/jest-jasmine2/src/each.ts +packages/jest-jasmine2/src/errorOnPrivate.ts +packages/jest-jasmine2/src/expectationResultFactory.ts +packages/jest-jasmine2/src/index.ts +packages/jest-jasmine2/src/isError.ts +packages/jest-jasmine2/src/jasmine/CallTracker.ts +packages/jest-jasmine2/src/jasmine/Env.ts +packages/jest-jasmine2/src/jasmine/JsApiReporter.ts +packages/jest-jasmine2/src/jasmine/ReportDispatcher.ts +packages/jest-jasmine2/src/jasmine/Spec.ts +packages/jest-jasmine2/src/jasmine/SpyStrategy.ts +packages/jest-jasmine2/src/jasmine/Suite.ts +packages/jest-jasmine2/src/jasmine/Timer.ts +packages/jest-jasmine2/src/jasmine/createSpy.ts +packages/jest-jasmine2/src/jasmine/jasmineLight.ts +packages/jest-jasmine2/src/jasmine/spyRegistry.ts +packages/jest-jasmine2/src/jasmineAsyncInstall.ts +packages/jest-jasmine2/src/jestExpect.ts +packages/jest-jasmine2/src/pTimeout.ts +packages/jest-jasmine2/src/queueRunner.ts +packages/jest-jasmine2/src/reporter.ts +packages/jest-jasmine2/src/setup_jest_globals.ts +packages/jest-jasmine2/src/treeProcessor.ts +packages/jest-jasmine2/src/types.ts +packages/jest-jasmine2/tsconfig.json +packages/jest-leak-detector/.npmignore +packages/jest-leak-detector/README.md +packages/jest-leak-detector/package.json +packages/jest-leak-detector/src/__tests__/__snapshots__/index.test.ts.snap +packages/jest-leak-detector/src/__tests__/index.test.ts +packages/jest-leak-detector/src/index.ts +packages/jest-leak-detector/tsconfig.json +packages/jest-matcher-utils/.npmignore +packages/jest-matcher-utils/package.json +packages/jest-matcher-utils/src/Replaceable.ts +packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts +packages/jest-matcher-utils/src/__tests__/__snapshots__/index.test.ts.snap +packages/jest-matcher-utils/src/__tests__/__snapshots__/printDiffOrStringify.test.ts.snap +packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts +packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts +packages/jest-matcher-utils/src/__tests__/index.test.ts +packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts +packages/jest-matcher-utils/src/deepCyclicCopyReplaceable.ts +packages/jest-matcher-utils/src/index.ts +packages/jest-matcher-utils/tsconfig.json +packages/jest-message-util/.npmignore +packages/jest-message-util/package.json +packages/jest-message-util/src/__tests__/__snapshots__/messages.test.ts.snap +packages/jest-message-util/src/__tests__/messages.test.ts +packages/jest-message-util/src/index.ts +packages/jest-message-util/src/types.ts +packages/jest-message-util/tsconfig.json +packages/jest-mock/.npmignore +packages/jest-mock/README.md +packages/jest-mock/package.json +packages/jest-mock/src/__tests__/index.test.ts +packages/jest-mock/src/index.ts +packages/jest-mock/tsconfig.json +packages/jest-phabricator/.npmignore +packages/jest-phabricator/README.md +packages/jest-phabricator/package.json +packages/jest-phabricator/src/index.ts +packages/jest-phabricator/tsconfig.json +packages/jest-regex-util/.npmignore +packages/jest-regex-util/package.json +packages/jest-regex-util/src/__tests__/index.test.ts +packages/jest-regex-util/src/index.ts +packages/jest-regex-util/tsconfig.json +packages/jest-repl/.npmignore +packages/jest-repl/bin/jest-repl.js +packages/jest-repl/bin/jest-runtime-cli.js +packages/jest-repl/package.json +packages/jest-repl/src/__tests__/jest_repl.test.js +packages/jest-repl/src/__tests__/runtime_cli.test.js +packages/jest-repl/src/__tests__/test_root/logging.js +packages/jest-repl/src/__tests__/test_root/throwing.js +packages/jest-repl/src/cli/args.ts +packages/jest-repl/src/cli/index.ts +packages/jest-repl/src/cli/repl.ts +packages/jest-repl/src/cli/runtime-cli.ts +packages/jest-repl/src/cli/version.ts +packages/jest-repl/tsconfig.json +packages/jest-reporters/.npmignore +packages/jest-reporters/package.json +packages/jest-reporters/src/BaseReporter.ts +packages/jest-reporters/src/CoverageReporter.ts +packages/jest-reporters/src/CoverageWorker.ts +packages/jest-reporters/src/DefaultReporter.ts +packages/jest-reporters/src/NotifyReporter.ts +packages/jest-reporters/src/Status.ts +packages/jest-reporters/src/SummaryReporter.ts +packages/jest-reporters/src/VerboseReporter.ts +packages/jest-reporters/src/__tests__/CoverageReporter.test.js +packages/jest-reporters/src/__tests__/CoverageWorker.test.js +packages/jest-reporters/src/__tests__/DefaultReporter.test.js +packages/jest-reporters/src/__tests__/NotifyReporter.test.ts +packages/jest-reporters/src/__tests__/SummaryReporter.test.js +packages/jest-reporters/src/__tests__/VerboseReporter.test.js +packages/jest-reporters/src/__tests__/__snapshots__/NotifyReporter.test.ts.snap +packages/jest-reporters/src/__tests__/__snapshots__/SummaryReporter.test.js.snap +packages/jest-reporters/src/__tests__/__snapshots__/generateEmptyCoverage.test.js.snap +packages/jest-reporters/src/__tests__/__snapshots__/getSnapshotStatus.test.js.snap +packages/jest-reporters/src/__tests__/__snapshots__/getSnapshotSummary.test.js.snap +packages/jest-reporters/src/__tests__/__snapshots__/utils.test.ts.snap +packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js +packages/jest-reporters/src/__tests__/getResultHeader.test.js +packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js +packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js +packages/jest-reporters/src/__tests__/getWatermarks.test.ts +packages/jest-reporters/src/__tests__/utils.test.ts +packages/jest-reporters/src/generateEmptyCoverage.ts +packages/jest-reporters/src/getResultHeader.ts +packages/jest-reporters/src/getSnapshotStatus.ts +packages/jest-reporters/src/getSnapshotSummary.ts +packages/jest-reporters/src/getWatermarks.ts +packages/jest-reporters/src/index.ts +packages/jest-reporters/src/types.ts +packages/jest-reporters/src/utils.ts +packages/jest-reporters/tsconfig.json +packages/jest-resolve-dependencies/.npmignore +packages/jest-resolve-dependencies/__mocks__/fake-node-module.js +packages/jest-resolve-dependencies/package.json +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/__snapshots__/related.test.js.snap +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/file.js +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/file.test.js +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/hasMocked/__mocks__/file.js +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/hasMocked/file.js +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/hasMocked/file.test.js +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/node_modules/@myorg/pkg/index.js +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/node_modules/@myorg/pkg/package.json +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/related.test.js +packages/jest-resolve-dependencies/src/__tests__/__fixtures__/scoped.js +packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts +packages/jest-resolve-dependencies/src/index.ts +packages/jest-resolve-dependencies/tsconfig.json +packages/jest-resolve/.npmignore +packages/jest-resolve/package.json +packages/jest-resolve/src/ModuleNotFoundError.ts +packages/jest-resolve/src/__mocks__/bar/node_modules/bar/index.js +packages/jest-resolve/src/__mocks__/bar/node_modules/foo +packages/jest-resolve/src/__mocks__/foo.js +packages/jest-resolve/src/__mocks__/foo/foo.js +packages/jest-resolve/src/__mocks__/foo/index.js +packages/jest-resolve/src/__mocks__/foo/node_modules/dep/index.js +packages/jest-resolve/src/__mocks__/foo/node_modules/foo/index.js +packages/jest-resolve/src/__mocks__/mockJsDependency.js +packages/jest-resolve/src/__mocks__/mockJsDependency.native.js +packages/jest-resolve/src/__mocks__/mockJsxDependency.jsx +packages/jest-resolve/src/__mocks__/mockJsxDependency.native.jsx +packages/jest-resolve/src/__mocks__/userResolver.d.ts +packages/jest-resolve/src/__mocks__/userResolver.js +packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts +packages/jest-resolve/src/__tests__/resolve.test.ts +packages/jest-resolve/src/defaultResolver.ts +packages/jest-resolve/src/index.ts +packages/jest-resolve/src/isBuiltinModule.ts +packages/jest-resolve/src/nodeModulesPaths.ts +packages/jest-resolve/src/shouldLoadAsEsm.ts +packages/jest-resolve/src/types.ts +packages/jest-resolve/tsconfig.json +packages/jest-runner/.npmignore +packages/jest-runner/package.json +packages/jest-runner/src/__tests__/testRunner.test.ts +packages/jest-runner/src/index.ts +packages/jest-runner/src/runTest.ts +packages/jest-runner/src/testWorker.ts +packages/jest-runner/src/types.ts +packages/jest-runner/tsconfig.json +packages/jest-runtime/.npmignore +packages/jest-runtime/package.json +packages/jest-runtime/src/__mocks__/createRuntime.js +packages/jest-runtime/src/__tests__/NODE_PATH_dir/regular_module_in_node_path.js +packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js +packages/jest-runtime/src/__tests__/Runtime-statics.test.js +packages/jest-runtime/src/__tests__/__snapshots__/runtime_require_module_no_ext.test.js.snap +packages/jest-runtime/src/__tests__/__snapshots__/runtime_wrap.js.snap +packages/jest-runtime/src/__tests__/defaultResolver.js +packages/jest-runtime/src/__tests__/instrumentation.test.ts +packages/jest-runtime/src/__tests__/module_dir/module_directory_file.js +packages/jest-runtime/src/__tests__/module_dir/to_be_instrumented.js +packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js +packages/jest-runtime/src/__tests__/runtime_environment.test.js +packages/jest-runtime/src/__tests__/runtime_internal_module.test.js +packages/jest-runtime/src/__tests__/runtime_jest_fn.js +packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js +packages/jest-runtime/src/__tests__/runtime_mock.test.js +packages/jest-runtime/src/__tests__/runtime_module_directories.test.js +packages/jest-runtime/src/__tests__/runtime_node_path.test.js +packages/jest-runtime/src/__tests__/runtime_require_actual.test.js +packages/jest-runtime/src/__tests__/runtime_require_cache.test.js +packages/jest-runtime/src/__tests__/runtime_require_mock.test.js +packages/jest-runtime/src/__tests__/runtime_require_module.test.js +packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js +packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js +packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js +packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts +packages/jest-runtime/src/__tests__/runtime_wrap.js +packages/jest-runtime/src/__tests__/test_root/JSONFile.json +packages/jest-runtime/src/__tests__/test_root/ManuallyMocked.js +packages/jest-runtime/src/__tests__/test_root/ModuleWithSideEffects.js +packages/jest-runtime/src/__tests__/test_root/ModuleWithState.js +packages/jest-runtime/src/__tests__/test_root/MyDirectoryModule/index.js +packages/jest-runtime/src/__tests__/test_root/NativeModule.node +packages/jest-runtime/src/__tests__/test_root/OnlyRequiredFromMock.js +packages/jest-runtime/src/__tests__/test_root/RegularModule.js +packages/jest-runtime/src/__tests__/test_root/RegularModuleWithWrongExt.txt +packages/jest-runtime/src/__tests__/test_root/RelativeImageStub.js +packages/jest-runtime/src/__tests__/test_root/RequireRegularModule.js +packages/jest-runtime/src/__tests__/test_root/TestModuleNameMapperResolution.jsx +packages/jest-runtime/src/__tests__/test_root/__mocks__/ExclusivelyManualMock.js +packages/jest-runtime/src/__tests__/test_root/__mocks__/ManuallyMocked.js +packages/jest-runtime/src/__tests__/test_root/__mocks__/mocked-node-module.js +packages/jest-runtime/src/__tests__/test_root/__mocks__/nested1/nested2/nested3.js +packages/jest-runtime/src/__tests__/test_root/create_require_module.js +packages/jest-runtime/src/__tests__/test_root/dep_on_mapped_module.js +packages/jest-runtime/src/__tests__/test_root/global_image_stub.js +packages/jest-runtime/src/__tests__/test_root/haste-modules/Foo.react.js +packages/jest-runtime/src/__tests__/test_root/haste-modules/FooContainer.react.js +packages/jest-runtime/src/__tests__/test_root/haste-modules/FooRenderUtil.js +packages/jest-runtime/src/__tests__/test_root/haste-package/core/module.js +packages/jest-runtime/src/__tests__/test_root/haste-package/package.json +packages/jest-runtime/src/__tests__/test_root/inner_parent_module.js +packages/jest-runtime/src/__tests__/test_root/internal-module.js +packages/jest-runtime/src/__tests__/test_root/internal-root.js +packages/jest-runtime/src/__tests__/test_root/internal-root.json +packages/jest-runtime/src/__tests__/test_root/mapped_dir/moduleInMapped.js +packages/jest-runtime/src/__tests__/test_root/mapped_module_createMockFromModule.js +packages/jest-runtime/src/__tests__/test_root/mapped_module_test.js +packages/jest-runtime/src/__tests__/test_root/module_dir/module_dir_module.js +packages/jest-runtime/src/__tests__/test_root/module_dir/my-module/core.js +packages/jest-runtime/src/__tests__/test_root/module_dir/my-module/package.json +packages/jest-runtime/src/__tests__/test_root/modules_with_main/export_main.js +packages/jest-runtime/src/__tests__/test_root/modules_with_main/re_export_main.js +packages/jest-runtime/src/__tests__/test_root/nested1/nested2/nested3.js +packages/jest-runtime/src/__tests__/test_root/node_modules/jest-resolve-test/browser.js +packages/jest-runtime/src/__tests__/test_root/node_modules/jest-resolve-test/node.js +packages/jest-runtime/src/__tests__/test_root/node_modules/jest-resolve-test/package.json +packages/jest-runtime/src/__tests__/test_root/node_modules/mocked-node-module/index.js +packages/jest-runtime/src/__tests__/test_root/node_modules/module-needing-parent/index.js +packages/jest-runtime/src/__tests__/test_root/node_modules/module-needing-parent/node_modules/parent-module/index.js +packages/jest-runtime/src/__tests__/test_root/node_modules/not-a-haste-package/core.js +packages/jest-runtime/src/__tests__/test_root/node_modules/not-a-haste-package/package.json +packages/jest-runtime/src/__tests__/test_root/node_modules/npm3-main-dep/index.js +packages/jest-runtime/src/__tests__/test_root/node_modules/npm3-transitive-dep/index.js +packages/jest-runtime/src/__tests__/test_root/node_modules/npm3-transitive-dep/internal-code.js +packages/jest-runtime/src/__tests__/test_root/node_modules/parent-module/index.js +packages/jest-runtime/src/__tests__/test_root/platform/Platform.android.js +packages/jest-runtime/src/__tests__/test_root/platform/Platform.ios.js +packages/jest-runtime/src/__tests__/test_root/platform/Platform.js +packages/jest-runtime/src/__tests__/test_root/platform/Platform.native.js +packages/jest-runtime/src/__tests__/test_root/resolve_and_require_outside.js +packages/jest-runtime/src/__tests__/test_root/resolve_mapped.js +packages/jest-runtime/src/__tests__/test_root/resolve_self.js +packages/jest-runtime/src/__tests__/test_root/root.js +packages/jest-runtime/src/__tests__/test_root/sourcemaps/out/throwing-mapped-fn.js +packages/jest-runtime/src/__tests__/test_root/sourcemaps/out/throwing-mapped-fn.js.map +packages/jest-runtime/src/__tests__/test_root/sourcemaps/throwing-mapped-fn.js +packages/jest-runtime/src/__tests__/test_root/subdir2/module_dir/module_dir_module.js +packages/jest-runtime/src/__tests__/test_root/subdir2/module_dir/my-module/core.js +packages/jest-runtime/src/__tests__/test_root/test_json_preprocessor.js +packages/jest-runtime/src/__tests__/test_root/test_preprocessor.js +packages/jest-runtime/src/__tests__/test_root/throwing.js +packages/jest-runtime/src/__tests__/test_root/throwing_fn.js +packages/jest-runtime/src/__tests__/test_root/utf8_with_bom.js +packages/jest-runtime/src/__tests__/test_root/utf8_with_bom.json +packages/jest-runtime/src/__tests__/test_root_with_dup_mocks/subdir1/__mocks__/my_module.js +packages/jest-runtime/src/__tests__/test_root_with_dup_mocks/subdir1/my_module.js +packages/jest-runtime/src/__tests__/test_root_with_dup_mocks/subdir2/__mocks__/my_module.js +packages/jest-runtime/src/__tests__/test_root_with_dup_mocks/subdir2/module_dir/module_dir_module.js +packages/jest-runtime/src/__tests__/test_root_with_dup_mocks/subdir2/my_module.js +packages/jest-runtime/src/helpers.ts +packages/jest-runtime/src/index.ts +packages/jest-runtime/src/types.ts +packages/jest-runtime/tsconfig.json +packages/jest-serializer/.npmignore +packages/jest-serializer/README.md +packages/jest-serializer/package.json +packages/jest-serializer/src/__tests__/index.test.ts +packages/jest-serializer/src/index.ts +packages/jest-serializer/tsconfig.json +packages/jest-serializer/v8.d.ts +packages/jest-snapshot/.npmignore +packages/jest-snapshot/package.json +packages/jest-snapshot/src/InlineSnapshots.ts +packages/jest-snapshot/src/SnapshotResolver.ts +packages/jest-snapshot/src/State.ts +packages/jest-snapshot/src/__mocks__/prettier.js +packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts +packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts +packages/jest-snapshot/src/__tests__/__snapshots__/SnapshotResolver.test.ts.snap +packages/jest-snapshot/src/__tests__/__snapshots__/mockSerializer.test.ts.snap +packages/jest-snapshot/src/__tests__/__snapshots__/printSnapshot.test.ts.snap +packages/jest-snapshot/src/__tests__/dedentLines.test.ts +packages/jest-snapshot/src/__tests__/fixtures/customSnapshotResolver-inconsistent-fns.js +packages/jest-snapshot/src/__tests__/fixtures/customSnapshotResolver-missing-resolveSnapshotPath.js +packages/jest-snapshot/src/__tests__/fixtures/customSnapshotResolver-missing-resolveTestPath.js +packages/jest-snapshot/src/__tests__/fixtures/customSnapshotResolver-missing-test-path-for-consistency-check.js +packages/jest-snapshot/src/__tests__/fixtures/customSnapshotResolver.js +packages/jest-snapshot/src/__tests__/matcher.test.ts +packages/jest-snapshot/src/__tests__/mockSerializer.test.ts +packages/jest-snapshot/src/__tests__/plugins.test.ts +packages/jest-snapshot/src/__tests__/plugins/bar.js +packages/jest-snapshot/src/__tests__/plugins/foo.js +packages/jest-snapshot/src/__tests__/printSnapshot.test.ts +packages/jest-snapshot/src/__tests__/throwMatcher.test.ts +packages/jest-snapshot/src/__tests__/utils.test.ts +packages/jest-snapshot/src/colors.ts +packages/jest-snapshot/src/dedentLines.ts +packages/jest-snapshot/src/index.ts +packages/jest-snapshot/src/mockSerializer.ts +packages/jest-snapshot/src/plugins.ts +packages/jest-snapshot/src/printSnapshot.ts +packages/jest-snapshot/src/types.ts +packages/jest-snapshot/src/utils.ts +packages/jest-snapshot/tsconfig.json +packages/jest-source-map/.npmignore +packages/jest-source-map/package.json +packages/jest-source-map/src/__tests__/getCallsite.test.ts +packages/jest-source-map/src/getCallsite.ts +packages/jest-source-map/src/index.ts +packages/jest-source-map/src/types.ts +packages/jest-source-map/tsconfig.json +packages/jest-test-result/.npmignore +packages/jest-test-result/package.json +packages/jest-test-result/src/__tests__/formatTestResults.test.ts +packages/jest-test-result/src/formatTestResults.ts +packages/jest-test-result/src/helpers.ts +packages/jest-test-result/src/index.ts +packages/jest-test-result/src/types.ts +packages/jest-test-result/tsconfig.json +packages/jest-test-sequencer/.npmignore +packages/jest-test-sequencer/package.json +packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js +packages/jest-test-sequencer/src/index.ts +packages/jest-test-sequencer/tsconfig.json +packages/jest-transform/.npmignore +packages/jest-transform/package.json +packages/jest-transform/src/ScriptTransformer.ts +packages/jest-transform/src/__tests__/ScriptTransformer.test.ts +packages/jest-transform/src/__tests__/__snapshots__/ScriptTransformer.test.ts.snap +packages/jest-transform/src/__tests__/shouldInstrument.test.ts +packages/jest-transform/src/enhanceUnexpectedTokenMessage.ts +packages/jest-transform/src/index.ts +packages/jest-transform/src/shouldInstrument.ts +packages/jest-transform/src/types.ts +packages/jest-transform/tsconfig.json +packages/jest-types/.npmignore +packages/jest-types/package.json +packages/jest-types/src/Circus.ts +packages/jest-types/src/Config.ts +packages/jest-types/src/Global.ts +packages/jest-types/src/TestResult.ts +packages/jest-types/src/Transform.ts +packages/jest-types/src/index.ts +packages/jest-types/tsconfig.json +packages/jest-util/.npmignore +packages/jest-util/package.json +packages/jest-util/src/ErrorWithStack.ts +packages/jest-util/src/__tests__/createProcessObject.test.ts +packages/jest-util/src/__tests__/deepCyclicCopy.test.ts +packages/jest-util/src/__tests__/errorWithStack.test.ts +packages/jest-util/src/__tests__/formatTime.test.ts +packages/jest-util/src/__tests__/globsToMatcher.test.ts +packages/jest-util/src/__tests__/installCommonGlobals.test.ts +packages/jest-util/src/__tests__/isInteractive.test.ts +packages/jest-util/src/__tests__/isPromise.test.ts +packages/jest-util/src/clearLine.ts +packages/jest-util/src/convertDescriptorToString.ts +packages/jest-util/src/createDirectory.ts +packages/jest-util/src/createProcessObject.ts +packages/jest-util/src/deepCyclicCopy.ts +packages/jest-util/src/formatTime.ts +packages/jest-util/src/globsToMatcher.ts +packages/jest-util/src/index.ts +packages/jest-util/src/installCommonGlobals.ts +packages/jest-util/src/interopRequireDefault.ts +packages/jest-util/src/isInteractive.ts +packages/jest-util/src/isPromise.ts +packages/jest-util/src/pluralize.ts +packages/jest-util/src/preRunMessage.ts +packages/jest-util/src/replacePathSepForGlob.ts +packages/jest-util/src/setGlobal.ts +packages/jest-util/src/specialChars.ts +packages/jest-util/src/testPathPatternToRegExp.ts +packages/jest-util/src/tryRealpath.ts +packages/jest-util/tsconfig.json +packages/jest-validate/.npmignore +packages/jest-validate/README.md +packages/jest-validate/package.json +packages/jest-validate/src/__tests__/__snapshots__/validate.test.ts.snap +packages/jest-validate/src/__tests__/__snapshots__/validateCLIOptions.test.js.snap +packages/jest-validate/src/__tests__/fixtures/jestConfig.ts +packages/jest-validate/src/__tests__/validate.test.ts +packages/jest-validate/src/__tests__/validateCLIOptions.test.js +packages/jest-validate/src/condition.ts +packages/jest-validate/src/defaultConfig.ts +packages/jest-validate/src/deprecated.ts +packages/jest-validate/src/errors.ts +packages/jest-validate/src/exampleConfig.ts +packages/jest-validate/src/index.ts +packages/jest-validate/src/types.ts +packages/jest-validate/src/utils.ts +packages/jest-validate/src/validate.ts +packages/jest-validate/src/validateCLIOptions.ts +packages/jest-validate/src/warnings.ts +packages/jest-validate/tsconfig.json +packages/jest-watcher/.npmignore +packages/jest-watcher/package.json +packages/jest-watcher/src/BaseWatchPlugin.ts +packages/jest-watcher/src/JestHooks.ts +packages/jest-watcher/src/PatternPrompt.ts +packages/jest-watcher/src/constants.ts +packages/jest-watcher/src/index.ts +packages/jest-watcher/src/lib/Prompt.ts +packages/jest-watcher/src/lib/__tests__/__snapshots__/formatTestNameByPattern.test.ts.snap +packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts +packages/jest-watcher/src/lib/__tests__/prompt.test.ts +packages/jest-watcher/src/lib/__tests__/scroll.test.ts +packages/jest-watcher/src/lib/colorize.ts +packages/jest-watcher/src/lib/formatTestNameByPattern.ts +packages/jest-watcher/src/lib/patternModeHelpers.ts +packages/jest-watcher/src/lib/scroll.ts +packages/jest-watcher/src/types.ts +packages/jest-watcher/tsconfig.json +packages/jest-worker/.npmignore +packages/jest-worker/README.md +packages/jest-worker/package.json +packages/jest-worker/src/Farm.ts +packages/jest-worker/src/FifoQueue.ts +packages/jest-worker/src/PriorityQueue.ts +packages/jest-worker/src/WorkerPool.ts +packages/jest-worker/src/__performance_tests__/test.js +packages/jest-worker/src/__performance_tests__/workers/jest_worker.js +packages/jest-worker/src/__performance_tests__/workers/pi.js +packages/jest-worker/src/__performance_tests__/workers/worker_farm.js +packages/jest-worker/src/__tests__/Farm.test.js +packages/jest-worker/src/__tests__/FifoQueue.test.js +packages/jest-worker/src/__tests__/PriorityQueue.test.js +packages/jest-worker/src/__tests__/WorkerPool.test.js +packages/jest-worker/src/__tests__/index.test.js +packages/jest-worker/src/__tests__/process-integration.test.js +packages/jest-worker/src/__tests__/thread-integration.test.js +packages/jest-worker/src/base/BaseWorkerPool.ts +packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js +packages/jest-worker/src/index.ts +packages/jest-worker/src/types.ts +packages/jest-worker/src/workers/ChildProcessWorker.ts +packages/jest-worker/src/workers/NodeThreadsWorker.ts +packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js +packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js +packages/jest-worker/src/workers/__tests__/processChild.test.js +packages/jest-worker/src/workers/__tests__/threadChild.test.js +packages/jest-worker/src/workers/messageParent.ts +packages/jest-worker/src/workers/processChild.ts +packages/jest-worker/src/workers/threadChild.ts +packages/jest-worker/tsconfig.json +packages/jest/.npmignore +packages/jest/README.md +packages/jest/bin/jest.js +packages/jest/package.json +packages/jest/src/jest.ts +packages/jest/tsconfig.json +packages/pretty-format/.npmignore +packages/pretty-format/README.md +packages/pretty-format/package.json +packages/pretty-format/perf/test.js +packages/pretty-format/perf/world.geo.json +packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts +packages/pretty-format/src/__tests__/ConvertAnsi.test.ts +packages/pretty-format/src/__tests__/DOMCollection.test.ts +packages/pretty-format/src/__tests__/DOMElement.test.ts +packages/pretty-format/src/__tests__/Immutable.test.ts +packages/pretty-format/src/__tests__/ReactElement.test.ts +packages/pretty-format/src/__tests__/__snapshots__/react.test.tsx.snap +packages/pretty-format/src/__tests__/prettyFormat.test.ts +packages/pretty-format/src/__tests__/react.test.tsx +packages/pretty-format/src/__tests__/setPrettyPrint.ts +packages/pretty-format/src/collections.ts +packages/pretty-format/src/index.ts +packages/pretty-format/src/plugins/AsymmetricMatcher.ts +packages/pretty-format/src/plugins/ConvertAnsi.ts +packages/pretty-format/src/plugins/DOMCollection.ts +packages/pretty-format/src/plugins/DOMElement.ts +packages/pretty-format/src/plugins/Immutable.ts +packages/pretty-format/src/plugins/ReactElement.ts +packages/pretty-format/src/plugins/ReactTestComponent.ts +packages/pretty-format/src/plugins/lib/escapeHTML.ts +packages/pretty-format/src/plugins/lib/markup.ts +packages/pretty-format/src/types.ts +packages/pretty-format/tsconfig.json +packages/test-utils/README.md +packages/test-utils/package.json +packages/test-utils/src/ConditionalTest.ts +packages/test-utils/src/alignedAnsiStyleSerializer.ts +packages/test-utils/src/config.ts +packages/test-utils/src/index.ts +packages/test-utils/tsconfig.json +patches/fbjs-scripts.patch +patches/react-native.patch +scripts/babel-plugin-jest-native-globals.js +scripts/babel-plugin-jest-replace-ts-require-assignment.js +scripts/babel-plugin-jest-require-outside-vm.js +scripts/build.js +scripts/buildTs.js +scripts/buildUtils.js +scripts/checkCopyrightHeaders.js +scripts/cleanE2e.js +scripts/mapCoverage.js +scripts/remove-prettier-dep.js +scripts/verifyOldTs.js +scripts/watch.js +test-types/empty.d.ts +test-types/top-level-config.test.ts +test-types/top-level-globals.test.ts +test-types/top-level-jest-namespace.test.ts +testSetupFile.js +tsconfig.json +website/.vscode/settings.json +website/README.md +website/blog/2016-03-11-javascript-unit-testing-performance.md +website/blog/2016-04-12-jest-11.md +website/blog/2016-06-22-jest-13.md +website/blog/2016-07-27-jest-14.md +website/blog/2016-09-01-jest-15.md +website/blog/2016-10-03-jest-16.md +website/blog/2016-12-15-2016-in-jest.md +website/blog/2017-01-30-a-great-developer-experience.md +website/blog/2017-02-21-jest-19-immersive-watch-mode-test-platform-improvements.md +website/blog/2017-05-06-jest-20-delightful-testing-multi-project-runner.md +website/blog/2017-12-18-jest-22.md +website/blog/2018-05-29-jest-23-blazing-fast-delightful-testing.md +website/blog/2018-06-27-supporting-jest-open-source.md +website/blog/2019-01-25-jest-24-refreshing-polished-typescript-friendly.md +website/blog/2020-01-21-jest-25.md +website/blog/2020-05-05-jest-26.md +website/core/Footer.js +website/fetchSupporters.js +website/languages.js +website/package.json +website/pages/en/help.js +website/pages/en/index.js +website/pages/en/versions.js +website/pages/en/videos.js +website/sidebars.json +website/siteConfig.js +website/static/css/code-block-buttons.css +website/static/css/custom.css +website/static/css/hljs-jest.css +website/static/css/jest.css +website/static/img/blog/15-console.png +website/static/img/blog/15-failure1.png +website/static/img/blog/15-failure2.png +website/static/img/blog/15-watch.gif +website/static/img/blog/16-reporter.gif +website/static/img/blog/16-snapshots.png +website/static/img/blog/16-watch.gif +website/static/img/blog/19-asymmetric-matchers.png +website/static/img/blog/19-cli-error.png +website/static/img/blog/19-skipped-tests.png +website/static/img/blog/19-snapshot-version.png +website/static/img/blog/19-validate.png +website/static/img/blog/20-multi-runner.gif +website/static/img/blog/20-testing-apis.png +website/static/img/blog/22-community.png +website/static/img/blog/22-failure-21.png +website/static/img/blog/22-failure-22.png +website/static/img/blog/23-asymmetric-matchers.png +website/static/img/blog/23-async-matchers.png +website/static/img/blog/23-hanging-after.png +website/static/img/blog/23-hanging-before.png +website/static/img/blog/23-interactive.gif +website/static/img/blog/23-jest-each.png +website/static/img/blog/23-new-matchers.png +website/static/img/blog/23-snapshot-matchers.png +website/static/img/blog/23-typeahead.gif +website/static/img/blog/24-assertion-error.png +website/static/img/blog/24-different-types.png +website/static/img/blog/24-mock-function.png +website/static/img/blog/24-todo.png +website/static/img/blog/25-snapshot-change-lines.png +website/static/img/blog/25-snapshot-change-substrings.png +website/static/img/blog/25-snapshot-insert-lines.png +website/static/img/blog/Scheduling1.png +website/static/img/blog/Scheduling2.png +website/static/img/blog/collective.png +website/static/img/blog/snapshot.png +website/static/img/circus.png +website/static/img/content/camera-with-flash.png +website/static/img/content/failedSnapshotTest.png +website/static/img/content/feature-coverage.png +website/static/img/content/feature-fast.png +website/static/img/content/feature-mocking.png +website/static/img/content/female-technologist.png +website/static/img/content/interactiveSnapshot.png +website/static/img/content/interactiveSnapshotDone.png +website/static/img/content/interactiveSnapshotUpdate.gif +website/static/img/content/joker.png +website/static/img/content/matchers/toBe.png +website/static/img/content/matchers/toBeCloseTo.png +website/static/img/content/matchers/toEqual.png +website/static/img/content/matchers/toHaveProperty.png +website/static/img/content/matchers/toMatchSnapshot.png +website/static/img/content/matchers/toStrictEqual.png +website/static/img/content/matchers/toThrowError.png +website/static/img/content/runner.png +website/static/img/favicon.png +website/static/img/favicon/android-chrome-192x192.png +website/static/img/favicon/android-chrome-512x512.png +website/static/img/favicon/apple-touch-icon.png +website/static/img/favicon/browserconfig.xml +website/static/img/favicon/favicon-16x16.png +website/static/img/favicon/favicon-32x32.png +website/static/img/favicon/favicon.ico +website/static/img/favicon/manifest.json +website/static/img/favicon/mstile-144x144.png +website/static/img/favicon/mstile-150x150.png +website/static/img/favicon/mstile-310x150.png +website/static/img/favicon/mstile-310x310.png +website/static/img/favicon/mstile-70x70.png +website/static/img/favicon/safari-pinned-tab.svg +website/static/img/jest-badge.svg +website/static/img/jest-card-fail.svg +website/static/img/jest-card-pass.svg +website/static/img/jest-card-run.svg +website/static/img/jest-outline.svg +website/static/img/jest-readme-headline.png +website/static/img/jest.png +website/static/img/jest.svg +website/static/img/language.svg +website/static/img/logos/airbnb.png +website/static/img/logos/facebook.png +website/static/img/logos/instagram.png +website/static/img/logos/nyt.png +website/static/img/logos/spotify.png +website/static/img/logos/twitter.png +website/static/img/opengraph.png +website/static/img/oss_logo.png +website/static/img/running-card-background.png +website/static/js/code-block-buttons.js +website/static/landing.js +website/translators.txt +website/versioned_docs/version-22.x/Architecture.md +website/versioned_docs/version-22.x/BypassingModuleMocks.md +website/versioned_docs/version-22.x/CLI.md +website/versioned_docs/version-22.x/Configuration.md +website/versioned_docs/version-22.x/DynamoDB.md +website/versioned_docs/version-22.x/EnvironmentVariables.md +website/versioned_docs/version-22.x/Es6ClassMocks.md +website/versioned_docs/version-22.x/ExpectAPI.md +website/versioned_docs/version-22.x/GettingStarted.md +website/versioned_docs/version-22.x/GlobalAPI.md +website/versioned_docs/version-22.x/JestCommunity.md +website/versioned_docs/version-22.x/JestObjectAPI.md +website/versioned_docs/version-22.x/JestPlatform.md +website/versioned_docs/version-22.x/ManualMocks.md +website/versioned_docs/version-22.x/MigrationGuide.md +website/versioned_docs/version-22.x/MockFunctionAPI.md +website/versioned_docs/version-22.x/MockFunctions.md +website/versioned_docs/version-22.x/MongoDB.md +website/versioned_docs/version-22.x/MoreResources.md +website/versioned_docs/version-22.x/Puppeteer.md +website/versioned_docs/version-22.x/SetupAndTeardown.md +website/versioned_docs/version-22.x/SnapshotTesting.md +website/versioned_docs/version-22.x/TestingAsyncCode.md +website/versioned_docs/version-22.x/TestingFrameworks.md +website/versioned_docs/version-22.x/TimerMocks.md +website/versioned_docs/version-22.x/Troubleshooting.md +website/versioned_docs/version-22.x/TutorialAsync.md +website/versioned_docs/version-22.x/TutorialReact.md +website/versioned_docs/version-22.x/TutorialReactNative.md +website/versioned_docs/version-22.x/TutorialjQuery.md +website/versioned_docs/version-22.x/UsingMatchers.md +website/versioned_docs/version-22.x/Webpack.md +website/versioned_docs/version-23.x/CLI.md +website/versioned_docs/version-23.x/Configuration.md +website/versioned_docs/version-23.x/ExpectAPI.md +website/versioned_docs/version-23.x/GettingStarted.md +website/versioned_docs/version-23.x/GlobalAPI.md +website/versioned_docs/version-23.x/JestObjectAPI.md +website/versioned_docs/version-23.x/MockFunctionAPI.md +website/versioned_docs/version-23.x/MockFunctions.md +website/versioned_docs/version-23.x/Puppeteer.md +website/versioned_docs/version-23.x/SnapshotTesting.md +website/versioned_docs/version-23.x/Troubleshooting.md +website/versioned_docs/version-23.x/TutorialReact.md +website/versioned_docs/version-23.x/WatchPlugins.md +website/versioned_docs/version-24.x/CLI.md +website/versioned_docs/version-24.x/Configuration.md +website/versioned_docs/version-24.x/Es6ClassMocks.md +website/versioned_docs/version-24.x/GettingStarted.md +website/versioned_docs/version-24.x/GlobalAPI.md +website/versioned_docs/version-24.x/JestObjectAPI.md +website/versioned_docs/version-24.x/MockFunctionAPI.md +website/versioned_docs/version-24.x/TutorialAsync.md +website/versioned_docs/version-24.x/TutorialReact.md +website/versioned_docs/version-24.x/WatchPlugins.md +website/versioned_docs/version-24.x/Webpack.md +website/versioned_docs/version-25.x/CLI.md +website/versioned_docs/version-25.x/Configuration.md +website/versioned_docs/version-25.x/ExpectAPI.md +website/versioned_docs/version-25.x/GlobalAPI.md +website/versioned_docs/version-25.x/JestObjectAPI.md +website/versioned_docs/version-25.x/Troubleshooting.md +website/versioned_docs/version-25.x/TutorialReactNative.md +website/versioned_docs/version-26.0/CLI.md +website/versioned_docs/version-26.0/Configuration.md +website/versioned_docs/version-26.0/ECMAScriptModules.md +website/versioned_docs/version-26.0/JestObjectAPI.md +website/versioned_docs/version-26.0/JestPlatform.md +website/versioned_docs/version-26.0/ManualMocks.md +website/versioned_docs/version-26.2/CLI.md +website/versioned_docs/version-26.2/Configuration.md +website/versioned_docs/version-26.4/Configuration.md +website/versioned_docs/version-26.4/GlobalAPI.md +website/versioned_docs/version-26.5/CLI.md +website/versioned_docs/version-26.5/Configuration.md +website/versioned_docs/version-26.6/Configuration.md +website/versioned_sidebars/version-22.x-sidebars.json +website/versioned_sidebars/version-23.x-sidebars.json +website/versioned_sidebars/version-24.x-sidebars.json +website/versioned_sidebars/version-26.0-sidebars.json +website/versions.json +yarn.lock diff --git a/__tests__/fixtures/external/karma/karma-react-component-test-results.xml b/__tests__/fixtures/external/karma/karma-react-component-test-results.xml new file mode 100644 index 0000000..cdaa87f --- /dev/null +++ b/__tests__/fixtures/external/karma/karma-react-component-test-results.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/__tests__/fixtures/external/karma/karma-test-results.xml b/__tests__/fixtures/external/karma/karma-test-results.xml new file mode 100644 index 0000000..f35d4a5 --- /dev/null +++ b/__tests__/fixtures/external/karma/karma-test-results.xml @@ -0,0 +1,9357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: abort: empty revision range + at makeError (/home/dorny/dorny/jest/node_modules/execa/lib/error.js:59:11) + at handlePromise (/home/dorny/dorny/jest/node_modules/execa/index.js:114:26) + at runMicrotasks (<anonymous>) + at processTicksAndRejections (internal/process/task_queues.js:97:5) + at Object.findChangedFiles (/home/dorny/dorny/jest/packages/jest-changed-files/build/hg.js:99:16) + at async Promise.all (index 0) + at getChangedFilesForRoots (/home/dorny/dorny/jest/packages/jest-changed-files/build/index.js:57:5) + at Object.<anonymous> (/home/dorny/dorny/jest/e2e/__tests__/jestChangedFiles.test.ts:418:28) + at _callCircusTest (/home/dorny/dorny/jest/packages/jest-circus/build/run.js:218:5) + at _runTest (/home/dorny/dorny/jest/packages/jest-circus/build/run.js:155:3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error: expect(received).toMatch(expected) + +Expected pattern: /PASS __tests__(\/|\\)file2.test.js/ +Received string: "· + ● Test suite failed to run· + abort: empty revision range +" + at Object.toMatch (/home/dorny/dorny/jest/e2e/__tests__/onlyChanged.test.ts:360:18) + at Promise.then.completed (/home/dorny/dorny/jest/packages/jest-circus/build/utils.js:307:28) + at new Promise (<anonymous>) + at callAsyncCircusFn (/home/dorny/dorny/jest/packages/jest-circus/build/utils.js:229:10) + at _callCircusTest (/home/dorny/dorny/jest/packages/jest-circus/build/run.js:218:40) + at processTicksAndRejections (internal/process/task_queues.js:97:5) + at _runTest (/home/dorny/dorny/jest/packages/jest-circus/build/run.js:155:3) + at _runTestsForDescribeBlock (/home/dorny/dorny/jest/packages/jest-circus/build/run.js:66:9) + at run (/home/dorny/dorny/jest/packages/jest-circus/build/run.js:25:3) + at runAndTransformResultsToJestFormat (/home/dorny/dorny/jest/packages/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:163:21) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/__tests__/fixtures/jest-junit.xml b/__tests__/fixtures/jest-junit.xml index 94513d7..a22b83f 100644 --- a/__tests__/fixtures/jest-junit.xml +++ b/__tests__/fixtures/jest-junit.xml @@ -58,4 +58,4 @@ Received: false - \ No newline at end of file + diff --git a/__tests__/fixtures/karma-junit-eslint.xml b/__tests__/fixtures/karma-junit-eslint.xml new file mode 100644 index 0000000..ba134d5 --- /dev/null +++ b/__tests__/fixtures/karma-junit-eslint.xml @@ -0,0 +1,4 @@ + + + + diff --git a/__tests__/fixtures/karma-junit.xml b/__tests__/fixtures/karma-junit.xml new file mode 100644 index 0000000..d34e4cc --- /dev/null +++ b/__tests__/fixtures/karma-junit.xml @@ -0,0 +1,39 @@ + + + + + + Error: expect(received).toBeTruthy() + +Received: false + at Object.<anonymous> (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\__tests__\main.test.js:10:21) + at Object.asyncJestTest (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\jasmineAsyncInstall.js:106:37) + at C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:45:12 + at new Promise (<anonymous>) + at mapper (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:28:19) + at C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:75:41 + at processTicksAndRejections (internal/process/task_queues.js:97:5) + + + Error: Some error + at Object.throwError (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\lib\main.js:2:9) + at Object.<anonymous> (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\__tests__\main.test.js:14:11) + at Object.asyncJestTest (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\jasmineAsyncInstall.js:106:37) + at C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:45:12 + at new Promise (<anonymous>) + at mapper (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:28:19) + at C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:75:41 + at processTicksAndRejections (internal/process/task_queues.js:97:5) + + + Error: Some error + at Object.<anonymous> (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\__tests__\main.test.js:21:11) + at Object.asyncJestTest (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\jasmineAsyncInstall.js:106:37) + at C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:45:12 + at new Promise (<anonymous>) + at mapper (C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:28:19) + at C:\Users\Michal\Workspace\dorny\test-check\reports\jest\node_modules\jest-jasmine2\build\queueRunner.js:75:41 + at processTicksAndRejections (internal/process/task_queues.js:97:5) + + + diff --git a/__tests__/karma-junit.test.ts b/__tests__/karma-junit.test.ts new file mode 100644 index 0000000..723eca5 --- /dev/null +++ b/__tests__/karma-junit.test.ts @@ -0,0 +1,349 @@ +import * as fs from 'fs' +import * as path from 'path' + +import {KarmaJunitParser} from '../src/parsers/karma-junit/karma-junit-parser' +import {ParseOptions} from '../src/test-parser' +import {DEFAULT_OPTIONS, getReport} from '../src/report/get-report' +import {normalizeFilePath} from '../src/utils/path-utils' + +describe('karma-junit tests', () => { + it('produces empty test run result when there are no test cases in the testsuites element', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'empty', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result.tests).toBe(0) + expect(result.result).toBe('success') + }) + + it('produces empty test run result when there are no test cases in a nested testsuite element', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'empty', 'karma-junit-empty-testsuite.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result.tests).toBe(0) + expect(result.result).toBe('success') + }) + + it('report from ./reports/karma test results matches snapshot', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const outputPath = path.join(__dirname, '__outputs__', 'karma-junit.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: ['__tests__/main.test.js', '__tests__/second.test.js', 'lib/main.js'] + //workDir: 'C:/Users/Michal/Workspace/dorny/test-check/reports/karma/' + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result]) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + + it('report from facebook/karma test results matches snapshot', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'external', 'karma', 'karma-test-results.xml') + const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'karma', 'files.txt') + const outputPath = path.join(__dirname, '__outputs__', 'karma-test-results.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g) + const opts: ParseOptions = { + parseErrors: true, + trackedFiles + //workDir: '/home/dorny/dorny/karma/' + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result]) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + + it('report from #235 testing react components named ', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'external', 'karma', 'karma-react-component-test-results.xml') + const trackedFilesPath = path.join(__dirname, 'fixtures', 'external', 'karma', 'files.txt') + const outputPath = path.join(__dirname, '__outputs__', 'karma-react-component-test-results.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const trackedFiles = fs.readFileSync(trackedFilesPath, {encoding: 'utf8'}).split(/\n\r?/g) + const opts: ParseOptions = { + parseErrors: true, + trackedFiles + //workDir: '/home/dorny/dorny/karma/' + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result]) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + + it('parsing ESLint report without timing information works - PR #134', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit-eslint.xml') + const outputPath = path.join(__dirname, '__outputs__', 'karma-junit-eslint.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: ['test.js'] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result]) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + + it('parsing junit report with message succeeds', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'junit-with-message.xml') + const outputPath = path.join(__dirname, '__outputs__', 'junit-with-message.md') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: ['test.js'] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + expect(result).toMatchSnapshot() + + const report = getReport([result]) + fs.mkdirSync(path.dirname(outputPath), {recursive: true}) + fs.writeFileSync(outputPath, report) + }) + + it('report does not include a title by default', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + const report = getReport([result]) + // Report should have the badge as the first line + expect(report).toMatch(/^!\[Tests failed]/) + }) + + it.each([ + ['empty string', ''], + ['space', ' '], + ['tab', '\t'], + ['newline', '\n'] + ])('report does not include a title when configured value is %s', async (_, reportTitle) => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + const report = getReport([result], { + ...DEFAULT_OPTIONS, + reportTitle + }) + // Report should have the badge as the first line + expect(report).toMatch(/^!\[Tests failed]/) + }) + + it('report includes a custom report title', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + const report = getReport([result], { + ...DEFAULT_OPTIONS, + reportTitle: 'My Custom Title' + }) + // Report should have the title as the first line + expect(report).toMatch(/^# My Custom Title\n/) + }) + + it('report can be collapsed when configured', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + const report = getReport([result], { + ...DEFAULT_OPTIONS, + collapsed: 'always' + }) + // Report should include collapsible details + expect(report).toContain('
Expand for details') + expect(report).toContain('
') + }) + + it('report is not collapsed when configured to never', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + const report = getReport([result], { + ...DEFAULT_OPTIONS, + collapsed: 'never' + }) + // Report should not include collapsible details + expect(report).not.toContain('
Expand for details') + expect(report).not.toContain('
') + }) + + it('report auto-collapses when all tests pass', async () => { + // Test with a fixture that has all passing tests (no failures) + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit-eslint.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + + // Verify this fixture has no failures + expect(result.failed).toBe(0) + + const report = getReport([result], { + ...DEFAULT_OPTIONS, + collapsed: 'auto' + }) + + // Should collapse when all tests pass + expect(report).toContain('
Expand for details') + expect(report).toContain('
') + }) + + it('report does not auto-collapse when tests fail', async () => { + // Test with a fixture that has failing tests + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + + // Verify this fixture has failures + expect(result.failed).toBeGreaterThan(0) + + const report = getReport([result], { + ...DEFAULT_OPTIONS, + collapsed: 'auto' + }) + + // Should not collapse when there are failures + expect(report).not.toContain('
Expand for details') + expect(report).not.toContain('
') + }) + + it('report includes the short summary', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + const shortSummary = '1 passed, 4 failed and 1 skipped' + const report = getReport([result], DEFAULT_OPTIONS, shortSummary) + // Report should have the title as the first line + expect(report).toMatch(/^## 1 passed, 4 failed and 1 skipped\n/) + }) + + it('report includes a custom report title and short summary', async () => { + const fixturePath = path.join(__dirname, 'fixtures', 'karma-junit.xml') + const filePath = normalizeFilePath(path.relative(__dirname, fixturePath)) + const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'}) + + const opts: ParseOptions = { + parseErrors: true, + trackedFiles: [] + } + + const parser = new KarmaJunitParser(opts) + const result = await parser.parse(filePath, fileContent) + const shortSummary = '1 passed, 4 failed and 1 skipped' + const report = getReport( + [result], + { + ...DEFAULT_OPTIONS, + reportTitle: 'My Custom Title' + }, + shortSummary + ) + // Report should have the title as the first line + expect(report).toMatch(/^# My Custom Title\n## 1 passed, 4 failed and 1 skipped\n/) + }) +}) diff --git a/src/main.ts b/src/main.ts index e76992a..e85c618 100644 --- a/src/main.ts +++ b/src/main.ts @@ -22,6 +22,7 @@ import {RspecJsonParser} from './parsers/rspec-json/rspec-json-parser' import {SwiftXunitParser} from './parsers/swift-xunit/swift-xunit-parser' import {normalizeDirPath, normalizeFilePath} from './utils/path-utils' import {getCheckRunContext} from './utils/github-utils' +import {KarmaJunitParser} from './parsers/karma-junit/karma-junit-parser' async function main(): Promise { try { @@ -269,6 +270,9 @@ class TestReporter { return new JavaJunitParser(options) case 'jest-junit': return new JestJunitParser(options) + case 'karma-junit': + return new KarmaJunitParser(options) + case 'mocha-json': return new MochaJsonParser(options) case 'python-xunit': diff --git a/src/parsers/karma-junit/karma-junit-parser.ts b/src/parsers/karma-junit/karma-junit-parser.ts new file mode 100644 index 0000000..c468655 --- /dev/null +++ b/src/parsers/karma-junit/karma-junit-parser.ts @@ -0,0 +1,125 @@ +import {ParseOptions, TestParser} from '../../test-parser' +import {parseStringPromise} from 'xml2js' + +import {KarmaReport, TestCase, TestSuite} from './karma-junit-types' +import {getExceptionSource} from '../../utils/node-utils' +import {getBasePath, normalizeFilePath} from '../../utils/path-utils' + +import { + TestExecutionResult, + TestRunResult, + TestSuiteResult, + TestGroupResult, + TestCaseResult, + TestCaseError +} from '../../test-results' + +export class KarmaJunitParser implements TestParser { + assumedWorkDir: string | undefined + + constructor(readonly options: ParseOptions) {} + + async parse(path: string, content: string): Promise { + const ju = await this.getJunitReport(path, content) + return this.getTestRunResult(path, ju) + } + + private async getJunitReport(path: string, content: string): Promise { + try { + return (await parseStringPromise(content)) as KarmaReport + } catch (e) { + throw new Error(`Invalid XML at ${path}\n\n${e}`) + } + } + + private getTestRunResult(path: string, karma: KarmaReport): TestRunResult { + const suites = + karma.testsuite === undefined + ? [] + : [karma.testsuite].map(ts => { + const name = this.escapeCharacters(ts.$.name.trim()) + const time = parseFloat(ts.$.time) * 1000 + const sr = new TestSuiteResult(name, this.getGroups(ts), time) + return sr + }) + + const time = karma.testsuite?.$ && parseFloat(karma.testsuite.$.time) * 1000 + return new TestRunResult(path, suites, time) + } + + protected getGroups(suite: TestSuite): TestGroupResult[] { + if (!suite.testcase) { + return [] + } + + const groups: {describe: string; tests: TestCase[]}[] = [] + for (const tc of suite.testcase) { + let grp = groups.find(g => g.describe === tc.$.classname) + if (grp === undefined) { + grp = {describe: tc.$.classname, tests: []} + groups.push(grp) + } + grp.tests.push(tc) + } + + return groups.map(grp => { + const tests = grp.tests.map(tc => { + const name = tc.$.name.trim() + const result = this.getTestCaseResult(tc) + const time = parseFloat(tc.$.time) * 1000 + const error = this.getTestCaseError(tc) + return new TestCaseResult(name, result, time, error) + }) + return new TestGroupResult(grp.describe, tests) + }) + } + + private getTestCaseResult(test: TestCase): TestExecutionResult { + if (test.failure) return 'failed' + if (test.skipped) return 'skipped' + return 'success' + } + + private getTestCaseError(tc: TestCase): TestCaseError | undefined { + if (!this.options.parseErrors || !tc.failure) { + return undefined + } + + const details = typeof tc.failure[0] === 'string' ? tc.failure[0] : tc.failure[0]['_'] + let path + let line + + const src = getExceptionSource(details, this.options.trackedFiles, file => this.getRelativePath(file)) + if (src) { + path = src.path + line = src.line + } + + return { + path, + line, + details + } + } + + private getRelativePath(path: string): string { + path = normalizeFilePath(path) + const workDir = this.getWorkDir(path) + if (workDir !== undefined && path.startsWith(workDir)) { + path = path.substr(workDir.length) + } + return path + } + + private getWorkDir(path: string): string | undefined { + return ( + this.options.workDir ?? + this.assumedWorkDir ?? + (this.assumedWorkDir = getBasePath(path, this.options.trackedFiles)) + ) + } + + protected escapeCharacters(s: string): string { + return s.replace(/([<>])/g, '\\$1') + } +} diff --git a/src/parsers/karma-junit/karma-junit-types.ts b/src/parsers/karma-junit/karma-junit-types.ts new file mode 100644 index 0000000..e4877a2 --- /dev/null +++ b/src/parsers/karma-junit/karma-junit-types.ts @@ -0,0 +1,34 @@ +export interface KarmaReport { + testsuite: TestSuite +} + +export interface TestSuites { + $: { + time: string + } + testsuite?: TestSuite[] +} + +export interface TestSuite { + $: { + name: string + tests: string + errors: string + failures: string + skipped: string + time: string + timestamp?: Date + } + testcase?: TestCase[] +} + +export interface TestCase { + $: { + classname: string + file?: string + name: string + time: string + } + failure?: string[] + skipped?: string[] +}