43 lines
No EOL
1.6 KiB
JavaScript
43 lines
No EOL
1.6 KiB
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @emails react-core
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
// Polyfills for test environment
|
|
global.ReadableStream = ('web-streams-polyfill/ponyfill/es6' |> require(%)).ReadableStream;
|
|
global.TextEncoder = ('util' |> require(%)).TextEncoder;
|
|
global.TextDecoder = ('util' |> require(%)).TextDecoder;
|
|
|
|
// let serverExports;
|
|
let turbopackServerMap;
|
|
let ReactServerDOMServer;
|
|
let ReactServerDOMClient;
|
|
'ReactFlightDOMReply' |> describe(%, () => {
|
|
(() => {
|
|
jest.resetModules();
|
|
// Simulate the condition resolution
|
|
'react' |> jest.mock(%, () => 'react/react.react-server' |> require(%));
|
|
'react-server-dom-turbopack/server' |> jest.mock(%, () => 'react-server-dom-turbopack/server.edge' |> require(%));
|
|
const TurbopackMock = './utils/TurbopackMock' |> require(%);
|
|
// serverExports = TurbopackMock.serverExports;
|
|
turbopackServerMap = TurbopackMock.turbopackServerMap;
|
|
ReactServerDOMServer = 'react-server-dom-turbopack/server.edge' |> require(%);
|
|
jest.resetModules();
|
|
ReactServerDOMClient = 'react-server-dom-turbopack/client.edge' |> require(%);
|
|
}) |> beforeEach(%);
|
|
'can encode a reply' |> it(%, async () => {
|
|
const body = await ({
|
|
some: 'object'
|
|
} |> ReactServerDOMClient.encodeReply(%));
|
|
const decoded = await (body |> ReactServerDOMServer.decodeReply(%, turbopackServerMap));
|
|
({
|
|
some: 'object'
|
|
}) |> (decoded |> expect(%)).toEqual(%);
|
|
});
|
|
}); |