useSyncExternalStoreNative-test.js — react Source File
Architecture documentation for useSyncExternalStoreNative-test.js, a javascript file in the react codebase.
Entity Profile
Source Code
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @emails react-core
*
* @jest-environment node
*/
'use strict';
let React;
let ReactNoop;
let Scheduler;
let useSyncExternalStore;
let useSyncExternalStoreWithSelector;
let act;
let assertLog;
// This tests the userspace shim of `useSyncExternalStore` in a server-rendering
// (Node) environment
describe('useSyncExternalStore (userspace shim, server rendering)', () => {
beforeEach(() => {
jest.resetModules();
// Remove useSyncExternalStore from the React imports so that we use the
// shim instead. Also removing startTransition, since we use that to detect
// outdated 18 alphas that don't yet include useSyncExternalStore.
//
// Longer term, we'll probably test this branch using an actual build of
// React 17.
jest.mock('react', () => {
const {
startTransition: _,
useSyncExternalStore: __,
...otherExports
} = jest.requireActual('react');
return otherExports;
});
jest.mock('use-sync-external-store/shim', () =>
jest.requireActual('use-sync-external-store/shim/index.native'),
);
React = require('react');
ReactNoop = require('react-noop-renderer');
Scheduler = require('scheduler');
act = require('internal-test-utils').act;
const InternalTestUtils = require('internal-test-utils');
assertLog = InternalTestUtils.assertLog;
if (gate(flags => flags.source)) {
// The `shim/with-selector` module composes the main
// `use-sync-external-store` entrypoint. In the compiled artifacts, this
// is resolved to the `shim` implementation by our build config, but when
// running the tests against the source files, we need to tell Jest how to
// resolve it. Because this is a source module, this mock has no affect on
// ... (123 more lines)
Source
Frequently Asked Questions
What does useSyncExternalStoreNative-test.js do?
useSyncExternalStoreNative-test.js is a source file in the react codebase, written in javascript.
Where is useSyncExternalStoreNative-test.js in the architecture?
useSyncExternalStoreNative-test.js is located at packages/use-sync-external-store/src/__tests__/useSyncExternalStoreNative-test.js (directory: packages/use-sync-external-store/src/__tests__).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free