/** * 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'; const React = require('react'); const ReactDOM = require('react-dom'); const ReactDOMClient = require('react-dom/client'); const assertConsoleErrorDev = require('internal-test-utils').assertConsoleErrorDev; function expectWarnings(tags, warnings = [], withoutStack = 0) { tags = [...tags]; warnings = [...warnings]; document.removeChild(document.documentElement); document.appendChild(document.createElement('html')); document.documentElement.innerHTML = '
'; let element = null; const containerTag = tags.shift(); let container; switch (containerTag) { case '#document': container = document; break; case 'html': container = document.documentElement; break; case 'body': container = document.body; break; case 'head': container = document.head; break; case 'svg': container = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); break; default: container = document.createElement(containerTag); break; } while (tags.length) { const Tag = tags.pop(); if (Tag === '#text') { element = 'text'; } else { element =