1. /**
    
  2.  * Copyright (c) Meta Platforms, Inc. and affiliates.
    
  3.  *
    
  4.  * This source code is licensed under the MIT license found in the
    
  5.  * LICENSE file in the root directory of this source tree.
    
  6.  *
    
  7.  * @emails react-core
    
  8.  */
    
  9. 
    
  10. 'use strict';
    
  11. 
    
  12. // Polyfills for test environment
    
  13. global.ReadableStream =
    
  14.   require('web-streams-polyfill/ponyfill/es6').ReadableStream;
    
  15. global.TextEncoder = require('util').TextEncoder;
    
  16. global.TextDecoder = require('util').TextDecoder;
    
  17. 
    
  18. // let serverExports;
    
  19. let turbopackServerMap;
    
  20. let ReactServerDOMServer;
    
  21. let ReactServerDOMClient;
    
  22. 
    
  23. describe('ReactFlightDOMReply', () => {
    
  24.   beforeEach(() => {
    
  25.     jest.resetModules();
    
  26.     // Simulate the condition resolution
    
  27.     jest.mock('react', () => require('react/react.shared-subset'));
    
  28.     jest.mock('react-server-dom-turbopack/server', () =>
    
  29.       require('react-server-dom-turbopack/server.edge'),
    
  30.     );
    
  31.     const TurbopackMock = require('./utils/TurbopackMock');
    
  32.     // serverExports = TurbopackMock.serverExports;
    
  33.     turbopackServerMap = TurbopackMock.turbopackServerMap;
    
  34.     ReactServerDOMServer = require('react-server-dom-turbopack/server.edge');
    
  35.     jest.resetModules();
    
  36.     ReactServerDOMClient = require('react-server-dom-turbopack/client.edge');
    
  37.   });
    
  38. 
    
  39.   it('can encode a reply', async () => {
    
  40.     const body = await ReactServerDOMClient.encodeReply({some: 'object'});
    
  41.     const decoded = await ReactServerDOMServer.decodeReply(
    
  42.       body,
    
  43.       turbopackServerMap,
    
  44.     );
    
  45. 
    
  46.     expect(decoded).toEqual({some: 'object'});
    
  47.   });
    
  48. });