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