ReactClassComponentPropResolutionFizz-test.js — react Source File
Architecture documentation for ReactClassComponentPropResolutionFizz-test.js, a javascript file in the react codebase. 4 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 57d042c3_03d5_3da4_d068_60e598cdee8c["ReactClassComponentPropResolutionFizz-test.js"] 7c063c03_f497_41b6_7547_aff9bc8a9af7["FizzTestUtils.js"] 57d042c3_03d5_3da4_d068_60e598cdee8c --> 7c063c03_f497_41b6_7547_aff9bc8a9af7 1ef1d603_31d5_1714_d957_3868b001227f["insertNodesAndExecuteScripts"] 57d042c3_03d5_3da4_d068_60e598cdee8c --> 1ef1d603_31d5_1714_d957_3868b001227f b4b4ffa5_162b_c949_ece9_cc2ed4d878d7["patchMessageChannel.js"] 57d042c3_03d5_3da4_d068_60e598cdee8c --> b4b4ffa5_162b_c949_ece9_cc2ed4d878d7 5a4bf3d5_e4a3_b336_6db6_6c30351e37f2["patchMessageChannel"] 57d042c3_03d5_3da4_d068_60e598cdee8c --> 5a4bf3d5_e4a3_b336_6db6_6c30351e37f2 style 57d042c3_03d5_3da4_d068_60e598cdee8c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
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
*/
'use strict';
import {insertNodesAndExecuteScripts} from '../test-utils/FizzTestUtils';
import {patchMessageChannel} from '../../../../scripts/jest/patchMessageChannel';
// Polyfills for test environment
global.ReadableStream =
require('web-streams-polyfill/ponyfill/es6').ReadableStream;
global.TextEncoder = require('util').TextEncoder;
let React;
let ReactDOMServer;
let Scheduler;
let assertLog;
let container;
let serverAct;
describe('ReactClassComponentPropResolutionFizz', () => {
beforeEach(() => {
jest.resetModules();
Scheduler = require('scheduler');
patchMessageChannel();
React = require('react');
ReactDOMServer = require('react-dom/server.browser');
assertLog = require('internal-test-utils').assertLog;
serverAct = require('internal-test-utils').serverAct;
container = document.createElement('div');
document.body.appendChild(container);
});
afterEach(() => {
document.body.removeChild(container);
});
async function readIntoContainer(stream) {
const reader = stream.getReader();
let result = '';
while (true) {
const {done, value} = await reader.read();
if (done) {
break;
}
result += Buffer.from(value).toString('utf8');
}
const temp = document.createElement('div');
temp.innerHTML = result;
insertNodesAndExecuteScripts(temp, container, null);
}
function Text({text}) {
Scheduler.log(text);
return text;
}
it('resolves ref and default props before calling lifecycle methods', async () => {
function getPropKeys(props) {
return Object.keys(props).join(', ');
}
class Component extends React.Component {
constructor(props) {
super(props);
Scheduler.log('constructor: ' + getPropKeys(props));
}
UNSAFE_componentWillMount() {
Scheduler.log('componentWillMount: ' + getPropKeys(this.props));
}
render() {
return <Text text={'render: ' + getPropKeys(this.props)} />;
}
}
Component.defaultProps = {
default: 'yo',
};
// `ref` should never appear as a prop. `default` always should.
const ref = React.createRef();
const stream = await serverAct(() =>
ReactDOMServer.renderToReadableStream(<Component text="Yay" ref={ref} />),
);
await readIntoContainer(stream);
assertLog([
'constructor: text, default',
'componentWillMount: text, default',
'render: text, default',
]);
});
});
Domain
Subdomains
Classes
Source
Frequently Asked Questions
What does ReactClassComponentPropResolutionFizz-test.js do?
ReactClassComponentPropResolutionFizz-test.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What does ReactClassComponentPropResolutionFizz-test.js depend on?
ReactClassComponentPropResolutionFizz-test.js imports 4 module(s): FizzTestUtils.js, insertNodesAndExecuteScripts, patchMessageChannel, patchMessageChannel.js.
Where is ReactClassComponentPropResolutionFizz-test.js in the architecture?
ReactClassComponentPropResolutionFizz-test.js is located at packages/react-dom/src/__tests__/ReactClassComponentPropResolutionFizz-test.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-dom/src/__tests__).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free