in packages/shared/__test_utils__/Recoil_TestingUtils.js [333:382]
function runTests({
strictMode,
concurrentMode,
}: {
strictMode: boolean,
concurrentMode: boolean,
}) {
test.each([
...[...gks, ...additionalGKs].map(gksToTest => [
(!gksToTest.length
? testDescription
: `${testDescription} [${gksToTest.join(', ')}]`) +
(strictMode || concurrentMode
? ` [${[
strictMode ? 'StrictMode' : null,
concurrentMode ? 'ConcurrentMode' : null,
]
.filter(x => x != null)
.join(', ')}]`
: ''),
gksToTest,
]),
])('%s', async (_title, gksToTest) => {
jest.resetModules();
const gkx = require('recoil-shared/util/Recoil_gkx');
gkx.clear(); // @oss-only
const {
setStrictMode,
setConcurrentMode,
} = require('./Recoil_ReactRenderModes');
// Setup test environment
setStrictMode(strictMode);
setConcurrentMode(concurrentMode);
// See: https://github.com/reactwg/react-18/discussions/102
const prevReactActEnvironment = global.IS_REACT_ACT_ENVIRONMENT;
global.IS_REACT_ACT_ENVIRONMENT = true;
gksToTest.forEach(gkx.setPass);
const after = reloadImports();
try {
await assertionsFn({gks: gksToTest, strictMode, concurrentMode});
} finally {
global.IS_REACT_ACT_ENVIRONMENT = prevReactActEnvironment;
gksToTest.forEach(gkx.setFail);
after?.();
setStrictMode(false);
setConcurrentMode(false);
}
});
}