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 {