Home / File/ ReactFlushSyncNoAggregateError-test.js — react Source File

ReactFlushSyncNoAggregateError-test.js — react Source File

Architecture documentation for ReactFlushSyncNoAggregateError-test.js, a javascript file in the react codebase.

Entity Profile

Source Code

let React;
let ReactDOM;
let ReactDOMClient;
let Scheduler;
let act;
let assertLog;

let overrideQueueMicrotask;
let flushFakeMicrotasks;

// TODO: Migrate tests to React DOM instead of React Noop

describe('ReactFlushSync (AggregateError not available)', () => {
  beforeEach(() => {
    jest.resetModules();

    global.AggregateError = undefined;

    // When AggregateError is not available, the errors are rethrown in a
    // microtask. This is an implementation detail but we want to test it here
    // so override the global one.
    const originalQueueMicrotask = queueMicrotask;
    overrideQueueMicrotask = false;
    const fakeMicrotaskQueue = [];
    global.queueMicrotask = cb => {
      if (overrideQueueMicrotask) {
        fakeMicrotaskQueue.push(cb);
      } else {
        originalQueueMicrotask(cb);
      }
    };
    flushFakeMicrotasks = () => {
      while (fakeMicrotaskQueue.length > 0) {
        const cb = fakeMicrotaskQueue.shift();
        cb();
      }
    };

    React = require('react');
    ReactDOM = require('react-dom');
    ReactDOMClient = require('react-dom/client');
    Scheduler = require('scheduler');
    act = require('internal-test-utils').act;

    const InternalTestUtils = require('internal-test-utils');
    assertLog = InternalTestUtils.assertLog;
  });

  function Text({text}) {
    Scheduler.log(text);
    return text;
  }

  function getVisibleChildren(element: Element): React$Node {
    const children = [];
    let node: any = element.firstChild;
    while (node) {
      if (node.nodeType === 1) {
        if (
          ((node.tagName !== 'SCRIPT' && node.tagName !== 'script') ||
// ... (88 more lines)

Frequently Asked Questions

What does ReactFlushSyncNoAggregateError-test.js do?
ReactFlushSyncNoAggregateError-test.js is a source file in the react codebase, written in javascript.
Where is ReactFlushSyncNoAggregateError-test.js in the architecture?
ReactFlushSyncNoAggregateError-test.js is located at packages/react-reconciler/src/__tests__/ReactFlushSyncNoAggregateError-test.js (directory: packages/react-reconciler/src/__tests__).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free