diff --git a/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js b/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js index 9ea8b8ad72..c8bc7783d2 100644 --- a/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js +++ b/packages/react-dom/src/events/__tests__/DOMEventResponderSystem-test.internal.js @@ -12,6 +12,7 @@ let React; let ReactFeatureFlags; let ReactDOM; +let ReactTestRenderer; // FIXME: What should the public API be for setting an event's priority? Right // now it's an enum but is that what we want? Hard coding this for now. @@ -80,6 +81,18 @@ describe('DOMEventResponderSystem', () => { container = null; }); + it('can mount and render correctly with the ReactTestRenderer', () => { + jest.resetModules(); + ReactFeatureFlags = require('shared/ReactFeatureFlags'); + ReactFeatureFlags.enableFlareAPI = true; + ReactTestRenderer = require('react-test-renderer'); + const TestResponder = createEventResponder({}); + const renderer = ReactTestRenderer.create( +
}>Hello world
, + ); + expect(renderer).toMatchRenderedOutput(
Hello world
); + }); + it('the event responders should fire on click event', () => { let eventResponderFiredCount = 0; let eventLog = []; diff --git a/packages/react-test-renderer/src/ReactTestHostConfig.js b/packages/react-test-renderer/src/ReactTestHostConfig.js index 4a3bf967b4..a392fcfa2e 100644 --- a/packages/react-test-renderer/src/ReactTestHostConfig.js +++ b/packages/react-test-renderer/src/ReactTestHostConfig.js @@ -140,9 +140,19 @@ export function createInstance( hostContext: Object, internalInstanceHandle: Object, ): Instance { + let propsToUse = props; + if (enableFlareAPI) { + if (props.responders != null) { + // We want to remove the "responders" prop + // as we don't want it into the test renderer instance's + // props object. + const {responders, ...otherProps} = props; // eslint-disable-line + propsToUse = otherProps; + } + } return { type, - props, + props: propsToUse, isHidden: false, children: [], rootContainerInstance, @@ -288,13 +298,13 @@ export function mountResponderInstance( instance: Instance, rootContainerInstance: Container, ) { - throw new Error('Not yet implemented.'); + // noop } export function unmountResponderInstance( responderInstance: ReactEventResponderInstance, ): void { - throw new Error('Not yet implemented.'); + // noop } export function getFundamentalComponentInstance(fundamentalInstance): Instance {