@samitouri / QOS-React / commits / f57d963cce

Rewrote ReactIncrementalPerf-test using only public API.(#11299) (#11724)

* WIP:use public API * ReactPortal shifted to shared:all passed * wrote createPortal method for ReactNoop.(#11299) * imported ReactNodeList type into ReactNoop.(#11299) * createPortal method implemented.(#11299) * exec yarn prettier-all.(#11299)

abiduzz420 committed Nov 30, 2017 at 23:40 UTC f57d963ccea845e941f07e74c55920cd852dfc7b
7 files changed +15 -11
packages/react-dom/src/client/ReactDOM.js
+1 -1
@@ -21,7 +21,7 @@ import './ReactDOMClientInjection';
21
22 import ReactFiberReconciler from 'react-reconciler';
23 // TODO: direct imports like some-package/src/* are bad. Fix me.
24 -import * as ReactPortal from 'react-reconciler/src/ReactPortal';
24 +import * as ReactPortal from 'shared/ReactPortal';
25 import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
26 import * as ReactGenericBatching from 'events/ReactGenericBatching';
27 import * as ReactControlledComponent from 'events/ReactControlledComponent';
packages/react-native-renderer/src/ReactNativeRenderer.js
+1 -1
@@ -12,7 +12,7 @@ import type {ReactNodeList} from 'shared/ReactTypes';
12
13 import './ReactNativeInjection';
14
15 -import * as ReactPortal from 'react-reconciler/src/ReactPortal';
15 +import * as ReactPortal from 'shared/ReactPortal';
16 import * as ReactGenericBatching from 'events/ReactGenericBatching';
17 import TouchHistoryMath from 'events/TouchHistoryMath';
18 import * as ReactGlobalSharedState from 'shared/ReactGlobalSharedState';
packages/react-noop-renderer/src/ReactNoop.js
+10 -1
@@ -16,10 +16,11 @@
16
17 import type {Fiber} from 'react-reconciler/src/ReactFiber';
18 import type {UpdateQueue} from 'react-reconciler/src/ReactFiberUpdateQueue';
19 -
19 +import type {ReactNodeList} from 'shared/ReactTypes';
20 import ReactFiberReconciler from 'react-reconciler';
21 import {enablePersistentReconciler} from 'shared/ReactFeatureFlags';
22 import * as ReactInstanceMap from 'shared/ReactInstanceMap';
23 +import * as ReactPortal from 'shared/ReactPortal';
24 import emptyObject from 'fbjs/lib/emptyObject';
25 import expect from 'expect';
26
@@ -318,6 +319,14 @@ var ReactNoop = {
319 }
320 },
321
322 + createPortal(
323 + children: ReactNodeList,
324 + container: Container,
325 + key: ?string = null,
326 + ) {
327 + return ReactPortal.createPortal(children, container, null, key);
328 + },
329 +
330 // Shortcut for testing a single root
331 render(element: React$Element<any>, callback: ?Function) {
332 ReactNoop.renderToRootWithID(element, DEFAULT_ROOT_ID, callback);
packages/react-reconciler/src/__tests__/ReactIncrementalPerf-test.internal.js
+1 -6
@@ -13,7 +13,6 @@ describe('ReactDebugFiberPerf', () => {
13 let React;
14 let ReactCallReturn;
15 let ReactNoop;
16 - let ReactPortal;
16 let PropTypes;
17
18 let root;
@@ -121,8 +120,6 @@ describe('ReactDebugFiberPerf', () => {
120 React = require('react');
121 ReactNoop = require('react-noop-renderer');
122 ReactCallReturn = require('react-call-return');
124 - // TODO: can we express this test with only public API?
125 - ReactPortal = require('../ReactPortal');
123 PropTypes = require('prop-types');
124 });
125
@@ -514,9 +511,7 @@ describe('ReactDebugFiberPerf', () => {
511 it('supports portals', () => {
512 const noopContainer = {children: []};
513 ReactNoop.render(
517 - <Parent>
518 - {ReactPortal.createPortal(<Child />, noopContainer, null)}
519 - </Parent>,
514 + <Parent>{ReactNoop.createPortal(<Child />, noopContainer, null)}</Parent>,
515 );
516 ReactNoop.flush();
517 expect(getFlameChart()).toMatchSnapshot();
packages/react-reconciler/src/__tests__/ReactPersistent-test.internal.js
+1 -1
@@ -24,7 +24,7 @@ describe('ReactPersistent', () => {
24
25 React = require('react');
26 ReactNoop = require('react-noop-renderer');
27 - ReactPortal = require('../ReactPortal');
27 + ReactPortal = require('shared/ReactPortal');
28 });
29
30 const DEFAULT_ROOT_ID = 'persistent-test';
packages/react-rt-renderer/src/ReactNativeRT.js
+1 -1
@@ -19,7 +19,7 @@ import type {ReactNodeList} from 'shared/ReactTypes';
19 import 'InitializeCore';
20 import './ReactNativeRTEventEmitter';
21
22 -import * as ReactPortal from 'react-reconciler/src/ReactPortal';
22 +import * as ReactPortal from 'shared/ReactPortal';
23 import * as ReactGenericBatching from 'events/ReactGenericBatching';
24 import ReactVersion from 'shared/ReactVersion';
25
packages/shared/ReactPortal.js renamed