diff --git a/packages/react-noop-renderer/src/ReactNoop.js b/packages/react-noop-renderer/src/ReactNoop.js index b49705adbd736..9bea81ad4c1b6 100644 --- a/packages/react-noop-renderer/src/ReactNoop.js +++ b/packages/react-noop-renderer/src/ReactNoop.js @@ -20,6 +20,7 @@ import type {Fiber} from 'ReactFiber'; import type {UpdateQueue} from 'ReactFiberUpdateQueue'; +var ReactCoroutine = require('ReactCoroutine'); var ReactFeatureFlags = require('ReactFeatureFlags'); var ReactFiberInstrumentation = require('ReactFiberInstrumentation'); var ReactFiberReconciler = require('react-reconciler'); @@ -452,6 +453,10 @@ var ReactNoop = { flushSync: NoopRenderer.flushSync, + createCoroutine: ReactCoroutine.createCoroutine, + + createYield: ReactCoroutine.createYield, + // Logs the current state of the tree. dumpTree(rootID: string = DEFAULT_ROOT_ID) { const root = roots.get(rootID); diff --git a/packages/react-reconciler/src/__tests__/ReactCoroutine-test.js b/packages/react-reconciler/src/__tests__/ReactCoroutine-test.js index 310db4813f8d9..fcbd140b13293 100644 --- a/packages/react-reconciler/src/__tests__/ReactCoroutine-test.js +++ b/packages/react-reconciler/src/__tests__/ReactCoroutine-test.js @@ -11,15 +11,12 @@ var React; var ReactNoop; -var ReactCoroutine; describe('ReactCoroutine', () => { beforeEach(() => { jest.resetModules(); React = require('react'); ReactNoop = require('react-noop-renderer'); - // TODO: can we express this test with only public API? - ReactCoroutine = require('ReactCoroutine'); }); function div(...children) { @@ -43,7 +40,7 @@ describe('ReactCoroutine', () => { // yielding. E.g. Continuation.yieldType = 123; function Child({bar}) { ops.push(['Child', bar]); - return ReactCoroutine.createYield({ + return ReactNoop.createYield({ props: { bar: bar, }, @@ -67,11 +64,7 @@ describe('ReactCoroutine', () => { // yielding. E.g. Parent.handler = HandleYields; function Parent(props) { ops.push('Parent'); - return ReactCoroutine.createCoroutine( - props.children, - HandleYields, - props, - ); + return ReactNoop.createCoroutine(props.children, HandleYields, props); } function App() { @@ -104,7 +97,7 @@ describe('ReactCoroutine', () => { } function Child({bar}) { - return ReactCoroutine.createYield({ + return ReactNoop.createYield({ props: { bar: bar, }, @@ -123,11 +116,7 @@ describe('ReactCoroutine', () => { } function Parent(props) { - return ReactCoroutine.createCoroutine( - props.children, - HandleYields, - props, - ); + return ReactNoop.createCoroutine(props.children, HandleYields, props); } function App(props) { @@ -163,7 +152,7 @@ describe('ReactCoroutine', () => { class Child extends React.Component { render() { ops.push('Child'); - return ReactCoroutine.createYield(Continuation); + return ReactNoop.createYield(Continuation); } componentWillUnmount() { ops.push('Unmount Child'); @@ -180,7 +169,7 @@ describe('ReactCoroutine', () => { class Parent extends React.Component { render() { ops.push('Parent'); - return ReactCoroutine.createCoroutine( + return ReactNoop.createCoroutine( this.props.children, HandleYields, this.props, @@ -215,12 +204,12 @@ describe('ReactCoroutine', () => { state = {value: 5}; render() { instances[this.props.id] = this; - return ReactCoroutine.createYield(this.state.value); + return ReactNoop.createYield(this.state.value); } } function App(props) { - return ReactCoroutine.createCoroutine( + return ReactNoop.createCoroutine( [ , ,