From 67c618f7dfaf87aeea2d0c9a2e15e75d904d6cc7 Mon Sep 17 00:00:00 2001 From: eps1lon Date: Sat, 25 Mar 2023 12:32:55 +0100 Subject: [PATCH] [Flight] Add gated test for desired behavior for undefined props --- .../src/__tests__/ReactFlight-test.js | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/packages/react-client/src/__tests__/ReactFlight-test.js b/packages/react-client/src/__tests__/ReactFlight-test.js index 00d1fa99c668c..f1ddf0dcd2eaa 100644 --- a/packages/react-client/src/__tests__/ReactFlight-test.js +++ b/packages/react-client/src/__tests__/ReactFlight-test.js @@ -213,15 +213,25 @@ describe('ReactFlight', () => { expect(ReactNoop).toMatchRenderedOutput(null); }); - it('can transport undefined object values', async () => { - function ComponentClient(props) { + // @gate FIXME + it('should transport undefined object values', async () => { + function ServerComponent(props) { return 'prop' in props ? `\`prop\` in props as '${props.prop}'` : '`prop` not in props'; } - const Component = clientReference(ComponentClient); + const ClientComponent = clientReference(ServerComponent); - const model = ; + const model = ( + <> +
+ Server: +
+
+ Client: +
+ + ); const transport = ReactNoopFlightServer.render(model); @@ -229,7 +239,12 @@ describe('ReactFlight', () => { ReactNoop.render(await ReactNoopFlightClient.read(transport)); }); - expect(ReactNoop).toMatchRenderedOutput("`prop` in props as 'undefined'"); + expect(ReactNoop).toMatchRenderedOutput( + <> +
Server: `prop` in props as 'undefined'
+
Client: `prop` in props as 'undefined'
+ , + ); }); it('can render an empty fragment', async () => {