Merge branch 'main' into mocha-empty-test-suite

This commit is contained in:
Michal Dorner 2022-11-13 13:20:55 +01:00
commit 48bf7af48b
No known key found for this signature in database
GPG key ID: 7325B8B59CA1B65C
21 changed files with 3328 additions and 3280 deletions

53
.github/workflows/check-dist.yml vendored Normal file
View file

@ -0,0 +1,53 @@
# `dist/index.js` is a special file in Actions.
# When you reference an action with `uses:` in a workflow,
# `index.js` is the code that will run.
# For our project, we generate this file through a build process from other source files.
# We need to make sure the checked-in `index.js` actually matches what we expect it to be.
name: Check dist/
on:
push:
branches:
- main
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
workflow_dispatch:
jobs:
check-dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set Node.js 16.x
uses: actions/setup-node@v3.5.1
with:
node-version: 16.x
- name: Install dependencies
run: npm ci
- name: Rebuild the dist/ directory
run: |
npm run build
npm run package
- name: Compare the expected and actual dist/ directories
run: |
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
echo "Detected uncommitted changes after build. See status below:"
git diff
exit 1
fi
id: diff
# If index.js was different than expected, upload the expected version as an artifact
- uses: actions/upload-artifact@v2
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
with:
name: dist
path: dist/

View file

@ -1,5 +1,10 @@
# Changelog # Changelog
## v1.6.0
- [Update to node16 + recent versions of core and exec packages](https://github.com/dorny/test-reporter/pull/203)
- [Update all dependencies to latest versions](https://github.com/dorny/test-reporter/pull/186)
- [Fix tests on non us-EN local env](https://github.com/dorny/test-reporter/pull/185)
## v1.5.0 ## v1.5.0
- [Add option to convert backslashes in path pattern to forward slashes](https://github.com/dorny/test-reporter/pull/128) - [Add option to convert backslashes in path pattern to forward slashes](https://github.com/dorny/test-reporter/pull/128)
- [Add option to generate only the summary from processed test results files](https://github.com/dorny/test-reporter/pull/123) - [Add option to generate only the summary from processed test results files](https://github.com/dorny/test-reporter/pull/123)

View file

@ -3,12 +3,12 @@
**6** tests were completed in **4s** with **1** passed, **4** failed and **1** skipped. **6** tests were completed in **4s** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[test/main_test.dart](#r0s0)|1✔️|3❌||74ms| |[test/main_test.dart](#r0s0)|1|3❌||74ms|
|[test/second_test.dart](#r0s1)||1❌|1✖️|51ms| |[test/second_test.dart](#r0s1)||1❌|1|51ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">test/main_test.dart</a> ### ❌ <a id="user-content-r0s0" href="#r0s0">test/main_test.dart</a>
``` ```
Test 1 Test 1
✔️ Passing test Passing test
Test 1 Test 1.1 Test 1 Test 1.1
❌ Failing test ❌ Failing test
Expected: <2> Expected: <2>
@ -24,5 +24,5 @@ Test 2
``` ```
❌ Timeout test ❌ Timeout test
TimeoutException after 0:00:00.000001: Test timed out after 0 seconds. TimeoutException after 0:00:00.000001: Test timed out after 0 seconds.
✖️ Skipped test Skipped test
``` ```

View file

@ -3,10 +3,10 @@
**11** tests were completed in **1s** with **5** passed, **5** failed and **1** skipped. **11** tests were completed in **1s** with **5** passed, **5** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[DotnetTests.XUnitTests.CalculatorTests](#r0s0)|5✔️|5❌|1✖|118ms| |[DotnetTests.XUnitTests.CalculatorTests](#r0s0)|5✅|5❌|1⚪|118ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">DotnetTests.XUnitTests.CalculatorTests</a> ### ❌ <a id="user-content-r0s0" href="#r0s0">DotnetTests.XUnitTests.CalculatorTests</a>
``` ```
✔️ Custom Name Custom Name
❌ Exception_In_TargetTest ❌ Exception_In_TargetTest
System.DivideByZeroException : Attempted to divide by zero. System.DivideByZeroException : Attempted to divide by zero.
❌ Exception_In_Test ❌ Exception_In_Test
@ -15,17 +15,17 @@
Assert.Equal() Failure Assert.Equal() Failure
Expected: 3 Expected: 3
Actual: 2 Actual: 2
✔️ Is_Even_Number(i: 2) Is_Even_Number(i: 2)
❌ Is_Even_Number(i: 3) ❌ Is_Even_Number(i: 3)
Assert.True() Failure Assert.True() Failure
Expected: True Expected: True
Actual: False Actual: False
✔️ Passing_Test Passing_Test
✔️ Should be even number(i: 2) Should be even number(i: 2)
❌ Should be even number(i: 3) ❌ Should be even number(i: 3)
Assert.True() Failure Assert.True() Failure
Expected: True Expected: True
Actual: False Actual: False
✖️ Skipped_Test Skipped_Test
✔️ Timeout_Test Timeout_Test
``` ```

File diff suppressed because it is too large Load diff

View file

@ -3,12 +3,12 @@
**6** tests were completed in **1s** with **1** passed, **4** failed and **1** skipped. **6** tests were completed in **1s** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[__tests__\main.test.js](#r0s0)|1✔️|3❌||486ms| |[__tests__\main.test.js](#r0s0)|1|3❌||486ms|
|[__tests__\second.test.js](#r0s1)||1❌|1✖️|82ms| |[__tests__\second.test.js](#r0s1)||1❌|1|82ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">__tests__\main.test.js</a> ### ❌ <a id="user-content-r0s0" href="#r0s0">__tests__\main.test.js</a>
``` ```
Test 1 Test 1
✔️ Passing test Passing test
Test 1 Test 1.1 Test 1 Test 1.1
❌ Failing test ❌ Failing test
Error: expect(received).toBeTruthy() Error: expect(received).toBeTruthy()
@ -22,5 +22,5 @@ Test 2
``` ```
❌ Timeout test ❌ Timeout test
: Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Error: : Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Error:
✖️ Skipped test Skipped test
``` ```

View file

@ -3,430 +3,430 @@
**4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped. **4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|e2e/__tests__/asyncAndCallback.test.ts|1✔️|||746ms| |e2e/__tests__/asyncAndCallback.test.ts|1|||746ms|
|e2e/__tests__/asyncRegenerator.test.ts|1✔️|||4s| |e2e/__tests__/asyncRegenerator.test.ts|1|||4s|
|e2e/__tests__/autoClearMocks.test.ts|2✔️|||2s| |e2e/__tests__/autoClearMocks.test.ts|2|||2s|
|e2e/__tests__/autoResetMocks.test.ts|2✔️|||2s| |e2e/__tests__/autoResetMocks.test.ts|2|||2s|
|e2e/__tests__/autoRestoreMocks.test.ts|2✔️|||2s| |e2e/__tests__/autoRestoreMocks.test.ts|2|||2s|
|e2e/__tests__/babelPluginJestHoist.test.ts|1✔️|||6s| |e2e/__tests__/babelPluginJestHoist.test.ts|1|||6s|
|e2e/__tests__/badSourceMap.test.ts|1✔️|||858ms| |e2e/__tests__/badSourceMap.test.ts|1|||858ms|
|e2e/__tests__/beforeAllFiltered.ts|1✔️|||958ms| |e2e/__tests__/beforeAllFiltered.ts|1|||958ms|
|e2e/__tests__/beforeEachQueue.ts|1✔️||1✖|55ms| |e2e/__tests__/beforeEachQueue.ts|1✅||1⚪|55ms|
|e2e/__tests__/callDoneTwice.test.ts|1✔️|||882ms| |e2e/__tests__/callDoneTwice.test.ts|1|||882ms|
|e2e/__tests__/chaiAssertionLibrary.ts|1✔️|||2s| |e2e/__tests__/chaiAssertionLibrary.ts|1|||2s|
|e2e/__tests__/circularInequality.test.ts|1✔️|||1s| |e2e/__tests__/circularInequality.test.ts|1|||1s|
|e2e/__tests__/circusConcurrentEach.test.ts|2✔️|||2s| |e2e/__tests__/circusConcurrentEach.test.ts|2|||2s|
|e2e/__tests__/circusDeclarationErrors.test.ts|1✔️|||869ms| |e2e/__tests__/circusDeclarationErrors.test.ts|1|||869ms|
|e2e/__tests__/clearCache.test.ts|2✔️|||1s| |e2e/__tests__/clearCache.test.ts|2|||1s|
|e2e/__tests__/cliHandlesExactFilenames.test.ts|2✔️|||1s| |e2e/__tests__/cliHandlesExactFilenames.test.ts|2|||1s|
|e2e/__tests__/compareDomNodes.test.ts|1✔️|||1s| |e2e/__tests__/compareDomNodes.test.ts|1|||1s|
|e2e/__tests__/config.test.ts|6✔️|||4s| |e2e/__tests__/config.test.ts|6|||4s|
|e2e/__tests__/console.test.ts|7✔️|||8s| |e2e/__tests__/console.test.ts|7|||8s|
|e2e/__tests__/consoleAfterTeardown.test.ts|1✔️|||1s| |e2e/__tests__/consoleAfterTeardown.test.ts|1|||1s|
|e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts|1✔️|||793ms| |e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts|1|||793ms|
|e2e/__tests__/coverageHandlebars.test.ts|1✔️|||2s| |e2e/__tests__/coverageHandlebars.test.ts|1|||2s|
|e2e/__tests__/coverageRemapping.test.ts|1✔️|||13s| |e2e/__tests__/coverageRemapping.test.ts|1|||13s|
|e2e/__tests__/coverageReport.test.ts|12✔️|||22s| |e2e/__tests__/coverageReport.test.ts|12|||22s|
|e2e/__tests__/coverageThreshold.test.ts|5✔️|||5s| |e2e/__tests__/coverageThreshold.test.ts|5|||5s|
|e2e/__tests__/coverageTransformInstrumented.test.ts|1✔️|||5s| |e2e/__tests__/coverageTransformInstrumented.test.ts|1|||5s|
|e2e/__tests__/coverageWithoutTransform.test.ts|1✔️|||1s| |e2e/__tests__/coverageWithoutTransform.test.ts|1|||1s|
|e2e/__tests__/createProcessObject.test.ts|1✔️|||908ms| |e2e/__tests__/createProcessObject.test.ts|1|||908ms|
|e2e/__tests__/customInlineSnapshotMatchers.test.ts|1✔️|||2s| |e2e/__tests__/customInlineSnapshotMatchers.test.ts|1|||2s|
|e2e/__tests__/customMatcherStackTrace.test.ts|2✔️|||2s| |e2e/__tests__/customMatcherStackTrace.test.ts|2|||2s|
|e2e/__tests__/customReporters.test.ts|9✔️|||7s| |e2e/__tests__/customReporters.test.ts|9|||7s|
|e2e/__tests__/customResolver.test.ts|1✔️|||826ms| |e2e/__tests__/customResolver.test.ts|1|||826ms|
|e2e/__tests__/customTestSequencers.test.ts|3✔️|||3s| |e2e/__tests__/customTestSequencers.test.ts|3|||3s|
|e2e/__tests__/debug.test.ts|1✔️|||899ms| |e2e/__tests__/debug.test.ts|1|||899ms|
|e2e/__tests__/declarationErrors.test.ts|3✔️|||2s| |e2e/__tests__/declarationErrors.test.ts|3|||2s|
|e2e/__tests__/dependencyClash.test.ts|1✔️|||833ms| |e2e/__tests__/dependencyClash.test.ts|1|||833ms|
|e2e/__tests__/detectOpenHandles.ts|8✔️|||8s| |e2e/__tests__/detectOpenHandles.ts|8|||8s|
|e2e/__tests__/domDiffing.test.ts|1✔️|||1s| |e2e/__tests__/domDiffing.test.ts|1|||1s|
|e2e/__tests__/doneInHooks.test.ts|1✔️|||855ms| |e2e/__tests__/doneInHooks.test.ts|1|||855ms|
|e2e/__tests__/dynamicRequireDependencies.ts|1✔️|||847ms| |e2e/__tests__/dynamicRequireDependencies.ts|1|||847ms|
|e2e/__tests__/each.test.ts|7✔️|||5s| |e2e/__tests__/each.test.ts|7|||5s|
|e2e/__tests__/emptyDescribeWithHooks.test.ts|4✔️|||3s| |e2e/__tests__/emptyDescribeWithHooks.test.ts|4|||3s|
|e2e/__tests__/emptySuiteError.test.ts|1✔️|||885ms| |e2e/__tests__/emptySuiteError.test.ts|1|||885ms|
|e2e/__tests__/env.test.ts|6✔️|||5s| |e2e/__tests__/env.test.ts|6|||5s|
|e2e/__tests__/environmentAfterTeardown.test.ts|1✔️|||892ms| |e2e/__tests__/environmentAfterTeardown.test.ts|1|||892ms|
|e2e/__tests__/errorOnDeprecated.test.ts|1✔️||24✖|56ms| |e2e/__tests__/errorOnDeprecated.test.ts|1✅||24⚪|56ms|
|e2e/__tests__/esmConfigFile.test.ts|3✔️|||526ms| |e2e/__tests__/esmConfigFile.test.ts|3|||526ms|
|e2e/__tests__/executeTestsOnceInMpr.ts|1✔️|||976ms| |e2e/__tests__/executeTestsOnceInMpr.ts|1|||976ms|
|e2e/__tests__/existentRoots.test.ts|4✔️|||627ms| |e2e/__tests__/existentRoots.test.ts|4|||627ms|
|e2e/__tests__/expectAsyncMatcher.test.ts|2✔️|||3s| |e2e/__tests__/expectAsyncMatcher.test.ts|2|||3s|
|e2e/__tests__/expectInVm.test.ts|1✔️|||2s| |e2e/__tests__/expectInVm.test.ts|1|||2s|
|e2e/__tests__/extraGlobals.test.ts|1✔️|||1s| |e2e/__tests__/extraGlobals.test.ts|1|||1s|
|e2e/__tests__/failureDetailsProperty.test.ts|1✔️|||907ms| |e2e/__tests__/failureDetailsProperty.test.ts|1|||907ms|
|e2e/__tests__/failures.test.ts|7✔️|||10s| |e2e/__tests__/failures.test.ts|7|||10s|
|e2e/__tests__/fakePromises.test.ts|2✔️|||2s| |e2e/__tests__/fakePromises.test.ts|2|||2s|
|e2e/__tests__/fatalWorkerError.test.ts|1✔️|||3s| |e2e/__tests__/fatalWorkerError.test.ts|1|||3s|
|e2e/__tests__/filter.test.ts|7✔️|||5s| |e2e/__tests__/filter.test.ts|7|||5s|
|e2e/__tests__/findRelatedFiles.test.ts|5✔️|||6s| |e2e/__tests__/findRelatedFiles.test.ts|5|||6s|
|e2e/__tests__/focusedTests.test.ts|1✔️|||888ms| |e2e/__tests__/focusedTests.test.ts|1|||888ms|
|e2e/__tests__/forceExit.test.ts|1✔️|||2s| |e2e/__tests__/forceExit.test.ts|1|||2s|
|e2e/__tests__/generatorMock.test.ts|1✔️|||1s| |e2e/__tests__/generatorMock.test.ts|1|||1s|
|e2e/__tests__/global-mutation.test.ts|1✔️|||40ms| |e2e/__tests__/global-mutation.test.ts|1|||40ms|
|e2e/__tests__/global.test.ts|1✔️|||31ms| |e2e/__tests__/global.test.ts|1|||31ms|
|e2e/__tests__/globals.test.ts|10✔️|||8s| |e2e/__tests__/globals.test.ts|10|||8s|
|e2e/__tests__/globalSetup.test.ts|10✔️|||14s| |e2e/__tests__/globalSetup.test.ts|10|||14s|
|e2e/__tests__/globalTeardown.test.ts|7✔️|||12s| |e2e/__tests__/globalTeardown.test.ts|7|||12s|
|e2e/__tests__/hasteMapMockChanged.test.ts|1✔️|||379ms| |e2e/__tests__/hasteMapMockChanged.test.ts|1|||379ms|
|e2e/__tests__/hasteMapSha1.test.ts|1✔️|||298ms| |e2e/__tests__/hasteMapSha1.test.ts|1|||298ms|
|e2e/__tests__/hasteMapSize.test.ts|2✔️|||397ms| |e2e/__tests__/hasteMapSize.test.ts|2|||397ms|
|e2e/__tests__/importedGlobals.test.ts|1✔️|||1s| |e2e/__tests__/importedGlobals.test.ts|1|||1s|
|e2e/__tests__/injectGlobals.test.ts|2✔️|||2s| |e2e/__tests__/injectGlobals.test.ts|2|||2s|
|e2e/__tests__/jasmineAsync.test.ts|15✔️|||28s| |e2e/__tests__/jasmineAsync.test.ts|15|||28s|
|e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts|1✔️||1✖|72ms| |e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts|1✅||1⚪|72ms|
|e2e/__tests__/jest.config.js.test.ts|3✔️|||2s| |e2e/__tests__/jest.config.js.test.ts|3|||2s|
|e2e/__tests__/jest.config.ts.test.ts|5✔️|||14s| |e2e/__tests__/jest.config.ts.test.ts|5|||14s|
|[e2e/__tests__/jestChangedFiles.test.ts](#r0s75)|9✔️|1❌||9s| |[e2e/__tests__/jestChangedFiles.test.ts](#r0s75)|9|1❌||9s|
|e2e/__tests__/jestEnvironmentJsdom.test.ts|1✔️|||2s| |e2e/__tests__/jestEnvironmentJsdom.test.ts|1|||2s|
|e2e/__tests__/jestRequireActual.test.ts|1✔️|||2s| |e2e/__tests__/jestRequireActual.test.ts|1|||2s|
|e2e/__tests__/jestRequireMock.test.ts|1✔️|||2s| |e2e/__tests__/jestRequireMock.test.ts|1|||2s|
|e2e/__tests__/json.test.ts|2✔️|||29ms| |e2e/__tests__/json.test.ts|2|||29ms|
|e2e/__tests__/jsonReporter.test.ts|2✔️|||2s| |e2e/__tests__/jsonReporter.test.ts|2|||2s|
|e2e/__tests__/lifecycles.ts|1✔️|||861ms| |e2e/__tests__/lifecycles.ts|1|||861ms|
|e2e/__tests__/listTests.test.ts|2✔️|||945ms| |e2e/__tests__/listTests.test.ts|2|||945ms|
|e2e/__tests__/locationInResults.test.ts|2✔️|||2s| |e2e/__tests__/locationInResults.test.ts|2|||2s|
|e2e/__tests__/logHeapUsage.test.ts|1✔️|||884ms| |e2e/__tests__/logHeapUsage.test.ts|1|||884ms|
|e2e/__tests__/mockNames.test.ts|8✔️|||7s| |e2e/__tests__/mockNames.test.ts|8|||7s|
|e2e/__tests__/modernFakeTimers.test.ts|2✔️|||2s| |e2e/__tests__/modernFakeTimers.test.ts|2|||2s|
|e2e/__tests__/moduleNameMapper.test.ts|5✔️|||5s| |e2e/__tests__/moduleNameMapper.test.ts|5|||5s|
|e2e/__tests__/moduleParentNullInTest.ts|1✔️|||886ms| |e2e/__tests__/moduleParentNullInTest.ts|1|||886ms|
|e2e/__tests__/multiProjectRunner.test.ts|14✔️|||16s| |e2e/__tests__/multiProjectRunner.test.ts|14|||16s|
|e2e/__tests__/nativeAsyncMock.test.ts|1✔️|||55ms| |e2e/__tests__/nativeAsyncMock.test.ts|1|||55ms|
|e2e/__tests__/nativeEsm.test.ts|2✔️||1✖|905ms| |e2e/__tests__/nativeEsm.test.ts|2✅||1⚪|905ms|
|e2e/__tests__/nativeEsmTypescript.test.ts|1✔️|||956ms| |e2e/__tests__/nativeEsmTypescript.test.ts|1|||956ms|
|e2e/__tests__/nestedEventLoop.test.ts|1✔️|||1s| |e2e/__tests__/nestedEventLoop.test.ts|1|||1s|
|e2e/__tests__/nestedTestDefinitions.test.ts|4✔️|||5s| |e2e/__tests__/nestedTestDefinitions.test.ts|4|||5s|
|e2e/__tests__/nodePath.test.ts|1✔️|||866ms| |e2e/__tests__/nodePath.test.ts|1|||866ms|
|e2e/__tests__/noTestFound.test.ts|2✔️|||1s| |e2e/__tests__/noTestFound.test.ts|2|||1s|
|e2e/__tests__/noTestsFound.test.ts|5✔️|||3s| |e2e/__tests__/noTestsFound.test.ts|5|||3s|
|[e2e/__tests__/onlyChanged.test.ts](#r0s98)|8✔️|1❌||22s| |[e2e/__tests__/onlyChanged.test.ts](#r0s98)|8|1❌||22s|
|e2e/__tests__/onlyFailuresNonWatch.test.ts|1✔️|||3s| |e2e/__tests__/onlyFailuresNonWatch.test.ts|1|||3s|
|e2e/__tests__/overrideGlobals.test.ts|2✔️|||2s| |e2e/__tests__/overrideGlobals.test.ts|2|||2s|
|e2e/__tests__/pnp.test.ts|1✔️|||3s| |e2e/__tests__/pnp.test.ts|1|||3s|
|e2e/__tests__/presets.test.ts|2✔️|||2s| |e2e/__tests__/presets.test.ts|2|||2s|
|e2e/__tests__/processExit.test.ts|1✔️|||1s| |e2e/__tests__/processExit.test.ts|1|||1s|
|e2e/__tests__/promiseReject.test.ts|1✔️|||967ms| |e2e/__tests__/promiseReject.test.ts|1|||967ms|
|e2e/__tests__/regexCharInPath.test.ts|1✔️|||962ms| |e2e/__tests__/regexCharInPath.test.ts|1|||962ms|
|e2e/__tests__/requireAfterTeardown.test.ts|1✔️|||921ms| |e2e/__tests__/requireAfterTeardown.test.ts|1|||921ms|
|e2e/__tests__/requireMain.test.ts|1✔️|||1s| |e2e/__tests__/requireMain.test.ts|1|||1s|
|e2e/__tests__/requireMainAfterCreateRequire.test.ts|1✔️|||966ms| |e2e/__tests__/requireMainAfterCreateRequire.test.ts|1|||966ms|
|e2e/__tests__/requireMainIsolateModules.test.ts|1✔️|||976ms| |e2e/__tests__/requireMainIsolateModules.test.ts|1|||976ms|
|e2e/__tests__/requireMainResetModules.test.ts|2✔️|||2s| |e2e/__tests__/requireMainResetModules.test.ts|2|||2s|
|e2e/__tests__/requireV8Module.test.ts|1✔️|||30ms| |e2e/__tests__/requireV8Module.test.ts|1|||30ms|
|e2e/__tests__/resetModules.test.ts|1✔️|||926ms| |e2e/__tests__/resetModules.test.ts|1|||926ms|
|e2e/__tests__/resolve.test.ts|1✔️|||2s| |e2e/__tests__/resolve.test.ts|1|||2s|
|e2e/__tests__/resolveGetPaths.test.ts|1✔️|||1s| |e2e/__tests__/resolveGetPaths.test.ts|1|||1s|
|e2e/__tests__/resolveNodeModule.test.ts|1✔️|||943ms| |e2e/__tests__/resolveNodeModule.test.ts|1|||943ms|
|e2e/__tests__/resolveNoFileExtensions.test.ts|2✔️|||1s| |e2e/__tests__/resolveNoFileExtensions.test.ts|2|||1s|
|e2e/__tests__/resolveWithPaths.test.ts|1✔️|||1s| |e2e/__tests__/resolveWithPaths.test.ts|1|||1s|
|e2e/__tests__/runProgrammatically.test.ts|2✔️|||575ms| |e2e/__tests__/runProgrammatically.test.ts|2|||575ms|
|e2e/__tests__/runTestsByPath.test.ts|1✔️|||2s| |e2e/__tests__/runTestsByPath.test.ts|1|||2s|
|e2e/__tests__/runtimeInternalModuleRegistry.test.ts|1✔️|||1s| |e2e/__tests__/runtimeInternalModuleRegistry.test.ts|1|||1s|
|e2e/__tests__/selectProjects.test.ts|18✔️|||5s| |e2e/__tests__/selectProjects.test.ts|18|||5s|
|e2e/__tests__/setImmediate.test.ts|1✔️|||904ms| |e2e/__tests__/setImmediate.test.ts|1|||904ms|
|e2e/__tests__/setupFilesAfterEnvConfig.test.ts|2✔️|||2s| |e2e/__tests__/setupFilesAfterEnvConfig.test.ts|2|||2s|
|e2e/__tests__/showConfig.test.ts|1✔️|||195ms| |e2e/__tests__/showConfig.test.ts|1|||195ms|
|e2e/__tests__/skipBeforeAfterAll.test.ts|1✔️|||1s| |e2e/__tests__/skipBeforeAfterAll.test.ts|1|||1s|
|e2e/__tests__/snapshot-unknown.test.ts|1✔️|||838ms| |e2e/__tests__/snapshot-unknown.test.ts|1|||838ms|
|e2e/__tests__/snapshot.test.ts|9✔️|||14s| |e2e/__tests__/snapshot.test.ts|9|||14s|
|e2e/__tests__/snapshotMockFs.test.ts|1✔️|||883ms| |e2e/__tests__/snapshotMockFs.test.ts|1|||883ms|
|e2e/__tests__/snapshotResolver.test.ts|1✔️|||823ms| |e2e/__tests__/snapshotResolver.test.ts|1|||823ms|
|e2e/__tests__/snapshotSerializers.test.ts|2✔️|||2s| |e2e/__tests__/snapshotSerializers.test.ts|2|||2s|
|e2e/__tests__/stackTrace.test.ts|7✔️|||5s| |e2e/__tests__/stackTrace.test.ts|7|||5s|
|e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts|1✔️|||899ms| |e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts|1|||899ms|
|e2e/__tests__/stackTraceSourceMaps.test.ts|1✔️|||2s| |e2e/__tests__/stackTraceSourceMaps.test.ts|1|||2s|
|e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts|1✔️|||2s| |e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts|1|||2s|
|e2e/__tests__/supportsDashedArgs.ts|2✔️|||968ms| |e2e/__tests__/supportsDashedArgs.ts|2|||968ms|
|e2e/__tests__/symbol.test.ts|1✔️|||49ms| |e2e/__tests__/symbol.test.ts|1|||49ms|
|e2e/__tests__/testEnvironment.test.ts|1✔️|||2s| |e2e/__tests__/testEnvironment.test.ts|1|||2s|
|e2e/__tests__/testEnvironmentAsync.test.ts|1✔️|||1s| |e2e/__tests__/testEnvironmentAsync.test.ts|1|||1s|
|e2e/__tests__/testEnvironmentCircus.test.ts|1✔️|||2s| |e2e/__tests__/testEnvironmentCircus.test.ts|1|||2s|
|e2e/__tests__/testEnvironmentCircusAsync.test.ts|1✔️|||2s| |e2e/__tests__/testEnvironmentCircusAsync.test.ts|1|||2s|
|e2e/__tests__/testFailureExitCode.test.ts|2✔️|||4s| |e2e/__tests__/testFailureExitCode.test.ts|2|||4s|
|e2e/__tests__/testInRoot.test.ts|1✔️|||1s| |e2e/__tests__/testInRoot.test.ts|1|||1s|
|e2e/__tests__/testNamePattern.test.ts|1✔️|||859ms| |e2e/__tests__/testNamePattern.test.ts|1|||859ms|
|e2e/__tests__/testNamePatternSkipped.test.ts|1✔️|||991ms| |e2e/__tests__/testNamePatternSkipped.test.ts|1|||991ms|
|e2e/__tests__/testPathPatternReporterMessage.test.ts|1✔️|||3s| |e2e/__tests__/testPathPatternReporterMessage.test.ts|1|||3s|
|e2e/__tests__/testResultsProcessor.test.ts|1✔️|||910ms| |e2e/__tests__/testResultsProcessor.test.ts|1|||910ms|
|e2e/__tests__/testRetries.test.ts|4✔️|||3s| |e2e/__tests__/testRetries.test.ts|4|||3s|
|e2e/__tests__/testTodo.test.ts|5✔️|||4s| |e2e/__tests__/testTodo.test.ts|5|||4s|
|e2e/__tests__/timeouts.test.ts|4✔️|||4s| |e2e/__tests__/timeouts.test.ts|4|||4s|
|e2e/__tests__/timeoutsLegacy.test.ts|1✔️||3✖|71ms| |e2e/__tests__/timeoutsLegacy.test.ts|1✅||3⚪|71ms|
|e2e/__tests__/timerResetMocks.test.ts|2✔️|||2s| |e2e/__tests__/timerResetMocks.test.ts|2|||2s|
|e2e/__tests__/timerUseRealTimers.test.ts|1✔️|||1s| |e2e/__tests__/timerUseRealTimers.test.ts|1|||1s|
|e2e/__tests__/toMatchInlineSnapshot.test.ts|12✔️|||24s| |e2e/__tests__/toMatchInlineSnapshot.test.ts|12|||24s|
|e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts|3✔️|||5s| |e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts|3|||5s|
|e2e/__tests__/toMatchSnapshot.test.ts|9✔️|||17s| |e2e/__tests__/toMatchSnapshot.test.ts|9|||17s|
|e2e/__tests__/toMatchSnapshotWithRetries.test.ts|2✔️|||4s| |e2e/__tests__/toMatchSnapshotWithRetries.test.ts|2|||4s|
|e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts|3✔️|||4s| |e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts|3|||4s|
|e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts|4✔️|||4s| |e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts|4|||4s|
|e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts|5✔️|||4s| |e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts|5|||4s|
|e2e/__tests__/transform.test.ts|16✔️|||27s| |e2e/__tests__/transform.test.ts|16|||27s|
|e2e/__tests__/transformLinkedModules.test.ts|1✔️|||783ms| |e2e/__tests__/transformLinkedModules.test.ts|1|||783ms|
|e2e/__tests__/typescriptCoverage.test.ts|1✔️|||3s| |e2e/__tests__/typescriptCoverage.test.ts|1|||3s|
|e2e/__tests__/unexpectedToken.test.ts|3✔️|||3s| |e2e/__tests__/unexpectedToken.test.ts|3|||3s|
|e2e/__tests__/useStderr.test.ts|1✔️|||1s| |e2e/__tests__/useStderr.test.ts|1|||1s|
|e2e/__tests__/v8Coverage.test.ts|2✔️|||2s| |e2e/__tests__/v8Coverage.test.ts|2|||2s|
|e2e/__tests__/verbose.test.ts|1✔️|||683ms| |e2e/__tests__/verbose.test.ts|1|||683ms|
|e2e/__tests__/version.test.ts|1✔️|||138ms| |e2e/__tests__/version.test.ts|1|||138ms|
|e2e/__tests__/watchModeNoAccess.test.ts|1✔️|||4s| |e2e/__tests__/watchModeNoAccess.test.ts|1|||4s|
|e2e/__tests__/watchModeOnlyFailed.test.ts|1✔️|||1s| |e2e/__tests__/watchModeOnlyFailed.test.ts|1|||1s|
|e2e/__tests__/watchModePatterns.test.ts|2✔️|||4s| |e2e/__tests__/watchModePatterns.test.ts|2|||4s|
|e2e/__tests__/watchModeUpdateSnapshot.test.ts|1✔️|||1s| |e2e/__tests__/watchModeUpdateSnapshot.test.ts|1|||1s|
|e2e/__tests__/workerForceExit.test.ts|2✔️|||5s| |e2e/__tests__/workerForceExit.test.ts|2|||5s|
|e2e/__tests__/wrongEnv.test.ts|5✔️|||4s| |e2e/__tests__/wrongEnv.test.ts|5|||4s|
|e2e/custom-test-sequencer/a.test.js|1✔️|||29ms| |e2e/custom-test-sequencer/a.test.js|1|||29ms|
|e2e/custom-test-sequencer/b.test.js|1✔️|||21ms| |e2e/custom-test-sequencer/b.test.js|1|||21ms|
|e2e/custom-test-sequencer/c.test.js|1✔️|||42ms| |e2e/custom-test-sequencer/c.test.js|1|||42ms|
|e2e/custom-test-sequencer/d.test.js|1✔️|||21ms| |e2e/custom-test-sequencer/d.test.js|1|||21ms|
|e2e/custom-test-sequencer/e.test.js|1✔️|||27ms| |e2e/custom-test-sequencer/e.test.js|1|||27ms|
|e2e/test-in-root/spec.js|1✔️|||19ms| |e2e/test-in-root/spec.js|1|||19ms|
|e2e/test-in-root/test.js|1✔️|||37ms| |e2e/test-in-root/test.js|1|||37ms|
|e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js|2✔️|||30ms| |e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js|2|||30ms|
|e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js|1✔️|||34ms| |e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js|1|||34ms|
|e2e/v8-coverage/empty-sourcemap/test.ts|1✔️|||31ms| |e2e/v8-coverage/empty-sourcemap/test.ts|1|||31ms|
|examples/angular/app.component.spec.ts|3✔️|||654ms| |examples/angular/app.component.spec.ts|3|||654ms|
|examples/angular/shared/data.service.spec.ts|2✔️|||431ms| |examples/angular/shared/data.service.spec.ts|2|||431ms|
|examples/angular/shared/sub.service.spec.ts|1✔️|||109ms| |examples/angular/shared/sub.service.spec.ts|1|||109ms|
|examples/async/__tests__/user.test.js|8✔️|||96ms| |examples/async/__tests__/user.test.js|8|||96ms|
|examples/automatic-mocks/__tests__/automock.test.js|2✔️|||74ms| |examples/automatic-mocks/__tests__/automock.test.js|2|||74ms|
|examples/automatic-mocks/__tests__/createMockFromModule.test.js|2✔️|||115ms| |examples/automatic-mocks/__tests__/createMockFromModule.test.js|2|||115ms|
|examples/automatic-mocks/__tests__/disableAutomocking.test.js|1✔️|||24ms| |examples/automatic-mocks/__tests__/disableAutomocking.test.js|1|||24ms|
|examples/enzyme/__tests__/CheckboxWithLabel-test.js|1✔️|||434ms| |examples/enzyme/__tests__/CheckboxWithLabel-test.js|1|||434ms|
|examples/getting-started/sum.test.js|1✔️|||78ms| |examples/getting-started/sum.test.js|1|||78ms|
|examples/jquery/__tests__/display_user.test.js|1✔️|||196ms| |examples/jquery/__tests__/display_user.test.js|1|||196ms|
|examples/jquery/__tests__/fetch_current_user.test.js|2✔️|||196ms| |examples/jquery/__tests__/fetch_current_user.test.js|2|||196ms|
|examples/manual-mocks/__tests__/file_summarizer.test.js|1✔️|||87ms| |examples/manual-mocks/__tests__/file_summarizer.test.js|1|||87ms|
|examples/manual-mocks/__tests__/lodashMocking.test.js|1✔️|||109ms| |examples/manual-mocks/__tests__/lodashMocking.test.js|1|||109ms|
|examples/manual-mocks/__tests__/user.test.js|1✔️|||41ms| |examples/manual-mocks/__tests__/user.test.js|1|||41ms|
|examples/manual-mocks/__tests__/userMocked.test.js|1✔️|||105ms| |examples/manual-mocks/__tests__/userMocked.test.js|1|||105ms|
|examples/module-mock/__tests__/full_mock.js|1✔️|||60ms| |examples/module-mock/__tests__/full_mock.js|1|||60ms|
|examples/module-mock/__tests__/mock_per_test.js|2✔️|||116ms| |examples/module-mock/__tests__/mock_per_test.js|2|||116ms|
|examples/module-mock/__tests__/partial_mock.js|1✔️|||215ms| |examples/module-mock/__tests__/partial_mock.js|1|||215ms|
|examples/mongodb/__test__/db.test.js|1✔️|||236ms| |examples/mongodb/__test__/db.test.js|1|||236ms|
|examples/react-native/__tests__/intro.test.js|4✔️|||9s| |examples/react-native/__tests__/intro.test.js|4|||9s|
|examples/react-testing-library/__tests__/CheckboxWithLabel-test.js|1✔️|||469ms| |examples/react-testing-library/__tests__/CheckboxWithLabel-test.js|1|||469ms|
|examples/react/__tests__/CheckboxWithLabel-test.js|1✔️|||256ms| |examples/react/__tests__/CheckboxWithLabel-test.js|1|||256ms|
|examples/snapshot/__tests__/clock.react.test.js|1✔️|||62ms| |examples/snapshot/__tests__/clock.react.test.js|1|||62ms|
|examples/snapshot/__tests__/link.react.test.js|4✔️|||181ms| |examples/snapshot/__tests__/link.react.test.js|4|||181ms|
|examples/timer/__tests__/infinite_timer_game.test.js|1✔️|||94ms| |examples/timer/__tests__/infinite_timer_game.test.js|1|||94ms|
|examples/timer/__tests__/timer_game.test.js|3✔️|||74ms| |examples/timer/__tests__/timer_game.test.js|3|||74ms|
|examples/typescript/__tests__/calc.test.ts|6✔️|||276ms| |examples/typescript/__tests__/calc.test.ts|6|||276ms|
|examples/typescript/__tests__/CheckboxWithLabel-test.tsx|1✔️|||227ms| |examples/typescript/__tests__/CheckboxWithLabel-test.tsx|1|||227ms|
|examples/typescript/__tests__/sub-test.ts|1✔️|||43ms| |examples/typescript/__tests__/sub-test.ts|1|||43ms|
|examples/typescript/__tests__/sum-test.ts|2✔️|||69ms| |examples/typescript/__tests__/sum-test.ts|2|||69ms|
|examples/typescript/__tests__/sum.test.js|2✔️|||100ms| |examples/typescript/__tests__/sum.test.js|2|||100ms|
|packages/babel-jest/src/__tests__/index.ts|6✔️|||371ms| |packages/babel-jest/src/__tests__/index.ts|6|||371ms|
|packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts|4✔️|||347ms| |packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts|4|||347ms|
|packages/diff-sequences/src/__tests__/index.property.test.ts|7✔️|||357ms| |packages/diff-sequences/src/__tests__/index.property.test.ts|7|||357ms|
|packages/diff-sequences/src/__tests__/index.test.ts|48✔️|||195ms| |packages/diff-sequences/src/__tests__/index.test.ts|48|||195ms|
|packages/expect/src/__tests__/assertionCounts.test.ts|6✔️|||60ms| |packages/expect/src/__tests__/assertionCounts.test.ts|6|||60ms|
|packages/expect/src/__tests__/asymmetricMatchers.test.ts|38✔️|||207ms| |packages/expect/src/__tests__/asymmetricMatchers.test.ts|38|||207ms|
|packages/expect/src/__tests__/extend.test.ts|10✔️|||99ms| |packages/expect/src/__tests__/extend.test.ts|10|||99ms|
|packages/expect/src/__tests__/isError.test.ts|4✔️|||43ms| |packages/expect/src/__tests__/isError.test.ts|4|||43ms|
|packages/expect/src/__tests__/matchers-toContain.property.test.ts|2✔️|||236ms| |packages/expect/src/__tests__/matchers-toContain.property.test.ts|2|||236ms|
|packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts|2✔️|||287ms| |packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts|2|||287ms|
|packages/expect/src/__tests__/matchers-toEqual.property.test.ts|2✔️|||1s| |packages/expect/src/__tests__/matchers-toEqual.property.test.ts|2|||1s|
|packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts|3✔️|||394ms| |packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts|3|||394ms|
|packages/expect/src/__tests__/matchers.test.js|592✔️|||862ms| |packages/expect/src/__tests__/matchers.test.js|592|||862ms|
|packages/expect/src/__tests__/spyMatchers.test.ts|248✔️|||395ms| |packages/expect/src/__tests__/spyMatchers.test.ts|248|||395ms|
|packages/expect/src/__tests__/stacktrace.test.ts|3✔️|||69ms| |packages/expect/src/__tests__/stacktrace.test.ts|3|||69ms|
|packages/expect/src/__tests__/symbolInObjects.test.ts|3✔️|||33ms| |packages/expect/src/__tests__/symbolInObjects.test.ts|3|||33ms|
|packages/expect/src/__tests__/toEqual-dom.test.ts|12✔️|||99ms| |packages/expect/src/__tests__/toEqual-dom.test.ts|12|||99ms|
|packages/expect/src/__tests__/toThrowMatchers.test.ts|98✔️|||257ms| |packages/expect/src/__tests__/toThrowMatchers.test.ts|98|||257ms|
|packages/expect/src/__tests__/utils.test.ts|41✔️|||147ms| |packages/expect/src/__tests__/utils.test.ts|41|||147ms|
|packages/jest-circus/src/__tests__/afterAll.test.ts|6✔️|||6s| |packages/jest-circus/src/__tests__/afterAll.test.ts|6|||6s|
|packages/jest-circus/src/__tests__/baseTest.test.ts|2✔️|||3s| |packages/jest-circus/src/__tests__/baseTest.test.ts|2|||3s|
|packages/jest-circus/src/__tests__/circusItTestError.test.ts|8✔️|||300ms| |packages/jest-circus/src/__tests__/circusItTestError.test.ts|8|||300ms|
|packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts|3✔️|||81ms| |packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts|3|||81ms|
|packages/jest-circus/src/__tests__/hooks.test.ts|3✔️|||4s| |packages/jest-circus/src/__tests__/hooks.test.ts|3|||4s|
|packages/jest-circus/src/__tests__/hooksError.test.ts|32✔️|||127ms| |packages/jest-circus/src/__tests__/hooksError.test.ts|32|||127ms|
|packages/jest-cli/src/__tests__/cli/args.test.ts|17✔️|||345ms| |packages/jest-cli/src/__tests__/cli/args.test.ts|17|||345ms|
|packages/jest-cli/src/init/__tests__/init.test.js|24✔️|||119ms| |packages/jest-cli/src/init/__tests__/init.test.js|24|||119ms|
|packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts|4✔️|||30ms| |packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts|4|||30ms|
|packages/jest-config/src/__tests__/Defaults.test.ts|1✔️|||672ms| |packages/jest-config/src/__tests__/Defaults.test.ts|1|||672ms|
|packages/jest-config/src/__tests__/getMaxWorkers.test.ts|7✔️|||67ms| |packages/jest-config/src/__tests__/getMaxWorkers.test.ts|7|||67ms|
|packages/jest-config/src/__tests__/normalize.test.js|118✔️|||798ms| |packages/jest-config/src/__tests__/normalize.test.js|118|||798ms|
|packages/jest-config/src/__tests__/readConfig.test.ts|1✔️|||76ms| |packages/jest-config/src/__tests__/readConfig.test.ts|1|||76ms|
|packages/jest-config/src/__tests__/readConfigs.test.ts|3✔️|||135ms| |packages/jest-config/src/__tests__/readConfigs.test.ts|3|||135ms|
|packages/jest-config/src/__tests__/resolveConfigPath.test.ts|10✔️|||183ms| |packages/jest-config/src/__tests__/resolveConfigPath.test.ts|10|||183ms|
|packages/jest-config/src/__tests__/setFromArgv.test.ts|4✔️|||53ms| |packages/jest-config/src/__tests__/setFromArgv.test.ts|4|||53ms|
|packages/jest-config/src/__tests__/validatePattern.test.ts|4✔️|||52ms| |packages/jest-config/src/__tests__/validatePattern.test.ts|4|||52ms|
|packages/jest-console/src/__tests__/bufferedConsole.test.ts|20✔️|||171ms| |packages/jest-console/src/__tests__/bufferedConsole.test.ts|20|||171ms|
|packages/jest-console/src/__tests__/CustomConsole.test.ts|23✔️|||115ms| |packages/jest-console/src/__tests__/CustomConsole.test.ts|23|||115ms|
|packages/jest-console/src/__tests__/getConsoleOutput.test.ts|12✔️|||56ms| |packages/jest-console/src/__tests__/getConsoleOutput.test.ts|12|||56ms|
|packages/jest-core/src/__tests__/FailedTestsCache.test.js|1✔️|||25ms| |packages/jest-core/src/__tests__/FailedTestsCache.test.js|1|||25ms|
|packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js|5✔️|||61ms| |packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js|5|||61ms|
|packages/jest-core/src/__tests__/globals.test.ts|1✔️|||22ms| |packages/jest-core/src/__tests__/globals.test.ts|1|||22ms|
|packages/jest-core/src/__tests__/runJest.test.js|2✔️|||261ms| |packages/jest-core/src/__tests__/runJest.test.js|2|||261ms|
|packages/jest-core/src/__tests__/SearchSource.test.ts|27✔️|||3s| |packages/jest-core/src/__tests__/SearchSource.test.ts|27|||3s|
|packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js|13✔️|||89ms| |packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js|13|||89ms|
|packages/jest-core/src/__tests__/TestScheduler.test.js|8✔️|||520ms| |packages/jest-core/src/__tests__/TestScheduler.test.js|8|||520ms|
|packages/jest-core/src/__tests__/testSchedulerHelper.test.js|12✔️|||48ms| |packages/jest-core/src/__tests__/testSchedulerHelper.test.js|12|||48ms|
|packages/jest-core/src/__tests__/watch.test.js|80✔️|||7s| |packages/jest-core/src/__tests__/watch.test.js|80|||7s|
|packages/jest-core/src/__tests__/watchFileChanges.test.ts|1✔️|||2s| |packages/jest-core/src/__tests__/watchFileChanges.test.ts|1|||2s|
|packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js|2✔️|||165ms| |packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js|2|||165ms|
|packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js|1✔️|||246ms| |packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js|1|||246ms|
|packages/jest-core/src/lib/__tests__/isValidPath.test.ts|3✔️|||166ms| |packages/jest-core/src/lib/__tests__/isValidPath.test.ts|3|||166ms|
|packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts|3✔️|||48ms| |packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts|3|||48ms|
|packages/jest-create-cache-key-function/src/__tests__/index.test.ts|1✔️|||75ms| |packages/jest-create-cache-key-function/src/__tests__/index.test.ts|1|||75ms|
|packages/jest-diff/src/__tests__/diff.test.ts|107✔️|||625ms| |packages/jest-diff/src/__tests__/diff.test.ts|107|||625ms|
|packages/jest-diff/src/__tests__/diffStringsRaw.test.ts|2✔️|||55ms| |packages/jest-diff/src/__tests__/diffStringsRaw.test.ts|2|||55ms|
|packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts|24✔️|||72ms| |packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts|24|||72ms|
|packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts|6✔️|||44ms| |packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts|6|||44ms|
|packages/jest-docblock/src/__tests__/index.test.ts|36✔️|||177ms| |packages/jest-docblock/src/__tests__/index.test.ts|36|||177ms|
|packages/jest-each/src/__tests__/array.test.ts|159✔️|||192ms| |packages/jest-each/src/__tests__/array.test.ts|159|||192ms|
|packages/jest-each/src/__tests__/index.test.ts|10✔️|||44ms| |packages/jest-each/src/__tests__/index.test.ts|10|||44ms|
|packages/jest-each/src/__tests__/template.test.ts|242✔️|||483ms| |packages/jest-each/src/__tests__/template.test.ts|242|||483ms|
|packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts|2✔️|||783ms| |packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts|2|||783ms|
|packages/jest-environment-node/src/__tests__/node_environment.test.ts|6✔️|||184ms| |packages/jest-environment-node/src/__tests__/node_environment.test.ts|6|||184ms|
|packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts|50✔️|||302ms| |packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts|50|||302ms|
|packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts|40✔️|||317ms| |packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts|40|||317ms|
|packages/jest-get-type/src/__tests__/getType.test.ts|14✔️|||45ms| |packages/jest-get-type/src/__tests__/getType.test.ts|14|||45ms|
|packages/jest-get-type/src/__tests__/isPrimitive.test.ts|18✔️|||36ms| |packages/jest-get-type/src/__tests__/isPrimitive.test.ts|18|||36ms|
|packages/jest-globals/src/__tests__/index.ts|1✔️|||533ms| |packages/jest-globals/src/__tests__/index.ts|1|||533ms|
|packages/jest-haste-map/src/__tests__/get_mock_name.test.js|1✔️|||22ms| |packages/jest-haste-map/src/__tests__/get_mock_name.test.js|1|||22ms|
|packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts|1✔️|||337ms| |packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts|1|||337ms|
|packages/jest-haste-map/src/__tests__/index.test.js|44✔️|||1s| |packages/jest-haste-map/src/__tests__/index.test.js|44|||1s|
|packages/jest-haste-map/src/__tests__/worker.test.js|7✔️|||100ms| |packages/jest-haste-map/src/__tests__/worker.test.js|7|||100ms|
|packages/jest-haste-map/src/crawlers/__tests__/node.test.js|10✔️|||170ms| |packages/jest-haste-map/src/crawlers/__tests__/node.test.js|10|||170ms|
|packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js|8✔️|||153ms| |packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js|8|||153ms|
|packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js|15✔️|||56ms| |packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js|15|||56ms|
|packages/jest-haste-map/src/lib/__tests__/fast_path.test.js|5✔️|||29ms| |packages/jest-haste-map/src/lib/__tests__/fast_path.test.js|5|||29ms|
|packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js|1✔️|||35ms| |packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js|1|||35ms|
|packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js|2✔️|||31ms| |packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js|2|||31ms|
|packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js|2✔️|||35ms| |packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js|2|||35ms|
|packages/jest-jasmine2/src/__tests__/concurrent.test.ts|3✔️|||24ms| |packages/jest-jasmine2/src/__tests__/concurrent.test.ts|3|||24ms|
|packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts|7✔️|||70ms| |packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts|7|||70ms|
|packages/jest-jasmine2/src/__tests__/hooksError.test.ts|32✔️|||51ms| |packages/jest-jasmine2/src/__tests__/hooksError.test.ts|32|||51ms|
|packages/jest-jasmine2/src/__tests__/iterators.test.ts|4✔️|||43ms| |packages/jest-jasmine2/src/__tests__/iterators.test.ts|4|||43ms|
|packages/jest-jasmine2/src/__tests__/itTestError.test.ts|6✔️|||32ms| |packages/jest-jasmine2/src/__tests__/itTestError.test.ts|6|||32ms|
|packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts|1✔️|||23ms| |packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts|1|||23ms|
|packages/jest-jasmine2/src/__tests__/pTimeout.test.ts|3✔️|||44ms| |packages/jest-jasmine2/src/__tests__/pTimeout.test.ts|3|||44ms|
|packages/jest-jasmine2/src/__tests__/queueRunner.test.ts|6✔️|||93ms| |packages/jest-jasmine2/src/__tests__/queueRunner.test.ts|6|||93ms|
|packages/jest-jasmine2/src/__tests__/reporter.test.ts|1✔️|||107ms| |packages/jest-jasmine2/src/__tests__/reporter.test.ts|1|||107ms|
|packages/jest-jasmine2/src/__tests__/Suite.test.ts|1✔️|||84ms| |packages/jest-jasmine2/src/__tests__/Suite.test.ts|1|||84ms|
|packages/jest-jasmine2/src/__tests__/todoError.test.ts|3✔️|||27ms| |packages/jest-jasmine2/src/__tests__/todoError.test.ts|3|||27ms|
|packages/jest-leak-detector/src/__tests__/index.test.ts|6✔️|||986ms| |packages/jest-leak-detector/src/__tests__/index.test.ts|6|||986ms|
|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts|11✔️|||49ms| |packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts|11|||49ms|
|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts|2✔️|||48ms| |packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts|2|||48ms|
|packages/jest-matcher-utils/src/__tests__/index.test.ts|48✔️|||391ms| |packages/jest-matcher-utils/src/__tests__/index.test.ts|48|||391ms|
|packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts|21✔️|||114ms| |packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts|21|||114ms|
|packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts|17✔️|||111ms| |packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts|17|||111ms|
|packages/jest-message-util/src/__tests__/messages.test.ts|11✔️|||205ms| |packages/jest-message-util/src/__tests__/messages.test.ts|11|||205ms|
|packages/jest-mock/src/__tests__/index.test.ts|84✔️|||509ms| |packages/jest-mock/src/__tests__/index.test.ts|84|||509ms|
|packages/jest-regex-util/src/__tests__/index.test.ts|8✔️|||56ms| |packages/jest-regex-util/src/__tests__/index.test.ts|8|||56ms|
|packages/jest-repl/src/__tests__/jest_repl.test.js|1✔️|||1s| |packages/jest-repl/src/__tests__/jest_repl.test.js|1|||1s|
|packages/jest-repl/src/__tests__/runtime_cli.test.js|4✔️|||4s| |packages/jest-repl/src/__tests__/runtime_cli.test.js|4|||4s|
|packages/jest-reporters/src/__tests__/CoverageReporter.test.js|12✔️|||397ms| |packages/jest-reporters/src/__tests__/CoverageReporter.test.js|12|||397ms|
|packages/jest-reporters/src/__tests__/CoverageWorker.test.js|2✔️|||199ms| |packages/jest-reporters/src/__tests__/CoverageWorker.test.js|2|||199ms|
|packages/jest-reporters/src/__tests__/DefaultReporter.test.js|2✔️|||148ms| |packages/jest-reporters/src/__tests__/DefaultReporter.test.js|2|||148ms|
|packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js|3✔️|||1s| |packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js|3|||1s|
|packages/jest-reporters/src/__tests__/getResultHeader.test.js|4✔️|||30ms| |packages/jest-reporters/src/__tests__/getResultHeader.test.js|4|||30ms|
|packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js|3✔️|||28ms| |packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js|3|||28ms|
|packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js|4✔️|||49ms| |packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js|4|||49ms|
|packages/jest-reporters/src/__tests__/getWatermarks.test.ts|2✔️|||37ms| |packages/jest-reporters/src/__tests__/getWatermarks.test.ts|2|||37ms|
|packages/jest-reporters/src/__tests__/NotifyReporter.test.ts|18✔️|||166ms| |packages/jest-reporters/src/__tests__/NotifyReporter.test.ts|18|||166ms|
|packages/jest-reporters/src/__tests__/SummaryReporter.test.js|4✔️|||366ms| |packages/jest-reporters/src/__tests__/SummaryReporter.test.js|4|||366ms|
|packages/jest-reporters/src/__tests__/utils.test.ts|10✔️|||85ms| |packages/jest-reporters/src/__tests__/utils.test.ts|10|||85ms|
|packages/jest-reporters/src/__tests__/VerboseReporter.test.js|11✔️|||425ms| |packages/jest-reporters/src/__tests__/VerboseReporter.test.js|11|||425ms|
|packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts|11✔️|||666ms| |packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts|11|||666ms|
|packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts|4✔️|||36ms| |packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts|4|||36ms|
|packages/jest-resolve/src/__tests__/resolve.test.ts|16✔️|||1s| |packages/jest-resolve/src/__tests__/resolve.test.ts|16|||1s|
|packages/jest-runner/src/__tests__/testRunner.test.ts|2✔️|||905ms| |packages/jest-runner/src/__tests__/testRunner.test.ts|2|||905ms|
|packages/jest-runtime/src/__tests__/instrumentation.test.ts|1✔️|||275ms| |packages/jest-runtime/src/__tests__/instrumentation.test.ts|1|||275ms|
|packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js|3✔️|||606ms| |packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js|3|||606ms|
|packages/jest-runtime/src/__tests__/runtime_environment.test.js|2✔️|||497ms| |packages/jest-runtime/src/__tests__/runtime_environment.test.js|2|||497ms|
|packages/jest-runtime/src/__tests__/runtime_internal_module.test.js|4✔️|||727ms| |packages/jest-runtime/src/__tests__/runtime_internal_module.test.js|4|||727ms|
|packages/jest-runtime/src/__tests__/runtime_jest_fn.js|4✔️|||479ms| |packages/jest-runtime/src/__tests__/runtime_jest_fn.js|4|||479ms|
|packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js|2✔️|||521ms| |packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js|2|||521ms|
|packages/jest-runtime/src/__tests__/runtime_mock.test.js|4✔️|||743ms| |packages/jest-runtime/src/__tests__/runtime_mock.test.js|4|||743ms|
|packages/jest-runtime/src/__tests__/runtime_module_directories.test.js|4✔️|||525ms| |packages/jest-runtime/src/__tests__/runtime_module_directories.test.js|4|||525ms|
|packages/jest-runtime/src/__tests__/runtime_node_path.test.js|4✔️|||1s| |packages/jest-runtime/src/__tests__/runtime_node_path.test.js|4|||1s|
|packages/jest-runtime/src/__tests__/runtime_require_actual.test.js|2✔️|||478ms| |packages/jest-runtime/src/__tests__/runtime_require_actual.test.js|2|||478ms|
|packages/jest-runtime/src/__tests__/runtime_require_cache.test.js|2✔️|||454ms| |packages/jest-runtime/src/__tests__/runtime_require_cache.test.js|2|||454ms|
|packages/jest-runtime/src/__tests__/runtime_require_mock.test.js|13✔️|||962ms| |packages/jest-runtime/src/__tests__/runtime_require_mock.test.js|13|||962ms|
|packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js|1✔️|||261ms| |packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js|1|||261ms|
|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js|6✔️|||2s| |packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js|6|||2s|
|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js|17✔️|||1s| |packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js|17|||1s|
|packages/jest-runtime/src/__tests__/runtime_require_module.test.js|27✔️|||2s| |packages/jest-runtime/src/__tests__/runtime_require_module.test.js|27|||2s|
|packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts|5✔️|||707ms| |packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts|5|||707ms|
|packages/jest-runtime/src/__tests__/runtime_wrap.js|2✔️|||263ms| |packages/jest-runtime/src/__tests__/runtime_wrap.js|2|||263ms|
|packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js|1✔️|||584ms| |packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js|1|||584ms|
|packages/jest-runtime/src/__tests__/Runtime-statics.test.js|2✔️|||162ms| |packages/jest-runtime/src/__tests__/Runtime-statics.test.js|2|||162ms|
|packages/jest-serializer/src/__tests__/index.test.ts|17✔️|||158ms| |packages/jest-serializer/src/__tests__/index.test.ts|17|||158ms|
|packages/jest-snapshot/src/__tests__/dedentLines.test.ts|17✔️|||94ms| |packages/jest-snapshot/src/__tests__/dedentLines.test.ts|17|||94ms|
|packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts|22✔️|||1s| |packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts|22|||1s|
|packages/jest-snapshot/src/__tests__/matcher.test.ts|1✔️|||131ms| |packages/jest-snapshot/src/__tests__/matcher.test.ts|1|||131ms|
|packages/jest-snapshot/src/__tests__/mockSerializer.test.ts|10✔️|||45ms| |packages/jest-snapshot/src/__tests__/mockSerializer.test.ts|10|||45ms|
|packages/jest-snapshot/src/__tests__/printSnapshot.test.ts|71✔️|||1s| |packages/jest-snapshot/src/__tests__/printSnapshot.test.ts|71|||1s|
|packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts|10✔️|||98ms| |packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts|10|||98ms|
|packages/jest-snapshot/src/__tests__/throwMatcher.test.ts|3✔️|||481ms| |packages/jest-snapshot/src/__tests__/throwMatcher.test.ts|3|||481ms|
|packages/jest-snapshot/src/__tests__/utils.test.ts|26✔️|||214ms| |packages/jest-snapshot/src/__tests__/utils.test.ts|26|||214ms|
|packages/jest-source-map/src/__tests__/getCallsite.test.ts|3✔️|||86ms| |packages/jest-source-map/src/__tests__/getCallsite.test.ts|3|||86ms|
|packages/jest-test-result/src/__tests__/formatTestResults.test.ts|1✔️|||53ms| |packages/jest-test-result/src/__tests__/formatTestResults.test.ts|1|||53ms|
|packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js|8✔️|||251ms| |packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js|8|||251ms|
|packages/jest-transform/src/__tests__/ScriptTransformer.test.ts|22✔️|||2s| |packages/jest-transform/src/__tests__/ScriptTransformer.test.ts|22|||2s|
|packages/jest-transform/src/__tests__/shouldInstrument.test.ts|25✔️|||155ms| |packages/jest-transform/src/__tests__/shouldInstrument.test.ts|25|||155ms|
|packages/jest-util/src/__tests__/createProcessObject.test.ts|4✔️|||81ms| |packages/jest-util/src/__tests__/createProcessObject.test.ts|4|||81ms|
|packages/jest-util/src/__tests__/deepCyclicCopy.test.ts|12✔️|||86ms| |packages/jest-util/src/__tests__/deepCyclicCopy.test.ts|12|||86ms|
|packages/jest-util/src/__tests__/errorWithStack.test.ts|1✔️|||41ms| |packages/jest-util/src/__tests__/errorWithStack.test.ts|1|||41ms|
|packages/jest-util/src/__tests__/formatTime.test.ts|11✔️|||82ms| |packages/jest-util/src/__tests__/formatTime.test.ts|11|||82ms|
|packages/jest-util/src/__tests__/globsToMatcher.test.ts|4✔️|||56ms| |packages/jest-util/src/__tests__/globsToMatcher.test.ts|4|||56ms|
|packages/jest-util/src/__tests__/installCommonGlobals.test.ts|2✔️|||68ms| |packages/jest-util/src/__tests__/installCommonGlobals.test.ts|2|||68ms|
|packages/jest-util/src/__tests__/isInteractive.test.ts|2✔️|||35ms| |packages/jest-util/src/__tests__/isInteractive.test.ts|2|||35ms|
|packages/jest-util/src/__tests__/isPromise.test.ts|10✔️|||30ms| |packages/jest-util/src/__tests__/isPromise.test.ts|10|||30ms|
|packages/jest-validate/src/__tests__/validate.test.ts|23✔️|||283ms| |packages/jest-validate/src/__tests__/validate.test.ts|23|||283ms|
|packages/jest-validate/src/__tests__/validateCLIOptions.test.js|6✔️|||83ms| |packages/jest-validate/src/__tests__/validateCLIOptions.test.js|6|||83ms|
|packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts|11✔️|||129ms| |packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts|11|||129ms|
|packages/jest-watcher/src/lib/__tests__/prompt.test.ts|3✔️|||91ms| |packages/jest-watcher/src/lib/__tests__/prompt.test.ts|3|||91ms|
|packages/jest-watcher/src/lib/__tests__/scroll.test.ts|5✔️|||57ms| |packages/jest-watcher/src/lib/__tests__/scroll.test.ts|5|||57ms|
|packages/jest-worker/src/__tests__/Farm.test.js|10✔️|||158ms| |packages/jest-worker/src/__tests__/Farm.test.js|10|||158ms|
|packages/jest-worker/src/__tests__/FifoQueue.test.js|3✔️|||48ms| |packages/jest-worker/src/__tests__/FifoQueue.test.js|3|||48ms|
|packages/jest-worker/src/__tests__/index.test.js|8✔️|||230ms| |packages/jest-worker/src/__tests__/index.test.js|8|||230ms|
|packages/jest-worker/src/__tests__/PriorityQueue.test.js|5✔️|||63ms| |packages/jest-worker/src/__tests__/PriorityQueue.test.js|5|||63ms|
|packages/jest-worker/src/__tests__/process-integration.test.js|5✔️|||62ms| |packages/jest-worker/src/__tests__/process-integration.test.js|5|||62ms|
|packages/jest-worker/src/__tests__/thread-integration.test.js|6✔️|||114ms| |packages/jest-worker/src/__tests__/thread-integration.test.js|6|||114ms|
|packages/jest-worker/src/__tests__/WorkerPool.test.js|3✔️|||51ms| |packages/jest-worker/src/__tests__/WorkerPool.test.js|3|||51ms|
|packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js|11✔️|||653ms| |packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js|11|||653ms|
|packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js|17✔️|||184ms| |packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js|17|||184ms|
|packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js|15✔️|||258ms| |packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js|15|||258ms|
|packages/jest-worker/src/workers/__tests__/processChild.test.js|10✔️|||135ms| |packages/jest-worker/src/workers/__tests__/processChild.test.js|10|||135ms|
|packages/jest-worker/src/workers/__tests__/threadChild.test.js|10✔️|||120ms| |packages/jest-worker/src/workers/__tests__/threadChild.test.js|10|||120ms|
|packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts|38✔️|||137ms| |packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts|38|||137ms|
|packages/pretty-format/src/__tests__/ConvertAnsi.test.ts|6✔️|||43ms| |packages/pretty-format/src/__tests__/ConvertAnsi.test.ts|6|||43ms|
|packages/pretty-format/src/__tests__/DOMCollection.test.ts|10✔️|||64ms| |packages/pretty-format/src/__tests__/DOMCollection.test.ts|10|||64ms|
|packages/pretty-format/src/__tests__/DOMElement.test.ts|28✔️|||148ms| |packages/pretty-format/src/__tests__/DOMElement.test.ts|28|||148ms|
|packages/pretty-format/src/__tests__/Immutable.test.ts|111✔️|||443ms| |packages/pretty-format/src/__tests__/Immutable.test.ts|111|||443ms|
|packages/pretty-format/src/__tests__/prettyFormat.test.ts|86✔️|||219ms| |packages/pretty-format/src/__tests__/prettyFormat.test.ts|86|||219ms|
|packages/pretty-format/src/__tests__/react.test.tsx|55✔️|||325ms| |packages/pretty-format/src/__tests__/react.test.tsx|55|||325ms|
|packages/pretty-format/src/__tests__/ReactElement.test.ts|3✔️|||64ms| |packages/pretty-format/src/__tests__/ReactElement.test.ts|3|||64ms|
### ❌ <a id="user-content-r0s75" href="#r0s75">e2e/__tests__/jestChangedFiles.test.ts</a> ### ❌ <a id="user-content-r0s75" href="#r0s75">e2e/__tests__/jestChangedFiles.test.ts</a>
``` ```
✔️ gets hg SCM roots and dedupes them gets hg SCM roots and dedupes them
✔️ gets git SCM roots and dedupes them gets git SCM roots and dedupes them
✔️ gets mixed git and hg SCM roots and dedupes them gets mixed git and hg SCM roots and dedupes them
✔️ gets changed files for git gets changed files for git
✔️ monitors only root paths for git monitors only root paths for git
✔️ does not find changes in files with no diff, for git does not find changes in files with no diff, for git
✔️ handles a bad revision for "changedSince", for git handles a bad revision for "changedSince", for git
❌ gets changed files for hg ❌ gets changed files for hg
Error: abort: empty revision range Error: abort: empty revision range
✔️ monitors only root paths for hg monitors only root paths for hg
✔️ handles a bad revision for "changedSince", for hg handles a bad revision for "changedSince", for hg
``` ```
### ❌ <a id="user-content-r0s98" href="#r0s98">e2e/__tests__/onlyChanged.test.ts</a> ### ❌ <a id="user-content-r0s98" href="#r0s98">e2e/__tests__/onlyChanged.test.ts</a>
``` ```
✔️ run for "onlyChanged" and "changedSince" run for "onlyChanged" and "changedSince"
✔️ run only changed files run only changed files
✔️ report test coverage for only changed files report test coverage for only changed files
✔️ report test coverage of source on test file change under only changed files report test coverage of source on test file change under only changed files
✔️ do not pickup non-tested files when reporting coverage on only changed files do not pickup non-tested files when reporting coverage on only changed files
✔️ collect test coverage when using onlyChanged collect test coverage when using onlyChanged
✔️ onlyChanged in config is overwritten by --all or testPathPattern onlyChanged in config is overwritten by --all or testPathPattern
❌ gets changed files for hg ❌ gets changed files for hg
Error: expect(received).toMatch(expected) Error: expect(received).toMatch(expected)
✔️ path on Windows is case-insensitive path on Windows is case-insensitive
``` ```

View file

@ -3,12 +3,12 @@
**6** tests were completed in **12ms** with **1** passed, **4** failed and **1** skipped. **6** tests were completed in **12ms** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[test/main.test.js](#r0s0)|1✔️|3❌||1ms| |[test/main.test.js](#r0s0)|1|3❌||1ms|
|[test/second.test.js](#r0s1)||1❌|1✖️|8ms| |[test/second.test.js](#r0s1)||1❌|1|8ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">test/main.test.js</a> ### ❌ <a id="user-content-r0s0" href="#r0s0">test/main.test.js</a>
``` ```
Test 1 Test 1
✔️ Passing test Passing test
Test 1 Test 1.1 Test 1 Test 1.1
❌ Exception in target unit ❌ Exception in target unit
Some error Some error
@ -23,7 +23,7 @@ Test 2
``` ```
### ❌ <a id="user-content-r0s1" href="#r0s1">test/second.test.js</a> ### ❌ <a id="user-content-r0s1" href="#r0s1">test/second.test.js</a>
``` ```
✖️ Skipped test Skipped test
❌ Timeout test ❌ Timeout test
Timeout of 1ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Michal\Workspace\dorny\test-reporter\reports\mocha\test\second.test.js) Timeout of 1ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Michal\Workspace\dorny\test-reporter\reports\mocha\test\second.test.js)
``` ```

View file

@ -1,41 +1,41 @@
![Tests passed successfully](https://img.shields.io/badge/tests-833%20passed%2C%206%20skipped-success) ![Tests passed successfully](https://img.shields.io/badge/tests-833%20passed%2C%206%20skipped-success)
## ✔️ <a id="user-content-r0" href="#r0">fixtures/external/mocha/mocha-test-results.json</a> ##  <a id="user-content-r0" href="#r0">fixtures/external/mocha/mocha-test-results.json</a>
**839** tests were completed in **6s** with **833** passed, **0** failed and **6** skipped. **839** tests were completed in **6s** with **833** passed, **0** failed and **6** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|test/node-unit/buffered-worker-pool.spec.js|14✔️|||8ms| |test/node-unit/buffered-worker-pool.spec.js|14|||8ms|
|test/node-unit/cli/config.spec.js|10✔️|||8ms| |test/node-unit/cli/config.spec.js|10|||8ms|
|test/node-unit/cli/node-flags.spec.js|105✔️|||9ms| |test/node-unit/cli/node-flags.spec.js|105|||9ms|
|test/node-unit/cli/options.spec.js|36✔️|||250ms| |test/node-unit/cli/options.spec.js|36|||250ms|
|test/node-unit/cli/run-helpers.spec.js|9✔️|||8ms| |test/node-unit/cli/run-helpers.spec.js|9|||8ms|
|test/node-unit/cli/run.spec.js|40✔️|||4ms| |test/node-unit/cli/run.spec.js|40|||4ms|
|test/node-unit/mocha.spec.js|24✔️|||33ms| |test/node-unit/mocha.spec.js|24|||33ms|
|test/node-unit/parallel-buffered-runner.spec.js|19✔️|||23ms| |test/node-unit/parallel-buffered-runner.spec.js|19|||23ms|
|test/node-unit/reporters/parallel-buffered.spec.js|6✔️|||16ms| |test/node-unit/reporters/parallel-buffered.spec.js|6|||16ms|
|test/node-unit/serializer.spec.js|40✔️|||31ms| |test/node-unit/serializer.spec.js|40|||31ms|
|test/node-unit/stack-trace-filter.spec.js|2✔️||4✖|1ms| |test/node-unit/stack-trace-filter.spec.js|2✅||4⚪|1ms|
|test/node-unit/utils.spec.js|5✔️|||1ms| |test/node-unit/utils.spec.js|5|||1ms|
|test/node-unit/worker.spec.js|15✔️|||92ms| |test/node-unit/worker.spec.js|15|||92ms|
|test/unit/context.spec.js|8✔️|||5ms| |test/unit/context.spec.js|8|||5ms|
|test/unit/duration.spec.js|3✔️|||166ms| |test/unit/duration.spec.js|3|||166ms|
|test/unit/errors.spec.js|13✔️|||5ms| |test/unit/errors.spec.js|13|||5ms|
|test/unit/globals.spec.js|4✔️|||0ms| |test/unit/globals.spec.js|4|||0ms|
|test/unit/grep.spec.js|8✔️|||2ms| |test/unit/grep.spec.js|8|||2ms|
|test/unit/hook-async.spec.js|3✔️|||1ms| |test/unit/hook-async.spec.js|3|||1ms|
|test/unit/hook-sync-nested.spec.js|4✔️|||1ms| |test/unit/hook-sync-nested.spec.js|4|||1ms|
|test/unit/hook-sync.spec.js|3✔️|||0ms| |test/unit/hook-sync.spec.js|3|||0ms|
|test/unit/hook-timeout.spec.js|1✔️|||0ms| |test/unit/hook-timeout.spec.js|1|||0ms|
|test/unit/hook.spec.js|4✔️|||0ms| |test/unit/hook.spec.js|4|||0ms|
|test/unit/mocha.spec.js|115✔️||1✖|128ms| |test/unit/mocha.spec.js|115✅||1⚪|128ms|
|test/unit/overspecified-async.spec.js|1✔️|||3ms| |test/unit/overspecified-async.spec.js|1|||3ms|
|test/unit/parse-query.spec.js|2✔️|||1ms| |test/unit/parse-query.spec.js|2|||1ms|
|test/unit/plugin-loader.spec.js|41✔️||1✖|16ms| |test/unit/plugin-loader.spec.js|41✅||1⚪|16ms|
|test/unit/required-tokens.spec.js|1✔️|||0ms| |test/unit/required-tokens.spec.js|1|||0ms|
|test/unit/root.spec.js|1✔️|||0ms| |test/unit/root.spec.js|1|||0ms|
|test/unit/runnable.spec.js|55✔️|||122ms| |test/unit/runnable.spec.js|55|||122ms|
|test/unit/runner.spec.js|77✔️|||43ms| |test/unit/runner.spec.js|77|||43ms|
|test/unit/suite.spec.js|57✔️|||14ms| |test/unit/suite.spec.js|57|||14ms|
|test/unit/test.spec.js|15✔️|||0ms| |test/unit/test.spec.js|15|||0ms|
|test/unit/throw.spec.js|9✔️|||9ms| |test/unit/throw.spec.js|9|||9ms|
|test/unit/timeout.spec.js|8✔️|||109ms| |test/unit/timeout.spec.js|8|||109ms|
|test/unit/utils.spec.js|75✔️|||24ms| |test/unit/utils.spec.js|75|||24ms|

View file

@ -3,368 +3,368 @@
**269** tests were completed in **0ms** with **268** passed, **1** failed and **0** skipped. **269** tests were completed in **0ms** with **268** passed, **1** failed and **0** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[test/builder_test.dart](#r0s0)|24✔️|||402ms| |[test/builder_test.dart](#r0s0)|24|||402ms|
|[test/change_notifier_provider_test.dart](#r0s1)|10✔️|||306ms| |[test/change_notifier_provider_test.dart](#r0s1)|10|||306ms|
|[test/consumer_test.dart](#r0s2)|18✔️|||340ms| |[test/consumer_test.dart](#r0s2)|18|||340ms|
|[test/context_test.dart](#r0s3)|31✔️|||698ms| |[test/context_test.dart](#r0s3)|31|||698ms|
|[test/future_provider_test.dart](#r0s4)|10✔️|||305ms| |[test/future_provider_test.dart](#r0s4)|10|||305ms|
|[test/inherited_provider_test.dart](#r0s5)|81✔️|||1s| |[test/inherited_provider_test.dart](#r0s5)|81|||1s|
|[test/listenable_provider_test.dart](#r0s6)|16✔️|||353ms| |[test/listenable_provider_test.dart](#r0s6)|16|||353ms|
|[test/listenable_proxy_provider_test.dart](#r0s7)|12✔️|||373ms| |[test/listenable_proxy_provider_test.dart](#r0s7)|12|||373ms|
|[test/multi_provider_test.dart](#r0s8)|3✔️|||198ms| |[test/multi_provider_test.dart](#r0s8)|3|||198ms|
|[test/provider_test.dart](#r0s9)|11✔️|||306ms| |[test/provider_test.dart](#r0s9)|11|||306ms|
|[test/proxy_provider_test.dart](#r0s10)|16✔️|||438ms| |[test/proxy_provider_test.dart](#r0s10)|16|||438ms|
|[test/reassemble_test.dart](#r0s11)|3✔️|||221ms| |[test/reassemble_test.dart](#r0s11)|3|||221ms|
|[test/selector_test.dart](#r0s12)|17✔️|||364ms| |[test/selector_test.dart](#r0s12)|17|||364ms|
|[test/stateful_provider_test.dart](#r0s13)|4✔️|||254ms| |[test/stateful_provider_test.dart](#r0s13)|4|||254ms|
|[test/stream_provider_test.dart](#r0s14)|8✔️|||282ms| |[test/stream_provider_test.dart](#r0s14)|8|||282ms|
|[test/value_listenable_provider_test.dart](#r0s15)|4✔️|1❌||327ms| |[test/value_listenable_provider_test.dart](#r0s15)|4|1❌||327ms|
### ✔️ <a id="user-content-r0s0" href="#r0s0">test/builder_test.dart</a> ###  <a id="user-content-r0s0" href="#r0s0">test/builder_test.dart</a>
``` ```
ChangeNotifierProvider ChangeNotifierProvider
✔️ default default
✔️ .value .value
ListenableProvider ListenableProvider
✔️ default default
✔️ .value .value
Provider Provider
✔️ default default
✔️ .value .value
ProxyProvider ProxyProvider
✔️ 0 0
✔️ 1 1
✔️ 2 2
✔️ 3 3
✔️ 4 4
✔️ 5 5
✔️ 6 6
MultiProvider MultiProvider
✔️ with 1 ChangeNotifierProvider default with 1 ChangeNotifierProvider default
✔️ with 2 ChangeNotifierProvider default with 2 ChangeNotifierProvider default
✔️ with ListenableProvider default with ListenableProvider default
✔️ with Provider default with Provider default
✔️ with ProxyProvider0 with ProxyProvider0
✔️ with ProxyProvider1 with ProxyProvider1
✔️ with ProxyProvider2 with ProxyProvider2
✔️ with ProxyProvider3 with ProxyProvider3
✔️ with ProxyProvider4 with ProxyProvider4
✔️ with ProxyProvider5 with ProxyProvider5
✔️ with ProxyProvider6 with ProxyProvider6
``` ```
### ✔️ <a id="user-content-r0s1" href="#r0s1">test/change_notifier_provider_test.dart</a> ###  <a id="user-content-r0s1" href="#r0s1">test/change_notifier_provider_test.dart</a>
``` ```
✔️ Use builder property, not child Use builder property, not child
ChangeNotifierProvider ChangeNotifierProvider
✔️ value value
✔️ builder builder
✔️ builder1 builder1
✔️ builder2 builder2
✔️ builder3 builder3
✔️ builder4 builder4
✔️ builder5 builder5
✔️ builder6 builder6
✔️ builder0 builder0
``` ```
### ✔️ <a id="user-content-r0s2" href="#r0s2">test/consumer_test.dart</a> ###  <a id="user-content-r0s2" href="#r0s2">test/consumer_test.dart</a>
``` ```
consumer consumer
✔️ obtains value from Provider<T> obtains value from Provider<T>
✔️ crashed with no builder crashed with no builder
✔️ can be used inside MultiProvider can be used inside MultiProvider
consumer2 consumer2
✔️ obtains value from Provider<T> obtains value from Provider<T>
✔️ crashed with no builder crashed with no builder
✔️ can be used inside MultiProvider can be used inside MultiProvider
consumer3 consumer3
✔️ obtains value from Provider<T> obtains value from Provider<T>
✔️ crashed with no builder crashed with no builder
✔️ can be used inside MultiProvider can be used inside MultiProvider
consumer4 consumer4
✔️ obtains value from Provider<T> obtains value from Provider<T>
✔️ crashed with no builder crashed with no builder
✔️ can be used inside MultiProvider can be used inside MultiProvider
consumer5 consumer5
✔️ obtains value from Provider<T> obtains value from Provider<T>
✔️ crashed with no builder crashed with no builder
✔️ can be used inside MultiProvider can be used inside MultiProvider
consumer6 consumer6
✔️ obtains value from Provider<T> obtains value from Provider<T>
✔️ crashed with no builder crashed with no builder
✔️ can be used inside MultiProvider can be used inside MultiProvider
``` ```
### ✔️ <a id="user-content-r0s3" href="#r0s3">test/context_test.dart</a> ###  <a id="user-content-r0s3" href="#r0s3">test/context_test.dart</a>
``` ```
✔️ watch in layoutbuilder watch in layoutbuilder
✔️ select in layoutbuilder select in layoutbuilder
✔️ cannot select in listView cannot select in listView
✔️ watch in listView watch in listView
✔️ watch in gridView watch in gridView
✔️ clears select dependencies for all dependents clears select dependencies for all dependents
BuildContext BuildContext
✔️ internal selected value is updated internal selected value is updated
✔️ create can use read without being lazy create can use read without being lazy
✔️ watch can be used inside InheritedProvider.update watch can be used inside InheritedProvider.update
✔️ select doesn't fail if it loads a provider that depends on other providers select doesn't fail if it loads a provider that depends on other providers
✔️ don't call old selectors if the child rebuilds individually don't call old selectors if the child rebuilds individually
✔️ selects throws inside click handlers selects throws inside click handlers
✔️ select throws if try to read dynamic select throws if try to read dynamic
✔️ select throws ProviderNotFoundException select throws ProviderNotFoundException
✔️ select throws if watch called inside the callback from build select throws if watch called inside the callback from build
✔️ select throws if read called inside the callback from build select throws if read called inside the callback from build
✔️ select throws if select called inside the callback from build select throws if select called inside the callback from build
✔️ select throws if read called inside the callback on dependency change select throws if read called inside the callback on dependency change
✔️ select throws if watch called inside the callback on dependency change select throws if watch called inside the callback on dependency change
✔️ select throws if select called inside the callback on dependency change select throws if select called inside the callback on dependency change
✔️ can call read inside didChangeDependencies can call read inside didChangeDependencies
✔️ select cannot be called inside didChangeDependencies select cannot be called inside didChangeDependencies
✔️ select in initState throws select in initState throws
✔️ watch in initState throws watch in initState throws
✔️ read in initState works read in initState works
✔️ consumer can be removed and selector stops to be called consumer can be removed and selector stops to be called
✔️ context.select deeply compares maps context.select deeply compares maps
✔️ context.select deeply compares lists context.select deeply compares lists
✔️ context.select deeply compares iterables context.select deeply compares iterables
✔️ context.select deeply compares sets context.select deeply compares sets
✔️ context.watch listens to value changes context.watch listens to value changes
``` ```
### ✔️ <a id="user-content-r0s4" href="#r0s4">test/future_provider_test.dart</a> ###  <a id="user-content-r0s4" href="#r0s4">test/future_provider_test.dart</a>
``` ```
✔️ works with MultiProvider works with MultiProvider
✔️ (catchError) previous future completes after transition is no-op (catchError) previous future completes after transition is no-op
✔️ previous future completes after transition is no-op previous future completes after transition is no-op
✔️ transition from future to future preserve state transition from future to future preserve state
✔️ throws if future has error and catchError is missing throws if future has error and catchError is missing
✔️ calls catchError if present and future has error calls catchError if present and future has error
✔️ works with null works with null
✔️ create and dispose future with builder create and dispose future with builder
✔️ FutureProvider() crashes if builder is null FutureProvider() crashes if builder is null
FutureProvider() FutureProvider()
✔️ crashes if builder is null crashes if builder is null
``` ```
### ✔️ <a id="user-content-r0s5" href="#r0s5">test/inherited_provider_test.dart</a> ###  <a id="user-content-r0s5" href="#r0s5">test/inherited_provider_test.dart</a>
``` ```
✔️ regression test #377 regression test #377
✔️ rebuild on dependency flags update rebuild on dependency flags update
✔️ properly update debug flags if a create triggers another deferred create properly update debug flags if a create triggers another deferred create
✔️ properly update debug flags if a create triggers another deferred create properly update debug flags if a create triggers another deferred create
✔️ properly update debug flags if an update triggers another create/update properly update debug flags if an update triggers another create/update
✔️ properly update debug flags if a create triggers another create/update properly update debug flags if a create triggers another create/update
✔️ Provider.of(listen: false) outside of build works when it loads a provider Provider.of(listen: false) outside of build works when it loads a provider
✔️ new value is available in didChangeDependencies new value is available in didChangeDependencies
✔️ builder receives the current value and updates independently from `update` builder receives the current value and updates independently from `update`
✔️ builder can _not_ rebuild when provider updates builder can _not_ rebuild when provider updates
✔️ builder rebuilds if provider is recreated builder rebuilds if provider is recreated
✔️ provider.of throws if listen:true outside of the widget tree provider.of throws if listen:true outside of the widget tree
✔️ InheritedProvider throws if no child is provided with default constructor InheritedProvider throws if no child is provided with default constructor
✔️ InheritedProvider throws if no child is provided with value constructor InheritedProvider throws if no child is provided with value constructor
✔️ DeferredInheritedProvider throws if no child is provided with default constructor DeferredInheritedProvider throws if no child is provided with default constructor
✔️ DeferredInheritedProvider throws if no child is provided with value constructor DeferredInheritedProvider throws if no child is provided with value constructor
✔️ startListening markNeedsNotifyDependents startListening markNeedsNotifyDependents
✔️ InheritedProvider can be subclassed InheritedProvider can be subclassed
✔️ DeferredInheritedProvider can be subclassed DeferredInheritedProvider can be subclassed
✔️ can be used with MultiProvider can be used with MultiProvider
✔️ throw if the widget ctor changes throw if the widget ctor changes
✔️ InheritedProvider lazy loading can be disabled InheritedProvider lazy loading can be disabled
✔️ InheritedProvider.value lazy loading can be disabled InheritedProvider.value lazy loading can be disabled
✔️ InheritedProvider subclass don't have to specify default lazy value InheritedProvider subclass don't have to specify default lazy value
✔️ DeferredInheritedProvider lazy loading can be disabled DeferredInheritedProvider lazy loading can be disabled
✔️ DeferredInheritedProvider.value lazy loading can be disabled DeferredInheritedProvider.value lazy loading can be disabled
✔️ selector selector
✔️ can select multiple types from same provider can select multiple types from same provider
✔️ can select same type on two different providers can select same type on two different providers
✔️ can select same type twice on same provider can select same type twice on same provider
✔️ Provider.of has a proper error message if context is null Provider.of has a proper error message if context is null
diagnostics diagnostics
✔️ InheritedProvider.value InheritedProvider.value
✔️ InheritedProvider doesn't break lazy loading InheritedProvider doesn't break lazy loading
✔️ InheritedProvider show if listening InheritedProvider show if listening
✔️ DeferredInheritedProvider.value DeferredInheritedProvider.value
✔️ DeferredInheritedProvider DeferredInheritedProvider
InheritedProvider.value() InheritedProvider.value()
✔️ markNeedsNotifyDependents during startListening is noop markNeedsNotifyDependents during startListening is noop
✔️ startListening called again when create returns new value startListening called again when create returns new value
✔️ startListening startListening
✔️ stopListening not called twice if rebuild doesn't have listeners stopListening not called twice if rebuild doesn't have listeners
✔️ removeListener cannot be null removeListener cannot be null
✔️ pass down current value pass down current value
✔️ default updateShouldNotify default updateShouldNotify
✔️ custom updateShouldNotify custom updateShouldNotify
InheritedProvider() InheritedProvider()
✔️ hasValue hasValue
✔️ provider calls update if rebuilding only due to didChangeDependencies provider calls update if rebuilding only due to didChangeDependencies
✔️ provider notifying dependents doesn't call update provider notifying dependents doesn't call update
✔️ update can call Provider.of with listen:true update can call Provider.of with listen:true
✔️ update lazy loaded can call Provider.of with listen:true update lazy loaded can call Provider.of with listen:true
✔️ markNeedsNotifyDependents during startListening is noop markNeedsNotifyDependents during startListening is noop
✔️ update can obtain parent of the same type than self update can obtain parent of the same type than self
✔️ _debugCheckInvalidValueType _debugCheckInvalidValueType
✔️ startListening startListening
✔️ startListening called again when create returns new value startListening called again when create returns new value
✔️ stopListening not called twice if rebuild doesn't have listeners stopListening not called twice if rebuild doesn't have listeners
✔️ removeListener cannot be null removeListener cannot be null
✔️ fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType
✔️ builder is called on every rebuild and after a dependency change builder is called on every rebuild and after a dependency change
✔️ builder with no updateShouldNotify use == builder with no updateShouldNotify use ==
✔️ builder calls updateShouldNotify callback builder calls updateShouldNotify callback
✔️ initialValue is transmitted to valueBuilder initialValue is transmitted to valueBuilder
✔️ calls builder again if dependencies change calls builder again if dependencies change
✔️ exposes initialValue if valueBuilder is null exposes initialValue if valueBuilder is null
✔️ call dispose on unmount call dispose on unmount
✔️ builder unmount, dispose not called if value never read builder unmount, dispose not called if value never read
✔️ call dispose after new value call dispose after new value
✔️ valueBuilder works without initialBuilder valueBuilder works without initialBuilder
✔️ calls initialValueBuilder lazily once calls initialValueBuilder lazily once
✔️ throws if both builder and initialBuilder are missing throws if both builder and initialBuilder are missing
DeferredInheritedProvider.value() DeferredInheritedProvider.value()
✔️ hasValue hasValue
✔️ startListening startListening
✔️ stopListening cannot be null stopListening cannot be null
✔️ startListening doesn't need setState if already initialized startListening doesn't need setState if already initialized
✔️ setState without updateShouldNotify setState without updateShouldNotify
✔️ setState with updateShouldNotify setState with updateShouldNotify
✔️ startListening never leave the widget uninitialized startListening never leave the widget uninitialized
✔️ startListening called again on controller change startListening called again on controller change
DeferredInheritedProvider() DeferredInheritedProvider()
✔️ create can't call inherited widgets create can't call inherited widgets
✔️ creates the value lazily creates the value lazily
✔️ dispose dispose
✔️ dispose no-op if never built dispose no-op if never built
``` ```
### ✔️ <a id="user-content-r0s6" href="#r0s6">test/listenable_provider_test.dart</a> ###  <a id="user-content-r0s6" href="#r0s6">test/listenable_provider_test.dart</a>
``` ```
ListenableProvider ListenableProvider
✔️ works with MultiProvider works with MultiProvider
✔️ asserts that the created notifier can have listeners asserts that the created notifier can have listeners
✔️ don't listen again if listenable instance doesn't change don't listen again if listenable instance doesn't change
✔️ works with null (default) works with null (default)
✔️ works with null (create) works with null (create)
✔️ stateful create called once stateful create called once
✔️ dispose called on unmount dispose called on unmount
✔️ dispose can be null dispose can be null
✔️ changing listenable rebuilds descendants changing listenable rebuilds descendants
✔️ rebuilding with the same provider don't rebuilds descendants rebuilding with the same provider don't rebuilds descendants
✔️ notifylistener rebuilds descendants notifylistener rebuilds descendants
ListenableProvider value constructor ListenableProvider value constructor
✔️ pass down key pass down key
✔️ changing the Listenable instance rebuilds dependents changing the Listenable instance rebuilds dependents
ListenableProvider stateful constructor ListenableProvider stateful constructor
✔️ called with context called with context
✔️ pass down key pass down key
✔️ throws if create is null throws if create is null
``` ```
### ✔️ <a id="user-content-r0s7" href="#r0s7">test/listenable_proxy_provider_test.dart</a> ###  <a id="user-content-r0s7" href="#r0s7">test/listenable_proxy_provider_test.dart</a>
``` ```
ListenableProxyProvider ListenableProxyProvider
✔️ throws if update is missing throws if update is missing
✔️ asserts that the created notifier has no listener asserts that the created notifier has no listener
✔️ asserts that the created notifier has no listener after rebuild asserts that the created notifier has no listener after rebuild
✔️ rebuilds dependendents when listeners are called rebuilds dependendents when listeners are called
✔️ update returning a new Listenable disposes the previously created value and update dependents update returning a new Listenable disposes the previously created value and update dependents
✔️ disposes of created value disposes of created value
ListenableProxyProvider variants ListenableProxyProvider variants
✔️ ListenableProxyProvider ListenableProxyProvider
✔️ ListenableProxyProvider2 ListenableProxyProvider2
✔️ ListenableProxyProvider3 ListenableProxyProvider3
✔️ ListenableProxyProvider4 ListenableProxyProvider4
✔️ ListenableProxyProvider5 ListenableProxyProvider5
✔️ ListenableProxyProvider6 ListenableProxyProvider6
``` ```
### ✔️ <a id="user-content-r0s8" href="#r0s8">test/multi_provider_test.dart</a> ###  <a id="user-content-r0s8" href="#r0s8">test/multi_provider_test.dart</a>
``` ```
MultiProvider MultiProvider
✔️ throw if providers is null throw if providers is null
✔️ MultiProvider children can only access parent providers MultiProvider children can only access parent providers
✔️ MultiProvider.providers with ignored child MultiProvider.providers with ignored child
``` ```
### ✔️ <a id="user-content-r0s9" href="#r0s9">test/provider_test.dart</a> ###  <a id="user-content-r0s9" href="#r0s9">test/provider_test.dart</a>
``` ```
✔️ works with MultiProvider works with MultiProvider
Provider.of Provider.of
✔️ throws if T is dynamic throws if T is dynamic
✔️ listen defaults to true when building widgets listen defaults to true when building widgets
✔️ listen defaults to false outside of the widget tree listen defaults to false outside of the widget tree
✔️ listen:false doesn't trigger rebuild listen:false doesn't trigger rebuild
✔️ listen:true outside of the widget tree throws listen:true outside of the widget tree throws
Provider Provider
✔️ throws if the provided value is a Listenable/Stream throws if the provided value is a Listenable/Stream
✔️ debugCheckInvalidValueType can be disabled debugCheckInvalidValueType can be disabled
✔️ simple usage simple usage
✔️ throws an error if no provider found throws an error if no provider found
✔️ update should notify update should notify
``` ```
### ✔️ <a id="user-content-r0s10" href="#r0s10">test/proxy_provider_test.dart</a> ###  <a id="user-content-r0s10" href="#r0s10">test/proxy_provider_test.dart</a>
``` ```
ProxyProvider ProxyProvider
✔️ throws if the provided value is a Listenable/Stream throws if the provided value is a Listenable/Stream
✔️ debugCheckInvalidValueType can be disabled debugCheckInvalidValueType can be disabled
✔️ create creates initial value create creates initial value
✔️ consume another providers consume another providers
✔️ rebuild descendants if value change rebuild descendants if value change
✔️ call dispose when unmounted with the latest result call dispose when unmounted with the latest result
✔️ don't rebuild descendants if value doesn't change don't rebuild descendants if value doesn't change
✔️ pass down updateShouldNotify pass down updateShouldNotify
✔️ works with MultiProvider works with MultiProvider
✔️ update callback can trigger descendants setState synchronously update callback can trigger descendants setState synchronously
✔️ throws if update is null throws if update is null
ProxyProvider variants ProxyProvider variants
✔️ ProxyProvider2 ProxyProvider2
✔️ ProxyProvider3 ProxyProvider3
✔️ ProxyProvider4 ProxyProvider4
✔️ ProxyProvider5 ProxyProvider5
✔️ ProxyProvider6 ProxyProvider6
``` ```
### ✔️ <a id="user-content-r0s11" href="#r0s11">test/reassemble_test.dart</a> ###  <a id="user-content-r0s11" href="#r0s11">test/reassemble_test.dart</a>
``` ```
✔️ ReassembleHandler ReassembleHandler
✔️ unevaluated create unevaluated create
✔️ unevaluated create unevaluated create
``` ```
### ✔️ <a id="user-content-r0s12" href="#r0s12">test/selector_test.dart</a> ###  <a id="user-content-r0s12" href="#r0s12">test/selector_test.dart</a>
``` ```
✔️ asserts that builder/selector are not null asserts that builder/selector are not null
✔️ Deep compare maps by default Deep compare maps by default
✔️ Deep compare iterables by default Deep compare iterables by default
✔️ Deep compare sets by default Deep compare sets by default
✔️ Deep compare lists by default Deep compare lists by default
✔️ custom shouldRebuid custom shouldRebuid
✔️ passes `child` and `key` passes `child` and `key`
✔️ calls builder if the callback changes calls builder if the callback changes
✔️ works with MultiProvider works with MultiProvider
✔️ don't call builder again if it rebuilds but selector returns the same thing don't call builder again if it rebuilds but selector returns the same thing
✔️ call builder again if it rebuilds abd selector returns the a different variable call builder again if it rebuilds abd selector returns the a different variable
✔️ Selector Selector
✔️ Selector2 Selector2
✔️ Selector3 Selector3
✔️ Selector4 Selector4
✔️ Selector5 Selector5
✔️ Selector6 Selector6
``` ```
### ✔️ <a id="user-content-r0s13" href="#r0s13">test/stateful_provider_test.dart</a> ###  <a id="user-content-r0s13" href="#r0s13">test/stateful_provider_test.dart</a>
``` ```
✔️ asserts asserts
✔️ works with MultiProvider works with MultiProvider
✔️ calls create only once calls create only once
✔️ dispose dispose
``` ```
### ✔️ <a id="user-content-r0s14" href="#r0s14">test/stream_provider_test.dart</a> ###  <a id="user-content-r0s14" href="#r0s14">test/stream_provider_test.dart</a>
``` ```
✔️ works with MultiProvider works with MultiProvider
✔️ transition from stream to stream preserve state transition from stream to stream preserve state
✔️ throws if stream has error and catchError is missing throws if stream has error and catchError is missing
✔️ calls catchError if present and stream has error calls catchError if present and stream has error
✔️ works with null works with null
✔️ StreamProvider() crashes if builder is null StreamProvider() crashes if builder is null
StreamProvider() StreamProvider()
✔️ create and dispose stream with builder create and dispose stream with builder
✔️ crashes if builder is null crashes if builder is null
``` ```
### ❌ <a id="user-content-r0s15" href="#r0s15">test/value_listenable_provider_test.dart</a> ### ❌ <a id="user-content-r0s15" href="#r0s15">test/value_listenable_provider_test.dart</a>
``` ```
valueListenableProvider valueListenableProvider
✔️ rebuilds when value change rebuilds when value change
✔️ don't rebuild dependents by default don't rebuild dependents by default
✔️ pass keys pass keys
✔️ don't listen again if stream instance doesn't change don't listen again if stream instance doesn't change
❌ pass updateShouldNotify ❌ pass updateShouldNotify
The following TestFailure object was thrown running a test: The following TestFailure object was thrown running a test:
Expected: <2> Expected: <2>

View file

@ -3,10 +3,10 @@
**2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped. **2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1✖️|116ms| |[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1|116ms|
### ❌ <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a> ### ❌ <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a>
``` ```
✖️ testVersionStrings testVersionStrings
❌ testVersionStrings ❌ testVersionStrings
java.lang.AssertionError: expected [1.2.1] but found [1.2.0] java.lang.AssertionError: expected [1.2.1] but found [1.2.0]
``` ```

File diff suppressed because it is too large Load diff

View file

@ -1,136 +1,136 @@
![Tests passed successfully](https://img.shields.io/badge/tests-67%20passed%2C%2012%20skipped-success) ![Tests passed successfully](https://img.shields.io/badge/tests-67%20passed%2C%2012%20skipped-success)
## ✔️ <a id="user-content-r0" href="#r0">fixtures/external/SilentNotes.trx</a> ##  <a id="user-content-r0" href="#r0">fixtures/external/SilentNotes.trx</a>
**79** tests were completed in **1s** with **67** passed, **0** failed and **12** skipped. **79** tests were completed in **1s** with **67** passed, **0** failed and **12** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6✔️|||30ms| |[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6|||30ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2✔️||3✖|101ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2✅||3⚪|101ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4✔️||3✖|166ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4✅||3⚪|166ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2✔️|||7ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2|||7ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1✔️||3✖|40ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1✅||3⚪|40ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1✔️||3✖|15ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1✅||3⚪|15ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5✔️|||16ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5|||16ms|
|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9✔️|||0ms| |[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9|||0ms|
|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3✔️|||3ms| |[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3|||3ms|
|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9✔️|||12ms| |[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9|||12ms|
|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5✔️|||13ms| |[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5|||13ms|
|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7✔️|||0ms| |[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7|||0ms|
|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13✔️|||43ms| |[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13|||43ms|
### ✔️ <a id="user-content-r0s0" href="#r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a> ###  <a id="user-content-r0s0" href="#r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a>
``` ```
✔️ AreEqualWorksWithDifferentPassword AreEqualWorksWithDifferentPassword
✔️ AreEqualWorksWithSameContent AreEqualWorksWithSameContent
✔️ CorrectlyConvertsSecureStringToString CorrectlyConvertsSecureStringToString
✔️ CorrectlyConvertsStringToSecureString CorrectlyConvertsStringToSecureString
✔️ ValidateAcceptsValidCredentials ValidateAcceptsValidCredentials
✔️ ValidateRejectsInvalidCredentials ValidateRejectsInvalidCredentials
``` ```
### ✔️ <a id="user-content-r0s1" href="#r0s1">VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest</a> ###  <a id="user-content-r0s1" href="#r0s1">VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks FileLifecycleWorks
✖️ ReallyDoFetchToken ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken ReallyDoRefreshToken
✔️ ThrowsAccessDeniedExceptionWithInvalidToken ThrowsAccessDeniedExceptionWithInvalidToken
``` ```
### ✔️ <a id="user-content-r0s2" href="#r0s2">VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest</a> ###  <a id="user-content-r0s2" href="#r0s2">VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks FileLifecycleWorks
✔️ SanitizeCredentials_ChangesInvalidPrefix SanitizeCredentials_ChangesInvalidPrefix
✔️ SecureSslConnectionWorks SecureSslConnectionWorks
✔️ ThrowsWithHttpInsteadOfFtp ThrowsWithHttpInsteadOfFtp
✖️ ThrowsWithInvalidPassword ThrowsWithInvalidPassword
✖️ ThrowsWithInvalidUrl ThrowsWithInvalidUrl
✖️ ThrowsWithInvalidUsername ThrowsWithInvalidUsername
``` ```
### ✔️ <a id="user-content-r0s3" href="#r0s3">VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest</a> ###  <a id="user-content-r0s3" href="#r0s3">VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest</a>
``` ```
✔️ ChoosesCorrectUrlForGmxComEmail ChoosesCorrectUrlForGmxComEmail
✔️ ChoosesCorrectUrlForGmxNetEmail ChoosesCorrectUrlForGmxNetEmail
``` ```
### ✔️ <a id="user-content-r0s4" href="#r0s4">VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest</a> ###  <a id="user-content-r0s4" href="#r0s4">VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks FileLifecycleWorks
✖️ ReallyDoFetchToken ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken ReallyDoRefreshToken
``` ```
### ✔️ <a id="user-content-r0s5" href="#r0s5">VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest</a> ###  <a id="user-content-r0s5" href="#r0s5">VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks FileLifecycleWorks
✖️ ReallyDoFetchToken ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken ReallyDoRefreshToken
``` ```
### ✔️ <a id="user-content-r0s6" href="#r0s6">VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest</a> ###  <a id="user-content-r0s6" href="#r0s6">VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks FileLifecycleWorks
✔️ ParseGmxWebdavResponseCorrectly ParseGmxWebdavResponseCorrectly
✔️ ParseStratoWebdavResponseCorrectly ParseStratoWebdavResponseCorrectly
✔️ ThrowsWithInvalidPath ThrowsWithInvalidPath
✔️ ThrowsWithInvalidUsername ThrowsWithInvalidUsername
``` ```
### ✔️ <a id="user-content-r0s7" href="#r0s7">VanillaCloudStorageClientTest.CloudStorageTokenTest</a> ###  <a id="user-content-r0s7" href="#r0s7">VanillaCloudStorageClientTest.CloudStorageTokenTest</a>
``` ```
✔️ AreEqualWorksWithNullDate AreEqualWorksWithNullDate
✔️ AreEqualWorksWithSameContent AreEqualWorksWithSameContent
✔️ NeedsRefreshReturnsFalseForTokenFlow NeedsRefreshReturnsFalseForTokenFlow
✔️ NeedsRefreshReturnsFalseIfNotExpired NeedsRefreshReturnsFalseIfNotExpired
✔️ NeedsRefreshReturnsTrueIfExpired NeedsRefreshReturnsTrueIfExpired
✔️ NeedsRefreshReturnsTrueIfNoExpirationDate NeedsRefreshReturnsTrueIfNoExpirationDate
✔️ SetExpiryDateBySecondsWorks SetExpiryDateBySecondsWorks
✔️ SetExpiryDateBySecondsWorksWithNull SetExpiryDateBySecondsWorksWithNull
✔️ SetExpiryDateBySecondsWorksWithVeryShortPeriod SetExpiryDateBySecondsWorksWithVeryShortPeriod
``` ```
### ✔️ <a id="user-content-r0s8" href="#r0s8">VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest</a> ###  <a id="user-content-r0s8" href="#r0s8">VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest</a>
``` ```
✔️ ParsesAllErrorCodesCorrectly ParsesAllErrorCodesCorrectly
✔️ ParsesNullErrorCodeCorrectly ParsesNullErrorCodeCorrectly
✔️ ParsesUnknownErrorCodeCorrectly ParsesUnknownErrorCodeCorrectly
``` ```
### ✔️ <a id="user-content-r0s9" href="#r0s9">VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest</a> ###  <a id="user-content-r0s9" href="#r0s9">VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest</a>
``` ```
✔️ BuildAuthorizationRequestUrlEscapesParameters BuildAuthorizationRequestUrlEscapesParameters
✔️ BuildAuthorizationRequestUrlLeavesOutOptionalParameters BuildAuthorizationRequestUrlLeavesOutOptionalParameters
✔️ BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow
✔️ BuildAuthorizationRequestUrlUsesAllParameters BuildAuthorizationRequestUrlUsesAllParameters
✔️ BuildAuthorizationRequestUrlUsesCodeVerifier BuildAuthorizationRequestUrlUsesCodeVerifier
✔️ ParseRealWorldDropboxRejectResponse ParseRealWorldDropboxRejectResponse
✔️ ParseRealWorldDropboxSuccessResponse ParseRealWorldDropboxSuccessResponse
✔️ ParseRealWorldGoogleRejectResponse ParseRealWorldGoogleRejectResponse
✔️ ParseRealWorldGoogleSuccessResponse ParseRealWorldGoogleSuccessResponse
``` ```
### ✔️ <a id="user-content-r0s10" href="#r0s10">VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest</a> ###  <a id="user-content-r0s10" href="#r0s10">VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest</a>
``` ```
✔️ BuildOAuth2AuthorizationRequestUrlWorks BuildOAuth2AuthorizationRequestUrlWorks
✔️ FetchTokenCanInterpretGoogleResponse FetchTokenCanInterpretGoogleResponse
✔️ FetchTokenReturnsNullForDeniedAccess FetchTokenReturnsNullForDeniedAccess
✔️ FetchTokenThrowsWithWrongState FetchTokenThrowsWithWrongState
✔️ RefreshTokenCanInterpretGoogleResponse RefreshTokenCanInterpretGoogleResponse
``` ```
### ✔️ <a id="user-content-r0s11" href="#r0s11">VanillaCloudStorageClientTest.SecureStringExtensionsTest</a> ###  <a id="user-content-r0s11" href="#r0s11">VanillaCloudStorageClientTest.SecureStringExtensionsTest</a>
``` ```
✔️ AreEqualsWorksCorrectly AreEqualsWorksCorrectly
✔️ CorrectlyConvertsSecureStringToString CorrectlyConvertsSecureStringToString
✔️ CorrectlyConvertsSecureStringToUnicodeBytes CorrectlyConvertsSecureStringToUnicodeBytes
✔️ CorrectlyConvertsSecureStringToUtf8Bytes CorrectlyConvertsSecureStringToUtf8Bytes
✔️ CorrectlyConvertsStringToSecureString CorrectlyConvertsStringToSecureString
✔️ CorrectlyConvertsUnicodeBytesToSecureString CorrectlyConvertsUnicodeBytesToSecureString
✔️ CorrectlyConvertsUtf8BytesToSecureString CorrectlyConvertsUtf8BytesToSecureString
``` ```
### ✔️ <a id="user-content-r0s12" href="#r0s12">VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest</a> ###  <a id="user-content-r0s12" href="#r0s12">VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest</a>
``` ```
✔️ DecryptAfterDesrializationCanReadAllPropertiesBack DecryptAfterDesrializationCanReadAllPropertiesBack
✔️ DecryptAfterDesrializationRespectsNullProperties DecryptAfterDesrializationRespectsNullProperties
✔️ EncryptBeforeSerializationProtectsAllNecessaryProperties EncryptBeforeSerializationProtectsAllNecessaryProperties
✔️ EncryptBeforeSerializationRespectsNullProperties EncryptBeforeSerializationRespectsNullProperties
✔️ SerializedDatacontractCanBeReadBack SerializedDatacontractCanBeReadBack
✔️ SerializedDatacontractDoesNotContainNullProperties SerializedDatacontractDoesNotContainNullProperties
✔️ SerializedDatacontractDoesNotContainPlaintextData SerializedDatacontractDoesNotContainPlaintextData
✔️ SerializedJsonCanBeReadBack SerializedJsonCanBeReadBack
✔️ SerializedJsonDoesNotContainNullProperties SerializedJsonDoesNotContainNullProperties
✔️ SerializedJsonDoesNotContainPlaintextData SerializedJsonDoesNotContainPlaintextData
✔️ SerializedXmlCanBeReadBack SerializedXmlCanBeReadBack
✔️ SerializedXmlDoesNotContainNullProperties SerializedXmlDoesNotContainNullProperties
✔️ SerializedXmlDoesNotContainPlaintextData SerializedXmlDoesNotContainPlaintextData
``` ```

View file

@ -86,7 +86,7 @@ outputs:
time: time:
description: Test execution time [ms] description: Test execution time [ms]
runs: runs:
using: 'node12' using: 'node16'
main: 'dist/index.js' main: 'dist/index.js'
branding: branding:
color: blue color: blue

109
dist/index.js generated vendored
View file

@ -1,4 +1,4 @@
require('./sourcemap-register.js');/******/ (() => { // webpackBootstrap /******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({ /******/ var __webpack_modules__ = ({
/***/ 7171: /***/ 7171:
@ -1801,42 +1801,6 @@ class TestCaseResult {
exports.TestCaseResult = TestCaseResult; exports.TestCaseResult = TestCaseResult;
/***/ }),
/***/ 6069:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
const exec_1 = __nccwpck_require__(1514);
// Wraps original exec() function
// Returns exit code and whole stdout/stderr
function exec(commandLine, args, options) {
return __awaiter(this, void 0, void 0, function* () {
options = options || {};
let stdout = '';
let stderr = '';
options.listeners = {
stdout: (data) => (stdout += data.toString()),
stderr: (data) => (stderr += data.toString())
};
const code = yield (0, exec_1.exec)(commandLine, args, options);
return { code, stdout, stderr };
});
}
exports["default"] = exec;
/***/ }), /***/ }),
/***/ 9844: /***/ 9844:
@ -1876,19 +1840,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next()); step((generator = generator.apply(thisArg, _arguments || [])).next());
}); });
}; };
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.listFiles = void 0; exports.listFiles = void 0;
const core = __importStar(__nccwpck_require__(2186)); const core = __importStar(__nccwpck_require__(2186));
const exec_1 = __importDefault(__nccwpck_require__(6069)); const exec_1 = __nccwpck_require__(1514);
function listFiles() { function listFiles() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
core.startGroup('Listing all files tracked by git'); core.startGroup('Listing all files tracked by git');
let output = ''; let output = '';
try { try {
output = (yield (0, exec_1.default)('git', ['ls-files', '-z'])).stdout; output = (yield (0, exec_1.getExecOutput)('git', ['ls-files', '-z'])).stdout;
} }
finally { finally {
fixStdOutNullTermination(); fixStdOutNullTermination();
@ -2075,8 +2036,8 @@ var Align;
Align["None"] = "---"; Align["None"] = "---";
})(Align = exports.Align || (exports.Align = {})); })(Align = exports.Align || (exports.Align = {}));
exports.Icon = { exports.Icon = {
skip: '✖️', skip: '',
success: '✔️', success: '',
fail: '❌' // ':x:' fail: '❌' // ':x:'
}; };
function link(title, address) { function link(title, address) {
@ -2397,7 +2358,6 @@ const file_command_1 = __nccwpck_require__(717);
const utils_1 = __nccwpck_require__(5278); const utils_1 = __nccwpck_require__(5278);
const os = __importStar(__nccwpck_require__(2037)); const os = __importStar(__nccwpck_require__(2037));
const path = __importStar(__nccwpck_require__(1017)); const path = __importStar(__nccwpck_require__(1017));
const uuid_1 = __nccwpck_require__(5840);
const oidc_utils_1 = __nccwpck_require__(8041); const oidc_utils_1 = __nccwpck_require__(8041);
/** /**
* The code to exit an action * The code to exit an action
@ -2427,20 +2387,9 @@ function exportVariable(name, val) {
process.env[name] = convertedVal; process.env[name] = convertedVal;
const filePath = process.env['GITHUB_ENV'] || ''; const filePath = process.env['GITHUB_ENV'] || '';
if (filePath) { if (filePath) {
const delimiter = `ghadelimiter_${uuid_1.v4()}`; return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));
// These should realistically never happen, but just in case someone finds a way to exploit uuid generation let's not allow keys or values that contain the delimiter.
if (name.includes(delimiter)) {
throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
}
if (convertedVal.includes(delimiter)) {
throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
}
const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;
file_command_1.issueCommand('ENV', commandValue);
}
else {
command_1.issueCommand('set-env', { name }, convertedVal);
} }
command_1.issueCommand('set-env', { name }, convertedVal);
} }
exports.exportVariable = exportVariable; exports.exportVariable = exportVariable;
/** /**
@ -2458,7 +2407,7 @@ exports.setSecret = setSecret;
function addPath(inputPath) { function addPath(inputPath) {
const filePath = process.env['GITHUB_PATH'] || ''; const filePath = process.env['GITHUB_PATH'] || '';
if (filePath) { if (filePath) {
file_command_1.issueCommand('PATH', inputPath); file_command_1.issueFileCommand('PATH', inputPath);
} }
else { else {
command_1.issueCommand('add-path', {}, inputPath); command_1.issueCommand('add-path', {}, inputPath);
@ -2498,7 +2447,10 @@ function getMultilineInput(name, options) {
const inputs = getInput(name, options) const inputs = getInput(name, options)
.split('\n') .split('\n')
.filter(x => x !== ''); .filter(x => x !== '');
return inputs; if (options && options.trimWhitespace === false) {
return inputs;
}
return inputs.map(input => input.trim());
} }
exports.getMultilineInput = getMultilineInput; exports.getMultilineInput = getMultilineInput;
/** /**
@ -2531,8 +2483,12 @@ exports.getBooleanInput = getBooleanInput;
*/ */
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
function setOutput(name, value) { function setOutput(name, value) {
const filePath = process.env['GITHUB_OUTPUT'] || '';
if (filePath) {
return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));
}
process.stdout.write(os.EOL); process.stdout.write(os.EOL);
command_1.issueCommand('set-output', { name }, value); command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));
} }
exports.setOutput = setOutput; exports.setOutput = setOutput;
/** /**
@ -2661,7 +2617,11 @@ exports.group = group;
*/ */
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
function saveState(name, value) { function saveState(name, value) {
command_1.issueCommand('save-state', { name }, value); const filePath = process.env['GITHUB_STATE'] || '';
if (filePath) {
return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));
}
command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));
} }
exports.saveState = saveState; exports.saveState = saveState;
/** /**
@ -2727,13 +2687,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
return result; return result;
}; };
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.issueCommand = void 0; exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
// We use any as a valid input type // We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-explicit-any */
const fs = __importStar(__nccwpck_require__(7147)); const fs = __importStar(__nccwpck_require__(7147));
const os = __importStar(__nccwpck_require__(2037)); const os = __importStar(__nccwpck_require__(2037));
const uuid_1 = __nccwpck_require__(5840);
const utils_1 = __nccwpck_require__(5278); const utils_1 = __nccwpck_require__(5278);
function issueCommand(command, message) { function issueFileCommand(command, message) {
const filePath = process.env[`GITHUB_${command}`]; const filePath = process.env[`GITHUB_${command}`];
if (!filePath) { if (!filePath) {
throw new Error(`Unable to find environment variable for file command ${command}`); throw new Error(`Unable to find environment variable for file command ${command}`);
@ -2745,7 +2706,22 @@ function issueCommand(command, message) {
encoding: 'utf8' encoding: 'utf8'
}); });
} }
exports.issueCommand = issueCommand; exports.issueFileCommand = issueFileCommand;
function prepareKeyValueMessage(key, value) {
const delimiter = `ghadelimiter_${uuid_1.v4()}`;
const convertedValue = utils_1.toCommandValue(value);
// These should realistically never happen, but just in case someone finds a
// way to exploit uuid generation let's not allow keys or values that contain
// the delimiter.
if (key.includes(delimiter)) {
throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
}
if (convertedValue.includes(delimiter)) {
throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
}
return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
}
exports.prepareKeyValueMessage = prepareKeyValueMessage;
//# sourceMappingURL=file-command.js.map //# sourceMappingURL=file-command.js.map
/***/ }), /***/ }),
@ -37621,5 +37597,4 @@ module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"]
/******/ module.exports = __webpack_exports__; /******/ module.exports = __webpack_exports__;
/******/ /******/
/******/ })() /******/ })()
; ;
//# sourceMappingURL=index.js.map

1
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

52
package-lock.json generated
View file

@ -9,8 +9,8 @@
"version": "0.0.0", "version": "0.0.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/core": "^1.2.6", "@actions/core": "^1.10.0",
"@actions/exec": "^1.0.4", "@actions/exec": "^1.1.1",
"@actions/github": "^5.0.3", "@actions/github": "^5.0.3",
"adm-zip": "^0.5.3", "adm-zip": "^0.5.3",
"fast-glob": "^3.2.5", "fast-glob": "^3.2.5",
@ -31,6 +31,7 @@
"@typescript-eslint/eslint-plugin": "^5.33.1", "@typescript-eslint/eslint-plugin": "^5.33.1",
"@typescript-eslint/parser": "^5.33.1", "@typescript-eslint/parser": "^5.33.1",
"@vercel/ncc": "^0.34.0", "@vercel/ncc": "^0.34.0",
"eol-converter-cli": "^1.0.8",
"eslint": "^8.22.0", "eslint": "^8.22.0",
"eslint-import-resolver-typescript": "^3.4.2", "eslint-import-resolver-typescript": "^3.4.2",
"eslint-plugin-github": "^4.1.2", "eslint-plugin-github": "^4.1.2",
@ -46,9 +47,9 @@
} }
}, },
"node_modules/@actions/core": { "node_modules/@actions/core": {
"version": "1.9.1", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
"integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
"dependencies": { "dependencies": {
"@actions/http-client": "^2.0.1", "@actions/http-client": "^2.0.1",
"uuid": "^8.3.2" "uuid": "^8.3.2"
@ -2748,6 +2749,25 @@
"node": ">=10.13.0" "node": ">=10.13.0"
} }
}, },
"node_modules/eol": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz",
"integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==",
"dev": true
},
"node_modules/eol-converter-cli": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/eol-converter-cli/-/eol-converter-cli-1.0.8.tgz",
"integrity": "sha512-+N4aWl2eAbcJBgcXiPBIkPuKUlpXGts5yPEYo0XnbaKHOqcnPuMOBUqXlwl+139V866iEXUziVOGDebR7z8Tzg==",
"dev": true,
"dependencies": {
"eol": "^0.9.1",
"glob": "^7.1.2"
},
"bin": {
"eolConverter": "src/index.js"
}
},
"node_modules/error-ex": { "node_modules/error-ex": {
"version": "1.3.2", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@ -6757,9 +6777,9 @@
}, },
"dependencies": { "dependencies": {
"@actions/core": { "@actions/core": {
"version": "1.9.1", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz", "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
"integrity": "sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA==", "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
"requires": { "requires": {
"@actions/http-client": "^2.0.1", "@actions/http-client": "^2.0.1",
"uuid": "^8.3.2" "uuid": "^8.3.2"
@ -8879,6 +8899,22 @@
"tapable": "^2.2.0" "tapable": "^2.2.0"
} }
}, },
"eol": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz",
"integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==",
"dev": true
},
"eol-converter-cli": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/eol-converter-cli/-/eol-converter-cli-1.0.8.tgz",
"integrity": "sha512-+N4aWl2eAbcJBgcXiPBIkPuKUlpXGts5yPEYo0XnbaKHOqcnPuMOBUqXlwl+139V866iEXUziVOGDebR7z8Tzg==",
"dev": true,
"requires": {
"eol": "^0.9.1",
"glob": "^7.1.2"
}
},
"error-ex": { "error-ex": {
"version": "1.3.2", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",

View file

@ -9,7 +9,7 @@
"format": "prettier --write **/*.ts", "format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts", "format-check": "prettier --check **/*.ts",
"lint": "eslint src/**/*.ts", "lint": "eslint src/**/*.ts",
"package": "ncc build --source-map --license licenses.txt", "package": "ncc build --license licenses.txt && eolConverter lf dist/*",
"test": "jest --ci --reporters=default --reporters=jest-junit", "test": "jest --ci --reporters=default --reporters=jest-junit",
"all": "npm run build && npm run format && npm run lint && npm run package && npm test", "all": "npm run build && npm run format && npm run lint && npm run package && npm test",
"dart-fixture": "cd \"reports/dart\" && dart test --file-reporter=\"json:../../__tests__/fixtures/dart-json.json\"", "dart-fixture": "cd \"reports/dart\" && dart test --file-reporter=\"json:../../__tests__/fixtures/dart-json.json\"",
@ -30,8 +30,8 @@
"author": "Michal Dorner <dorner.michal@gmail.com>", "author": "Michal Dorner <dorner.michal@gmail.com>",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/core": "^1.2.6", "@actions/core": "^1.10.0",
"@actions/exec": "^1.0.4", "@actions/exec": "^1.1.1",
"@actions/github": "^5.0.3", "@actions/github": "^5.0.3",
"adm-zip": "^0.5.3", "adm-zip": "^0.5.3",
"fast-glob": "^3.2.5", "fast-glob": "^3.2.5",
@ -52,6 +52,7 @@
"@typescript-eslint/eslint-plugin": "^5.33.1", "@typescript-eslint/eslint-plugin": "^5.33.1",
"@typescript-eslint/parser": "^5.33.1", "@typescript-eslint/parser": "^5.33.1",
"@vercel/ncc": "^0.34.0", "@vercel/ncc": "^0.34.0",
"eol-converter-cli": "^1.0.8",
"eslint": "^8.22.0", "eslint": "^8.22.0",
"eslint-import-resolver-typescript": "^3.4.2", "eslint-import-resolver-typescript": "^3.4.2",
"eslint-plugin-github": "^4.1.2", "eslint-plugin-github": "^4.1.2",

View file

@ -1,21 +0,0 @@
import {exec as execImpl, ExecOptions} from '@actions/exec'
// Wraps original exec() function
// Returns exit code and whole stdout/stderr
export default async function exec(commandLine: string, args?: string[], options?: ExecOptions): Promise<ExecResult> {
options = options || {}
let stdout = ''
let stderr = ''
options.listeners = {
stdout: (data: Buffer) => (stdout += data.toString()),
stderr: (data: Buffer) => (stderr += data.toString())
}
const code = await execImpl(commandLine, args, options)
return {code, stdout, stderr}
}
export interface ExecResult {
code: number
stdout: string
stderr: string
}

View file

@ -1,11 +1,11 @@
import * as core from '@actions/core' import * as core from '@actions/core'
import exec from './exec' import {getExecOutput} from '@actions/exec'
export async function listFiles(): Promise<string[]> { export async function listFiles(): Promise<string[]> {
core.startGroup('Listing all files tracked by git') core.startGroup('Listing all files tracked by git')
let output = '' let output = ''
try { try {
output = (await exec('git', ['ls-files', '-z'])).stdout output = (await getExecOutput('git', ['ls-files', '-z'])).stdout
} finally { } finally {
fixStdOutNullTermination() fixStdOutNullTermination()
core.endGroup() core.endGroup()

View file

@ -6,8 +6,8 @@ export enum Align {
} }
export const Icon = { export const Icon = {
skip: '✖️', // ':heavy_multiplication_x:' skip: '⚪', // ':white_circle:'
success: '✔️', // ':heavy_check_mark:' success: '✅', // ':white_check_mark:'
fail: '❌' // ':x:' fail: '❌' // ':x:'
} }