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.  * @jest-environment ./scripts/jest/ReactDOMServerIntegrationEnvironment
    
  9.  */
    
  10. 
    
  11. 'use strict';
    
  12. 
    
  13. const ReactDOMServerIntegrationUtils = require('./utils/ReactDOMServerIntegrationTestUtils');
    
  14. 
    
  15. let React;
    
  16. let ReactDOM;
    
  17. let ReactDOMServer;
    
  18. let ReactTestUtils;
    
  19. 
    
  20. function initModules() {
    
  21.   // Reset warning cache.
    
  22.   jest.resetModules();
    
  23.   React = require('react');
    
  24.   ReactDOM = require('react-dom');
    
  25.   ReactDOMServer = require('react-dom/server');
    
  26.   ReactTestUtils = require('react-dom/test-utils');
    
  27. 
    
  28.   // Make them available to the helpers.
    
  29.   return {
    
  30.     ReactDOM,
    
  31.     ReactDOMServer,
    
  32.     ReactTestUtils,
    
  33.   };
    
  34. }
    
  35. 
    
  36. const {resetModules, itRenders} = ReactDOMServerIntegrationUtils(initModules);
    
  37. 
    
  38. describe('ReactDOMServerIntegrationProgress', () => {
    
  39.   beforeEach(() => {
    
  40.     resetModules();
    
  41.   });
    
  42. 
    
  43.   itRenders('a progress in an indeterminate state', async render => {
    
  44.     // Regression test for https://github.com/facebook/react/issues/6119
    
  45.     const e = await render(<progress value={null} />);
    
  46.     expect(e.hasAttribute('value')).toBe(false);
    
  47.     const e2 = await render(<progress value={50} />);
    
  48.     expect(e2.getAttribute('value')).toBe('50');
    
  49.   });
    
  50. });