mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2025-05-23 14:24:46 +00:00
.
This commit is contained in:
parent
beb1329f9f
commit
2b95e76931
7736 changed files with 1874747 additions and 51184 deletions
247
node_modules/jest-circus/build/eventHandler.js
generated
vendored
Normal file
247
node_modules/jest-circus/build/eventHandler.js
generated
vendored
Normal file
|
@ -0,0 +1,247 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var _types = require('./types');
|
||||
|
||||
var _utils = require('./utils');
|
||||
|
||||
var _globalErrorHandlers = require('./globalErrorHandlers');
|
||||
|
||||
var Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;
|
||||
var Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;
|
||||
var jestNow = global[Symbol.for('jest-native-now')] || global.Date.now;
|
||||
|
||||
const eventHandler = (event, state) => {
|
||||
switch (event.name) {
|
||||
case 'include_test_location_in_result': {
|
||||
state.includeTestLocationInResult = true;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'hook_start': {
|
||||
break;
|
||||
}
|
||||
|
||||
case 'start_describe_definition': {
|
||||
const blockName = event.blockName,
|
||||
mode = event.mode;
|
||||
const currentDescribeBlock = state.currentDescribeBlock;
|
||||
const describeBlock = (0, _utils.makeDescribe)(
|
||||
blockName,
|
||||
currentDescribeBlock,
|
||||
mode
|
||||
);
|
||||
currentDescribeBlock.children.push(describeBlock);
|
||||
state.currentDescribeBlock = describeBlock;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'finish_describe_definition': {
|
||||
const currentDescribeBlock = state.currentDescribeBlock;
|
||||
(0, _utils.invariant)(
|
||||
currentDescribeBlock,
|
||||
`currentDescribeBlock must be there`
|
||||
);
|
||||
|
||||
if (!(0, _utils.describeBlockHasTests)(currentDescribeBlock)) {
|
||||
currentDescribeBlock.hooks.forEach(hook => {
|
||||
hook.asyncError.message = `Invalid: ${
|
||||
hook.type
|
||||
}() may not be used in a describe block containing no tests.`;
|
||||
state.unhandledErrors.push(hook.asyncError);
|
||||
});
|
||||
} // inherit mode from its parent describe but
|
||||
// do not inherit "only" mode when there is already tests with "only" mode
|
||||
|
||||
const shouldInheritMode = !(
|
||||
currentDescribeBlock.mode === 'only' &&
|
||||
currentDescribeBlock.tests.find(test => test.mode === 'only')
|
||||
);
|
||||
|
||||
if (shouldInheritMode) {
|
||||
currentDescribeBlock.tests.forEach(test => {
|
||||
if (!test.mode) {
|
||||
test.mode = currentDescribeBlock.mode;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (
|
||||
!state.hasFocusedTests &&
|
||||
currentDescribeBlock.tests.some(test => test.mode === 'only')
|
||||
) {
|
||||
state.hasFocusedTests = true;
|
||||
}
|
||||
|
||||
if (currentDescribeBlock.parent) {
|
||||
state.currentDescribeBlock = currentDescribeBlock.parent;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'add_hook': {
|
||||
const currentDescribeBlock = state.currentDescribeBlock;
|
||||
const asyncError = event.asyncError,
|
||||
fn = event.fn,
|
||||
type = event.hookType,
|
||||
timeout = event.timeout;
|
||||
const parent = currentDescribeBlock;
|
||||
currentDescribeBlock.hooks.push({
|
||||
asyncError,
|
||||
fn,
|
||||
parent,
|
||||
timeout,
|
||||
type
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
case 'add_test': {
|
||||
const currentDescribeBlock = state.currentDescribeBlock;
|
||||
const asyncError = event.asyncError,
|
||||
fn = event.fn,
|
||||
mode = event.mode,
|
||||
name = event.testName,
|
||||
timeout = event.timeout;
|
||||
const test = (0, _utils.makeTest)(
|
||||
fn,
|
||||
mode,
|
||||
name,
|
||||
currentDescribeBlock,
|
||||
timeout,
|
||||
asyncError
|
||||
);
|
||||
|
||||
if (test.mode === 'only') {
|
||||
state.hasFocusedTests = true;
|
||||
}
|
||||
|
||||
currentDescribeBlock.tests.push(test);
|
||||
break;
|
||||
}
|
||||
|
||||
case 'hook_failure': {
|
||||
const test = event.test,
|
||||
describeBlock = event.describeBlock,
|
||||
error = event.error,
|
||||
hook = event.hook;
|
||||
const asyncError = hook.asyncError,
|
||||
type = hook.type;
|
||||
|
||||
if (type === 'beforeAll') {
|
||||
(0, _utils.invariant)(describeBlock, 'always present for `*All` hooks');
|
||||
(0, _utils.addErrorToEachTestUnderDescribe)(
|
||||
describeBlock,
|
||||
error,
|
||||
asyncError
|
||||
);
|
||||
} else if (type === 'afterAll') {
|
||||
// Attaching `afterAll` errors to each test makes execution flow
|
||||
// too complicated, so we'll consider them to be global.
|
||||
state.unhandledErrors.push([error, asyncError]);
|
||||
} else {
|
||||
(0, _utils.invariant)(test, 'always present for `*Each` hooks');
|
||||
test.errors.push([error, asyncError]);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'test_skip': {
|
||||
event.test.status = 'skip';
|
||||
break;
|
||||
}
|
||||
|
||||
case 'test_todo': {
|
||||
event.test.status = 'todo';
|
||||
break;
|
||||
}
|
||||
|
||||
case 'test_done': {
|
||||
event.test.duration = (0, _utils.getTestDuration)(event.test);
|
||||
event.test.status = 'done';
|
||||
state.currentlyRunningTest = null;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'test_start': {
|
||||
state.currentlyRunningTest = event.test;
|
||||
event.test.startedAt = jestNow();
|
||||
event.test.invocations += 1;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'test_fn_failure': {
|
||||
const error = event.error,
|
||||
asyncError = event.test.asyncError;
|
||||
event.test.errors.push([error, asyncError]);
|
||||
break;
|
||||
}
|
||||
|
||||
case 'test_retry': {
|
||||
event.test.errors = [];
|
||||
break;
|
||||
}
|
||||
|
||||
case 'run_start': {
|
||||
global[_types.TEST_TIMEOUT_SYMBOL] &&
|
||||
(state.testTimeout = global[_types.TEST_TIMEOUT_SYMBOL]);
|
||||
break;
|
||||
}
|
||||
|
||||
case 'run_finish': {
|
||||
break;
|
||||
}
|
||||
|
||||
case 'setup': {
|
||||
// Uncaught exception handlers should be defined on the parent process
|
||||
// object. If defined on the VM's process object they just no op and let
|
||||
// the parent process crash. It might make sense to return a `dispatch`
|
||||
// function to the parent process and register handlers there instead, but
|
||||
// i'm not sure if this is works. For now i just replicated whatever
|
||||
// jasmine was doing -- dabramov
|
||||
state.parentProcess = event.parentProcess;
|
||||
(0, _utils.invariant)(state.parentProcess);
|
||||
state.originalGlobalErrorHandlers = (0,
|
||||
_globalErrorHandlers.injectGlobalErrorHandlers)(state.parentProcess);
|
||||
|
||||
if (event.testNamePattern) {
|
||||
state.testNamePattern = new RegExp(event.testNamePattern, 'i');
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'teardown': {
|
||||
(0, _utils.invariant)(state.originalGlobalErrorHandlers);
|
||||
(0, _utils.invariant)(state.parentProcess);
|
||||
(0, _globalErrorHandlers.restoreGlobalErrorHandlers)(
|
||||
state.parentProcess,
|
||||
state.originalGlobalErrorHandlers
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
case 'error': {
|
||||
// It's very likely for long-running async tests to throw errors. In this
|
||||
// case we want to catch them and fail the current test. At the same time
|
||||
// there's a possibility that one test sets a long timeout, that will
|
||||
// eventually throw after this test finishes but during some other test
|
||||
// execution, which will result in one test's error failing another test.
|
||||
// In any way, it should be possible to track where the error was thrown
|
||||
// from.
|
||||
state.currentlyRunningTest
|
||||
? state.currentlyRunningTest.errors.push(event.error)
|
||||
: state.unhandledErrors.push(event.error);
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var _default = eventHandler;
|
||||
exports.default = _default;
|
Loading…
Add table
Add a link
Reference in a new issue